![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
Defines basic File Access Module, under the control of IGESReaderTool for Reading and IGESWriter for Writing : Specific actions concern : Read and Write Own Parameters of an IGESEntity. The common parts (Directory Entry, Lists of Associativities and Properties) are processed by IGESReaderTool & IGESWriter. More...
#include <IGESData_ReadWriteModule.hxx>

Public Member Functions | |
| int | CaseNum (const occ::handle< Interface_FileReaderData > &data, const int num) const override |
| Translates the Type of record <num> in <data> to a positive Case Number, or 0 if failed. Works with IGESReaderData which provides Type & Form Numbers, and calls CaseIGES (see below) | |
| virtual int | CaseIGES (const int typenum, const int formnum) const =0 |
| Defines Case Numbers corresponding to the Entity Types taken into account by a sub-class of ReadWriteModule (hence, each sub-class of ReadWriteModule has to redefine this method) Called by CaseNum. Its result will then be used to call Read, etc ... | |
| void | Read (const int CN, const occ::handle< Interface_FileReaderData > &data, const int num, occ::handle< Interface_Check > &ach, const occ::handle< Standard_Transient > &ent) const override |
| General Read Function. See IGESReaderTool for more info. | |
| virtual void | ReadOwnParams (const int CN, const occ::handle< IGESData_IGESEntity > &ent, const occ::handle< IGESData_IGESReaderData > &IR, IGESData_ParamReader &PR) const =0 |
| Reads own parameters from file for an Entity; <PR> gives access to them, <IR> detains parameter types and values For each class, there must be a specific action provided Note that Properties and Associativities Lists are Read by specific methods (see below), they are called under control of reading process (only one call) according Stage recorded in ParamReader. | |
| virtual void | WriteOwnParams (const int CN, const occ::handle< IGESData_IGESEntity > &ent, IGESData_IGESWriter &IW) const =0 |
| Writes own parameters to IGESWriter; defined for each class (to be redefined for other IGES ReadWriteModules) Warning : Properties and Associativities are directly managed by WriteIGES, must not be sent by this method. | |
Public Member Functions inherited from Interface_ReaderModule | |
| virtual bool | NewRead (const int casenum, const occ::handle< Interface_FileReaderData > &data, const int num, occ::handle< Interface_Check > &ach, occ::handle< Standard_Transient > &ent) const |
| Specific operator (create+read) defaulted to do nothing. It can be redefined when it is not possible to work in two steps (NewVoid then Read). This occurs when no default constructor is defined : hence the result <ent> must be created with an effective definition from the reader. Remark : if NewRead is defined, Copy has nothing to do. | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. | |
| Standard_Transient & | operator= (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_Transient * | This () 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 char * | get_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. | |
Defines basic File Access Module, under the control of IGESReaderTool for Reading and IGESWriter for Writing : Specific actions concern : Read and Write Own Parameters of an IGESEntity. The common parts (Directory Entry, Lists of Associativities and Properties) are processed by IGESReaderTool & IGESWriter.
Each sub-class of ReadWriteModule is used in conjunction with a sub-class of Protocol from IGESData and processes several types of IGESEntity (typically, them of a package) : The Protocol gives a unique positive integer Case Number for each type of IGESEntity it recognizes, the corresponding ReadWriteModule processes an Entity by using the Case Number to known what is to do On Reading, the general service NewVoid is used to create an IGES Entity the first time
Warning : Works with an IGESReaderData which stores "DE parts" of Items
|
pure virtual |
Defines Case Numbers corresponding to the Entity Types taken into account by a sub-class of ReadWriteModule (hence, each sub-class of ReadWriteModule has to redefine this method) Called by CaseNum. Its result will then be used to call Read, etc ...
Implemented in IGESAppli_ReadWriteModule, IGESBasic_ReadWriteModule, IGESDefs_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESGeom_ReadWriteModule, IGESGraph_ReadWriteModule, and IGESSolid_ReadWriteModule.
|
overridevirtual |
Translates the Type of record <num> in <data> to a positive Case Number, or 0 if failed. Works with IGESReaderData which provides Type & Form Numbers, and calls CaseIGES (see below)
Implements Interface_ReaderModule.
|
overridevirtual |
General Read Function. See IGESReaderTool for more info.
Implements Interface_ReaderModule.
|
pure virtual |
Reads own parameters from file for an Entity; <PR> gives access to them, <IR> detains parameter types and values For each class, there must be a specific action provided Note that Properties and Associativities Lists are Read by specific methods (see below), they are called under control of reading process (only one call) according Stage recorded in ParamReader.
Implemented in IGESAppli_ReadWriteModule, IGESBasic_ReadWriteModule, IGESDefs_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESGeom_ReadWriteModule, IGESGraph_ReadWriteModule, and IGESSolid_ReadWriteModule.
|
pure virtual |
Writes own parameters to IGESWriter; defined for each class (to be redefined for other IGES ReadWriteModules) Warning : Properties and Associativities are directly managed by WriteIGES, must not be sent by this method.
Implemented in IGESAppli_ReadWriteModule, IGESBasic_ReadWriteModule, IGESDefs_ReadWriteModule, IGESDimen_ReadWriteModule, IGESDraw_ReadWriteModule, IGESGeom_ReadWriteModule, IGESGraph_ReadWriteModule, and IGESSolid_ReadWriteModule.