Open CASCADE Technology 7.8.0
Public Member Functions | Protected Member Functions
STEPControl_ActorRead Class Reference

This class performs the transfer of an Entity from AP214 and AP203, either Geometric or Topologic. More...

#include <STEPControl_ActorRead.hxx>

Inheritance diagram for STEPControl_ActorRead:
Inheritance graph
[legend]

Public Member Functions

 STEPControl_ActorRead (const Handle< Interface_InterfaceModel > &theModel)
 
virtual Standard_Boolean Recognize (const Handle< Standard_Transient > &start) override
 Prerequesite for Transfer : the method Transfer is called on a starting object only if Recognize has returned True on it This allows to define a list of Actors, each one processing a definite kind of data TransferProcess calls Recognize on each one before calling Transfer. But even if Recognize has returned True, Transfer can reject by returning a Null Binder (afterwards rejection), the next actor is then invoked.
 
virtual Handle< Transfer_BinderTransfer (const Handle< Standard_Transient > &start, const Handle< Transfer_TransientProcess > &TP, const Message_ProgressRange &theProgress=Message_ProgressRange()) override
 
Handle< Transfer_BinderTransferShape (const Handle< Standard_Transient > &start, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Standard_Boolean isManifold=Standard_True, const Standard_Boolean theUseTrsf=Standard_False, const Message_ProgressRange &theProgress=Message_ProgressRange())
 theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape
 
void PrepareUnits (const Handle< StepRepr_Representation > &rep, const Handle< Transfer_TransientProcess > &TP, StepData_Factors &theLocalFactors)
 set units and tolerances context by given ShapeRepresentation
 
void ResetUnits (Handle< StepData_StepModel > &theModel, StepData_Factors &theLocalFactors)
 reset units and tolerances context to default (mm, radians, read.precision.val, etc.)
 
void SetModel (const Handle< Interface_InterfaceModel > &theModel)
 Set model.
 
Standard_Boolean ComputeTransformation (const Handle< StepGeom_Axis2Placement3d > &Origin, const Handle< StepGeom_Axis2Placement3d > &Target, const Handle< StepRepr_Representation > &OrigContext, const Handle< StepRepr_Representation > &TargContext, const Handle< Transfer_TransientProcess > &TP, gp_Trsf &Trsf, const StepData_Factors &theLocalFactors)
 Computes transformation defined by two axis placements (in MAPPED_ITEM or ITEM_DEFINED_TRANSFORMATION) taking into account their representation contexts (i.e. units, which may be different) Returns True if transformation is computed and is not an identity.
 
Standard_Boolean ComputeSRRWT (const Handle< StepRepr_RepresentationRelationship > &SRR, const Handle< Transfer_TransientProcess > &TP, gp_Trsf &Trsf, const StepData_Factors &theLocalFactors)
 Computes transformation defined by given REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION.
 
- Public Member Functions inherited from Transfer_ActorOfTransientProcess
 Transfer_ActorOfTransientProcess ()
 
virtual Handle< Transfer_BinderTransferring (const Handle< Standard_Transient > &start, const Handle< Transfer_ProcessForTransient > &TP, const Message_ProgressRange &theProgress=Message_ProgressRange()) override
 Specific action of Transfer. The Result is stored in the returned Binder, or a Null Handle for "No result" (Default defined as doing nothing; should be deferred) "mutable" allows the Actor to record intermediate information, in addition to those of TransferProcess.
 
virtual Handle< Standard_TransientTransferTransient (const Handle< Standard_Transient > &start, const Handle< Transfer_TransientProcess > &TP, const Message_ProgressRange &theProgress=Message_ProgressRange())
 
- Public Member Functions inherited from Transfer_ActorOfProcessForTransient
 Transfer_ActorOfProcessForTransient ()
 
Handle< Transfer_SimpleBinderOfTransientTransientResult (const Handle< Standard_Transient > &res) const
 Prepares and Returns a Binder for a Transient Result Returns a Null Handle if <res> is itself Null.
 
Handle< Transfer_BinderNullResult () const
 Returns a Binder for No Result, i.e. a Null Handle.
 
