Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Public Types | Public Member Functions
DE_Provider Class Referenceabstract

Base class to make transfer process. Reads or Writes specialized CAD files into/from OCCT. Each operation needs the Configuration Node. More...

#include <DE_Provider.hxx>

Inheritance diagram for DE_Provider:
Inheritance graph
[legend]

Data Structures

struct  ReadStreamNode
 Node to store read stream information Contains relative path and reference to input stream. More...
 
struct  WriteStreamNode
 Node to store write stream information Contains relative path and reference to output stream. More...
 

Public Types

using WriteStreamList = NCollection_List<WriteStreamNode>
 List to store write stream nodes First element is the main stream, others are for internal referencing.
 
using ReadStreamList = NCollection_List<ReadStreamNode>
 List to store read stream nodes First element is the main stream, others are for internal referencing.
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 DE_Provider ()
 Default constructor Configure translation process with global configuration.
 
 DE_Provider (const occ::handle< DE_ConfigurationNode > &theNode)
 Configure translation process.
 
virtual bool Read (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a CAD file, according internal configuration.
 
virtual bool Write (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes a CAD file, according internal configuration.
 
virtual bool Read (ReadStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads streams according to internal configuration.
 
virtual bool Write (WriteStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes streams according to internal configuration.
 
virtual bool Read (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a CAD file, according internal configuration.
 
virtual bool Write (const TCollection_AsciiString &thePath, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes a CAD file, according internal configuration.
 
virtual bool Read (ReadStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads streams according to internal configuration.
 
virtual bool Write (WriteStreamList &theStreams, const occ::handle< TDocStd_Document > &theDocument, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes streams according to internal configuration.
 
virtual bool Read (const TCollection_AsciiString &thePath, TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a CAD file, according internal configuration.
 
virtual bool Write (const TCollection_AsciiString &thePath, const TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes a CAD file, according internal configuration.
 
virtual bool Read (ReadStreamList &theStreams, TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads streams according to internal configuration.
 
virtual bool Write (WriteStreamList &theStreams, const TopoDS_Shape &theShape, occ::handle< XSControl_WorkSession > &theWS, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes streams according to internal configuration.
 
virtual bool Read (const TCollection_AsciiString &thePath, TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads a CAD file, according internal configuration.
 
virtual bool Write (const TCollection_AsciiString &thePath, const TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes a CAD file, according internal configuration.
 
virtual bool Read (ReadStreamList &theStreams, TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Reads streams according to internal configuration.
 
virtual bool Write (WriteStreamList &theStreams, const TopoDS_Shape &theShape, const Message_ProgressRange &theProgress=Message_ProgressRange())
 Writes streams according to internal configuration.
 
virtual TCollection_AsciiString GetFormat () const =0
 Gets CAD format name of associated provider.
 
virtual TCollection_AsciiString GetVendor () const =0
 Gets provider's vendor name of associated provider.
 
occ::handle< DE_ConfigurationNodeGetNode () const
 Gets internal configuration node.
 
void SetNode (const occ::handle< DE_ConfigurationNode > &theNode)
 Sets internal configuration node.
 
- 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

- 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

Base class to make transfer process. Reads or Writes specialized CAD files into/from OCCT. Each operation needs the Configuration Node.

Providers are grouped by Vendor's name and Format type. The Vendor name is not defined by default. The Format type is not defined by default. The import process is not supported. The export process is not supported.

The algorithm for standalone transfer operation: 1) Create new empty Provider object 2) Configure the current object by special Configuration Node (SetNode) 3) Initiate the transfer process: 3.1) Call the required Read method (if Read methods are implemented) 3.2) Call the required Write method (if Write methods are implemented) 4) Validate the output values

Member Typedef Documentation

◆ ReadStreamList

List to store read stream nodes First element is the main stream, others are for internal referencing.

◆ WriteStreamList

List to store write stream nodes First element is the main stream, others are for internal referencing.

Constructor & Destructor Documentation

◆ DE_Provider() [1/2]

DE_Provider::DE_Provider ( )

Default constructor Configure translation process with global configuration.

◆ DE_Provider() [2/2]

DE_Provider::DE_Provider ( const occ::handle< DE_ConfigurationNode > & theNode)

Configure translation process.

Parameters
[in]theNodeobject to copy

Member Function Documentation

◆ GetFormat()

virtual TCollection_AsciiString DE_Provider::GetFormat ( ) const
pure virtual

Gets CAD format name of associated provider.

Returns
provider CAD format

Implemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ GetNode()

occ::handle< DE_ConfigurationNode > DE_Provider::GetNode ( ) const
inline

Gets internal configuration node.

Returns
configuration node object

◆ GetVendor()

virtual TCollection_AsciiString DE_Provider::GetVendor ( ) const
pure virtual

Gets provider's vendor name of associated provider.

Returns
provider's vendor name

Implemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [1/8]

virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
const occ::handle< TDocStd_Document > & theDocument,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads a CAD file, according internal configuration.

Parameters
[in]thePathpath to the import CAD file
[out]theDocumentdocument to save result
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [2/8]

virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
const occ::handle< TDocStd_Document > & theDocument,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads a CAD file, according internal configuration.

Parameters
[in]thePathpath to the import CAD file
[out]theDocumentdocument to save result
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [3/8]

virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
TopoDS_Shape & theShape,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads a CAD file, according internal configuration.

Parameters
[in]thePathpath to the import CAD file
[out]theShapeshape to save result
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [4/8]

virtual bool DE_Provider::Read ( const TCollection_AsciiString & thePath,
TopoDS_Shape & theShape,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads a CAD file, according internal configuration.

Parameters
[in]thePathpath to the import CAD file
[out]theShapeshape to save result
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [5/8]

virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
const occ::handle< TDocStd_Document > & theDocument,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads streams according to internal configuration.

Parameters
[in]theStreamsstreams to read from
[out]theDocumentdocument to save result
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [6/8]

virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
const occ::handle< TDocStd_Document > & theDocument,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads streams according to internal configuration.

Parameters
[in]theStreamsstreams to read from
[out]theDocumentdocument to save result
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [7/8]

virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
TopoDS_Shape & theShape,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads streams according to internal configuration.

Parameters
[in]theStreamsstreams to read from
[out]theShapeshape to save result
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Read() [8/8]

virtual bool DE_Provider::Read ( ReadStreamList & theStreams,
TopoDS_Shape & theShape,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Reads streams according to internal configuration.

Parameters
[in]theStreamsstreams to read from
[out]theShapeshape to save result
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Read was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ SetNode()

void DE_Provider::SetNode ( const occ::handle< DE_ConfigurationNode > & theNode)
inline

Sets internal configuration node.

Parameters
[in]theNodeconfiguration node to set

◆ Write() [1/8]

virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
const occ::handle< TDocStd_Document > & theDocument,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes a CAD file, according internal configuration.

Parameters
[in]thePathpath to the export CAD file
[out]theDocumentdocument to export
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [2/8]

virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
const occ::handle< TDocStd_Document > & theDocument,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes a CAD file, according internal configuration.

Parameters
[in]thePathpath to the export CAD file
[out]theDocumentdocument to export
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [3/8]

virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
const TopoDS_Shape & theShape,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes a CAD file, according internal configuration.

Parameters
[in]thePathpath to the export CAD file
[out]theShapeshape to export
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [4/8]

virtual bool DE_Provider::Write ( const TCollection_AsciiString & thePath,
const TopoDS_Shape & theShape,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes a CAD file, according internal configuration.

Parameters
[in]thePathpath to the export CAD file
[out]theShapeshape to export
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DEBREP_Provider, DEXCAF_Provider, DEGLTF_Provider, DEIGES_Provider, DEOBJ_Provider, DEPLY_Provider, DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [5/8]

virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
const occ::handle< TDocStd_Document > & theDocument,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes streams according to internal configuration.

Parameters
[in]theStreamsstreams to write to
[out]theDocumentdocument to export
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [6/8]

virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
const occ::handle< TDocStd_Document > & theDocument,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes streams according to internal configuration.

Parameters
[in]theStreamsstreams to write to
[out]theDocumentdocument to export
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [7/8]

virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
const TopoDS_Shape & theShape,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes streams according to internal configuration.

Parameters
[in]theStreamsstreams to write to
[out]theShapeshape to export
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.

◆ Write() [8/8]

virtual bool DE_Provider::Write ( WriteStreamList & theStreams,
const TopoDS_Shape & theShape,
occ::handle< XSControl_WorkSession > & theWS,
const Message_ProgressRange & theProgress = Message_ProgressRange() )
virtual

Writes streams according to internal configuration.

Parameters
[in]theStreamsstreams to write to
[out]theShapeshape to export
[in]theWScurrent work session
[in]theProgressprogress indicator
Returns
True if Write was successful

Reimplemented in DESTEP_Provider, DESTL_Provider, and DEVRML_Provider.


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