Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
IFSelect_Transformer Class Referenceabstract

A Transformer defines the way an InterfaceModel is transformed (without sending it to a file). In order to work, each type of Transformer defines it method Perform, it can be parametred as needed. More...

#include <IFSelect_Transformer.hxx>

Inheritance diagram for IFSelect_Transformer:
Inheritance graph
[legend]

Public Member Functions

virtual bool Perform (const Interface_Graph &G, const occ::handle< Interface_Protocol > &protocol, Interface_CheckIterator &checks, occ::handle< Interface_InterfaceModel > &newmod)=0
 Performs a Transformation (defined by each sub-class) : <G> gives the input data (especially the starting model) and can be used for queries (by Selections, etc...) <protocol> allows to work with General Services as necessary (it applies to input data) If the change corresponds to a conversion to a new protocol, see also the method ChangeProtocol <checks> stores produced checks messages if any <newmod> gives the result of the transformation :
 
virtual bool ChangeProtocol (occ::handle< Interface_Protocol > &newproto) const
 This methods allows to declare that the Protocol applied to the new Model has changed. It applies to the last call to Perform.
 
virtual bool Updated (const occ::handle< Standard_Transient > &entfrom, occ::handle< Standard_Transient > &entto) const =0
 This method allows to know what happened to a starting entity after the last Perform. If <entfrom> (from starting model) has one and only one known item which corresponds in the new produced model, this method must return True and fill the argument <entto>. Else, it returns False.
 
virtual TCollection_AsciiString Label () const =0
 Returns a text which defines the way a Transformer works (to identify the transformation it performs)
 
- 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 ()=default
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
bool IsInstance (const char *const theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
bool 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.
 
bool IsKind (const char *const 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.
 
int GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
 
int DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

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

A Transformer defines the way an InterfaceModel is transformed (without sending it to a file). In order to work, each type of Transformer defines it method Perform, it can be parametred as needed.

It receives a Model (the data set) as input. It then can :

Member Function Documentation

◆ ChangeProtocol()

virtual bool IFSelect_Transformer::ChangeProtocol ( occ::handle< Interface_Protocol > & newproto) const
virtual

This methods allows to declare that the Protocol applied to the new Model has changed. It applies to the last call to Perform.

Returns True if the Protocol has changed, False else. The provided default keeps the starting Protocol. This method should be redefined as required by the effect of Perform.

◆ Label()

virtual TCollection_AsciiString IFSelect_Transformer::Label ( ) const
pure virtual

Returns a text which defines the way a Transformer works (to identify the transformation it performs)

Implemented in IGESSelect_SplineToBSpline, and IFSelect_TransformStandard.

◆ Perform()

virtual bool IFSelect_Transformer::Perform ( const Interface_Graph & G,
const occ::handle< Interface_Protocol > & protocol,
Interface_CheckIterator & checks,
occ::handle< Interface_InterfaceModel > & newmod )
pure virtual

Performs a Transformation (defined by each sub-class) : <G> gives the input data (especially the starting model) and can be used for queries (by Selections, etc...) <protocol> allows to work with General Services as necessary (it applies to input data) If the change corresponds to a conversion to a new protocol, see also the method ChangeProtocol <checks> stores produced checks messages if any <newmod> gives the result of the transformation :

  • if it is Null (i.e. has not been affected), the transformation has been made on the spot, it is assumed to cause no change to the graph of dependences
  • if it equates the starting Model, it has been transformed on the spot (possibly some entities were replaced inside it)
  • if it is new, it corresponds to a new data set which replaces the starting one

<me> is mutable to allow results for ChangeProtocol to be memorized if needed, and to store information useful for the method Updated

Returns True if Done, False if an Error occurred: in this case, if a new data set has been produced, the transformation is ignored, else data may be corrupted.

Implemented in IGESSelect_SplineToBSpline, and IFSelect_TransformStandard.

◆ Updated()

virtual bool IFSelect_Transformer::Updated ( const occ::handle< Standard_Transient > & entfrom,
occ::handle< Standard_Transient > & entto ) const
pure virtual

This method allows to know what happened to a starting entity after the last Perform. If <entfrom> (from starting model) has one and only one known item which corresponds in the new produced model, this method must return True and fill the argument <entto>. Else, it returns False.

Implemented in IGESSelect_SplineToBSpline, and IFSelect_TransformStandard.


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