void SetLast (const Standard_Boolean mode=Standard_True)
 If <mode> is True, commands an Actor to be set at the end of the list of Actors (see SetNext) If it is False (creation default), each add Actor is set at the beginning of the list This allows to define default Actors (which are Last)
 
Standard_Boolean IsLast () const
 Returns the Last status (see SetLast).
 
void SetNext (const Handle< Transfer_ActorOfProcessForTransient > &next)
 Defines a Next Actor : it can then be asked to work if <me> produces no result for a given type of Object. If Next is already set and is not "Last", calls SetNext on it. If Next defined and "Last", the new actor is added before it in the list.
 
Handle< Transfer_ActorOfProcessForTransientNext () const
 Returns the Actor defined as Next, or a Null Handle.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Protected Member Functions

Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepBasic_ProductDefinition > &PD, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Standard_Boolean theUseTrsf=Standard_False, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Transfers product definition entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepRepr_NextAssemblyUsageOccurrence > &NAUO, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Transfers next assembly usage occurrence entity.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepShape_ShapeRepresentation > &sr, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, Standard_Boolean &isBound, const Standard_Boolean theUseTrsf=Standard_False, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Transfers shape representation entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepShape_ContextDependentShapeRepresentation > &CDSR, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Transfers context dependent shape representation entity.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepRepr_ShapeRepresentationRelationship > &und, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Standard_Integer nbrep=0, const Standard_Boolean theUseTrsf=Standard_False, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Transfers shape representation relationship entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepGeom_GeometricRepresentationItem > &git, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Standard_Boolean isManifold, const Message_ProgressRange &theProgress)
 Transfers geometric representation item entity such as ManifoldSolidBRep ,...etc.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepRepr_MappedItem > &mapit, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Message_ProgressRange &theProgress)
 Transfers mapped item.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepShape_FaceSurface > &fs, const Handle< Transfer_TransientProcess > &TP, const StepData_Factors &theLocalFactors, const Message_ProgressRange &theProgress)
 Transfers FaceSurface entity.
 
Handle< TransferBRep_ShapeBinderTransferEntity (const Handle< StepRepr_ConstructiveGeometryRepresentationRelationship > &theCGRR, const Handle< Transfer_TransientProcess > &theTP, const StepData_Factors &theLocalFactors)
 
Handle< TransferBRep_ShapeBinderOldWay (const Handle< Standard_Transient > &start, const Handle< Transfer_TransientProcess > &TP, const Message_ProgressRange &theProgress)
 Translates file by old way when CDSR are roots . Acts only if "read.step.product_mode" is equal Off.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Detailed Description

This class performs the transfer of an Entity from AP214 and AP203, either Geometric or Topologic.

I.E. for each type of Entity, it invokes the appropriate Tool then returns the Binder which contains the Result

Constructor & Destructor Documentation

◆ STEPControl_ActorRead()

STEPControl_ActorRead::STEPControl_ActorRead ( const Handle< Interface_InterfaceModel > &  theModel)

Member Function Documentation

◆ ComputeSRRWT()

Standard_Boolean STEPControl_ActorRead::ComputeSRRWT ( const Handle< StepRepr_RepresentationRelationship > &  SRR,
const Handle< Transfer_TransientProcess > &  TP,
gp_Trsf Trsf,
const StepData_Factors theLocalFactors 
)

Computes transformation defined by given REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION.

◆ ComputeTransformation()

Standard_Boolean STEPControl_ActorRead::ComputeTransformation ( const Handle< StepGeom_Axis2Placement3d > &  Origin,
const Handle< StepGeom_Axis2Placement3d > &  Target,
const Handle< StepRepr_Representation > &  OrigContext,
const Handle< StepRepr_Representation > &  TargContext,
const Handle< Transfer_TransientProcess > &  TP,
gp_Trsf Trsf,
const StepData_Factors theLocalFactors 
)

Computes transformation defined by two axis placements (in MAPPED_ITEM or ITEM_DEFINED_TRANSFORMATION) taking into account their representation contexts (i.e. units, which may be different) Returns True if transformation is computed and is not an identity.

◆ OldWay()

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::OldWay ( const Handle< Standard_Transient > &  start,
const Handle< Transfer_TransientProcess > &  TP,
const Message_ProgressRange theProgress 
)
protected

