// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _TransferBRep_Reader_HeaderFile #define _TransferBRep_Reader_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_Interface_Protocol_HeaderFile #include #endif #ifndef _Handle_Transfer_ActorOfTransientProcess_HeaderFile #include #endif #ifndef _Handle_Interface_InterfaceModel_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Handle_Transfer_TransientProcess_HeaderFile #include #endif #ifndef _Handle_TopTools_HSequenceOfShape_HeaderFile #include #endif #ifndef _Handle_TColStd_HSequenceOfTransient_HeaderFile #include #endif #ifndef _Handle_Standard_Transient_HeaderFile #include #endif class Interface_Protocol; class Transfer_ActorOfTransientProcess; class Interface_InterfaceModel; class Transfer_TransientProcess; class TopTools_HSequenceOfShape; class TColStd_HSequenceOfTransient; class Standard_OutOfRange; class Interface_CheckIterator; class TopoDS_Shape; class Standard_Transient; //! This class offers a simple, easy to call, way of transferring
//! data from interface files to Shapes from CasCade
//! It must be specialized according to each norm/protocol, by :
//! - defining how to read a file (specific method with protocol)
//! - definig transfer, by providing an Actor
class TransferBRep_Reader { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Initializes a non-specialised Reader. Typically, for each norm
//! or protocol, is will be required to define a specific Create
//! to load a file and transfer it
Standard_EXPORT TransferBRep_Reader(); //! Records the protocol to be used for read and transfer roots
Standard_EXPORT void SetProtocol(const Handle(Interface_Protocol)& protocol) ; //! Returns the recorded Protocol
Standard_EXPORT virtual Handle_Interface_Protocol Protocol() const; //! Records the actor to be used for transfers
Standard_EXPORT void SetActor(const Handle(Transfer_ActorOfTransientProcess)& actor) ; //! Returns the recorded Actor
Standard_EXPORT virtual Handle_Transfer_ActorOfTransientProcess Actor() const; //! Sets File Status to be interpreted as follows :
//! = 0 OK
//! < 0 file not found
//! > 0 read error, no Model could be created
Standard_EXPORT void SetFileStatus(const Standard_Integer status) ; //! Returns the File Status
Standard_EXPORT Standard_Integer FileStatus() const; //! Returns True if FileStatus is for FileNotFound
Standard_EXPORT Standard_Boolean FileNotFound() const; //! Returns True if FileStatus is for Error during read
//! (major error; for local error, see CheckModel)
Standard_EXPORT Standard_Boolean SyntaxError() const; //! Specifies a Model to work on
//! Also clears the result and Done status
Standard_EXPORT void SetModel(const Handle(Interface_InterfaceModel)& model) ; //! Returns the Model to be worked on
Standard_EXPORT Handle_Interface_InterfaceModel Model() const; //! clears the result and Done status. But not the Model.
Standard_EXPORT void Clear() ; //! Checks the Model. Returns True if there is NO FAIL at all
//! (regardless Warnings)
//! If is True, also sends Checks on standard output
Standard_EXPORT Standard_Boolean CheckStatusModel(const Standard_Boolean withprint) const; //! Checks the Model (complete : syntax + semantic) and returns
//! the produced Check List
Standard_EXPORT Interface_CheckIterator CheckListModel() const; //! Returns (by Reference, hence can be changed) the Mode for new
//! Transfer : True (D) means that each new Transfer produces a
//! new TransferProcess. Else keeps the original one but each
//! Transfer clears its (former results are not kept)
Standard_EXPORT Standard_Boolean& ModeNewTransfer() ; //! Initializes the Reader for a Transfer (one,roots, or list)
//! Also calls PrepareTransfer
//! Returns True when done, False if could not be done
Standard_EXPORT Standard_Boolean BeginTransfer() ; //! Ebds a Transfer (one, roots or list) by recording its result
Standard_EXPORT void EndTransfer() ; //! Prepares the Transfer. Also can act on the Actor or change the
//! TransientProcess if required.
//! Should not set the Actor into the TransientProcess, it is done
//! by caller. The provided default does nothing.
Standard_EXPORT virtual void PrepareTransfer() ; //! Transfers all Root Entities which are recognized as Geom-Topol
//! The result will be a list of Shapes.
//! This method calls user redefinable PrepareTransfer
//! Remark : former result is cleared
Standard_EXPORT virtual void TransferRoots() ; //! Transfers an Entity given its rank in the Model (Root or not)
//! Returns True if it is recognized as Geom-Topol.
//! (But it can have failed : see IsDone)
Standard_EXPORT virtual Standard_Boolean Transfer(const Standard_Integer num) ; //! Transfers a list of Entities (only the ones also in the Model)
//! Remark : former result is cleared
Standard_EXPORT virtual void TransferList(const Handle(TColStd_HSequenceOfTransient)& list) ; //! Returns True if the LAST Transfer/TransferRoots was a success
Standard_EXPORT Standard_Boolean IsDone() const; //! Returns the count of produced Shapes (roots)
Standard_EXPORT Standard_Integer NbShapes() const; //! Returns the complete list of produced Shapes
Standard_EXPORT Handle_TopTools_HSequenceOfShape Shapes() const; //! Returns a Shape given its rank, by default the first one
Standard_EXPORT const TopoDS_Shape& Shape(const Standard_Integer num = 1) const; //! Returns a Shape produced from a given entity (if it was
//! individually transferred or if an intermediate result is
//! known). If no Shape is bound with , returns a Null Shape
//! Warning : Runs on the last call to Transfer,TransferRoots,TransferList
Standard_EXPORT TopoDS_Shape ShapeResult(const Handle(Standard_Transient)& ent) const; //! Returns a unique Shape for the result :
//! - a void Shape (type = SHAPE) if result is empty
//! - a simple Shape if result has only one : returns this one
//! - a Compound if result has more than one Shape
Standard_EXPORT TopoDS_Shape OneShape() const; //! Returns the count of produced Transient Results (roots)
Standard_EXPORT Standard_Integer NbTransients() const; //! Returns the complete list of produced Transient Results
Standard_EXPORT Handle_TColStd_HSequenceOfTransient Transients() const; //! Returns a Transient Root Result, given its rank (by default
//! the first one)
Standard_EXPORT Handle_Standard_Transient Transient(const Standard_Integer num = 1) const; //! Checks the Result of last Transfer (individual or roots, no
//! cumulation on several transfers). Returns True if NO fail
//! occured during Transfer (queries the TransientProcess)
Standard_EXPORT Standard_Boolean CheckStatusResult(const Standard_Boolean withprints) const; //! Checks the Result of last Transfer (individual or roots, no
//! cumulation on several transfers) and returns the produced list
Standard_EXPORT Interface_CheckIterator CheckListResult() const; //! Returns the TransientProcess. It records informations about
//! the very last transfer done. Null if no transfer yet done.
//! Can be used for queries more accurate than the default ones.
Standard_EXPORT Handle_Transfer_TransientProcess TransientProcess() const; Standard_EXPORT virtual void Destroy() ; Standard_EXPORT virtual ~TransferBRep_Reader() { Destroy(); } protected: Standard_Boolean theDone; Handle_Transfer_TransientProcess theProc; private: Handle_Interface_Protocol theProto; Handle_Transfer_ActorOfTransientProcess theActor; Handle_Interface_InterfaceModel theModel; Standard_Integer theFilest; Standard_Boolean theNewpr; Handle_TopTools_HSequenceOfShape theShapes; Handle_TColStd_HSequenceOfTransient theTransi; }; // other Inline functions and methods (like "C++: function call" methods) #endif