// 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 _BRepMesh_IncrementalMesh_HeaderFile #define _BRepMesh_IncrementalMesh_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_DefineHandle_HeaderFile #include #endif #ifndef _Handle_BRepMesh_IncrementalMesh_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopTools_MapOfShape_HeaderFile #include #endif #ifndef _Handle_BRepMesh_FastDiscret_HeaderFile #include #endif #ifndef _TopTools_DataMapOfShapeReal_HeaderFile #include #endif #ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Bnd_Box_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _BRepMesh_DiscretRoot_HeaderFile #include #endif #ifndef _BRepMesh_PDiscretRoot_HeaderFile #include #endif class BRepMesh_FastDiscret; class TopoDS_Shape; class TopoDS_Edge; class TopoDS_Face; //! Builds the mesh of a shape with respect of their
//! correctly triangulated parts
class BRepMesh_IncrementalMesh : public BRepMesh_DiscretRoot { public: Standard_EXPORT BRepMesh_IncrementalMesh(); Standard_EXPORT virtual ~BRepMesh_IncrementalMesh(); //! If the boolean is True, the
//! deflection used for the polygonalisation of
//! each edge will be * Size of Edge.
//! the deflection used for the faces will be the maximum
//! deflection of their edges.
Standard_EXPORT BRepMesh_IncrementalMesh(const TopoDS_Shape& S,const Standard_Real D,const Standard_Boolean Relatif = Standard_False,const Standard_Real Ang = 0.5); Standard_EXPORT void SetRelative(const Standard_Boolean theFlag) ; Standard_EXPORT Standard_Boolean Relative() const; Standard_EXPORT virtual void Perform() ; //! Builds the incremental mesh of the shape
Standard_EXPORT void Update(const TopoDS_Shape& S) ; Standard_EXPORT Standard_Boolean IsModified() const; Standard_EXPORT Standard_Integer GetStatusFlags() const; //! Request algorithm to launch in multiple threads to improve performance.
Standard_EXPORT void SetParallel(const Standard_Boolean theInParallel) ; //! Returns the multi-threading usage flag.
Standard_EXPORT Standard_Boolean IsParallel() const; //! Plugin interface for the Mesh Factories.
Standard_EXPORT static Standard_Integer Discret(const TopoDS_Shape& theShape,const Standard_Real theDeflection,const Standard_Real theAngle,BRepMesh_PDiscretRoot& theAlgo) ; //! Returns multi-threading usage flag set by default in
//! Discret() static method (thus applied only to Mesh Factories).
Standard_EXPORT static Standard_Boolean IsParallelDefault() ; //! Setup multi-threading usage flag set by default in
//! Discret() static method (thus applied only to Mesh Factories).
Standard_EXPORT static void SetParallelDefault(const Standard_Boolean theInParallel) ; DEFINE_STANDARD_RTTI(BRepMesh_IncrementalMesh) protected: Standard_EXPORT virtual void Init() ; Standard_Boolean myRelative; Standard_Boolean myInParallel; TopTools_MapOfShape myMap; Handle_BRepMesh_FastDiscret myMesh; Standard_Boolean myModified; TopTools_DataMapOfShapeReal mymapedge; TopTools_IndexedDataMapOfShapeListOfShape myancestors; Standard_Real mydtotale; Bnd_Box myBox; Standard_Integer myStatus; private: //! Locate a correct discretisation if it exists
//! Set no one otherwise
Standard_EXPORT void Update(const TopoDS_Edge& E) ; //! If the face is not correctly triangulated, or
//! if one of its edges is to be discretisated
//! correctly, the triangulation of this face is
//! built.
Standard_EXPORT void Update(const TopoDS_Face& F) ; }; // other Inline functions and methods (like "C++: function call" methods) #endif