Translates file by old way when CDSR are roots . Acts only if "read.step.product_mode" is equal Off.

◆ PrepareUnits()

void STEPControl_ActorRead::PrepareUnits ( const Handle< StepRepr_Representation > &  rep,
const Handle< Transfer_TransientProcess > &  TP,
StepData_Factors theLocalFactors 
)

set units and tolerances context by given ShapeRepresentation

◆ Recognize()

virtual Standard_Boolean STEPControl_ActorRead::Recognize ( const Handle< Standard_Transient > &  start)
overridevirtual

Prerequesite for Transfer : the method Transfer is called on a starting object only if Recognize has returned True on it This allows to define a list of Actors, each one processing a definite kind of data TransferProcess calls Recognize on each one before calling Transfer. But even if Recognize has returned True, Transfer can reject by returning a Null Binder (afterwards rejection), the next actor is then invoked.

The provided default returns True, can be redefined

Reimplemented from Transfer_ActorOfProcessForTransient.

◆ ResetUnits()

void STEPControl_ActorRead::ResetUnits ( Handle< StepData_StepModel > &  theModel,
StepData_Factors theLocalFactors 
)

reset units and tolerances context to default (mm, radians, read.precision.val, etc.)

◆ SetModel()

void STEPControl_ActorRead::SetModel ( const Handle< Interface_InterfaceModel > &  theModel)

Set model.

◆ Transfer()

virtual Handle< Transfer_Binder > STEPControl_ActorRead::Transfer ( const Handle< Standard_Transient > &  start,
const Handle< Transfer_TransientProcess > &  TP,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
overridevirtual

Reimplemented from Transfer_ActorOfTransientProcess.

◆ TransferEntity() [1/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepBasic_ProductDefinition > &  PD,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Standard_Boolean  theUseTrsf = Standard_False,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

Transfers product definition entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.

◆ TransferEntity() [2/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepGeom_GeometricRepresentationItem > &  git,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Standard_Boolean  isManifold,
const Message_ProgressRange theProgress 
)
protected

Transfers geometric representation item entity such as ManifoldSolidBRep ,...etc.

◆ TransferEntity() [3/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepRepr_ConstructiveGeometryRepresentationRelationship > &  theCGRR,
const Handle< Transfer_TransientProcess > &  theTP,
const StepData_Factors theLocalFactors 
)
protected

◆ TransferEntity() [4/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepRepr_MappedItem > &  mapit,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Message_ProgressRange theProgress 
)
protected

Transfers mapped item.

◆ TransferEntity() [5/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepRepr_NextAssemblyUsageOccurrence > &  NAUO,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

Transfers next assembly usage occurrence entity.

◆ TransferEntity() [6/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepRepr_ShapeRepresentationRelationship > &  und,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Standard_Integer  nbrep = 0,
const Standard_Boolean  theUseTrsf = Standard_False,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

Transfers shape representation relationship entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.

◆ TransferEntity() [7/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepShape_ContextDependentShapeRepresentation > &  CDSR,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

Transfers context dependent shape representation entity.

◆ TransferEntity() [8/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepShape_FaceSurface > &  fs,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Message_ProgressRange theProgress 
)
protected

Transfers FaceSurface entity.

◆ TransferEntity() [9/9]

Handle< TransferBRep_ShapeBinder > STEPControl_ActorRead::TransferEntity ( const Handle< StepShape_ShapeRepresentation > &  sr,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
Standard_Boolean isBound,
const Standard_Boolean  theUseTrsf = Standard_False,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)
protected

Transfers shape representation entity theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape.

◆ TransferShape()

Handle< Transfer_Binder > STEPControl_ActorRead::TransferShape ( const Handle< Standard_Transient > &  start,
const Handle< Transfer_TransientProcess > &  TP,
const StepData_Factors theLocalFactors,
const Standard_Boolean  isManifold = Standard_True,
const Standard_Boolean  theUseTrsf = Standard_False,
const Message_ProgressRange theProgress = Message_ProgressRange() 
)

theUseTrsf - special flag for using Axis2Placement from ShapeRepresentation for transform root shape


The documentation for this class was generated from the following file: