// 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 _BRepTools_HeaderFile #define _BRepTools_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Real_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_OStream_HeaderFile #include #endif #ifndef _Handle_Message_ProgressIndicator_HeaderFile #include #endif #ifndef _Standard_IStream_HeaderFile #include #endif #ifndef _Standard_CString_HeaderFile #include #endif class TopoDS_Face; class TopoDS_Wire; class TopoDS_Edge; class Bnd_Box2d; class TopoDS_Vertex; class TopoDS_Shell; class TopoDS_Solid; class TopoDS_CompSolid; class TopoDS_Compound; class TopoDS_Shape; class TopTools_IndexedMapOfShape; class Message_ProgressIndicator; class BRep_Builder; class BRepTools_WireExplorer; class BRepTools_Modification; class BRepTools_Modifier; class BRepTools_TrsfModification; class BRepTools_NurbsConvertModification; class BRepTools_GTrsfModification; class BRepTools_Substitution; class BRepTools_Quilt; class BRepTools_ShapeSet; class BRepTools_ReShape; class BRepTools_MapOfVertexPnt2d; class BRepTools_DataMapNodeOfMapOfVertexPnt2d; class BRepTools_DataMapIteratorOfMapOfVertexPnt2d; //! The BRepTools package provides utilities for BRep
//! data structures.
//!
//! * WireExplorer : A tool to explore the topology of
//! a wire in the order of the edges.
//!
//! * ShapeSet : Tools used for dumping, writing and
//! reading.
//!
//! * UVBounds : Methods to compute the limits of the
//! boundary of a face, a wire or an edge in the
//! parametric space of a face.
//!
//! * Update : Methods to call when a topology has
//! been created to compute all missing data.
//!
//! * UpdateFaceUVPoints : Method to update the UV
//! points stored with the edges on a face. This
//! method ensure that connected edges have the same
//! UV point on their common extremity.
//!
//! * Compare : Method to compare two vertices.
//!
//! * Compare : Method to compare two edges.
//!
//! * OuterWire : A method to find the outer wire of a
//! face.
//!
//! * OuterShell : A method to find the outer shell of
//! a solid.
//!
//! * Map3DEdges : A method to map all the 3D Edges of
//! a Shape.
//!
//! * Dump : A method to dump a BRep object.
//!
class BRepTools { 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); } //! Returns in UMin, UMax, VMin, VMax the bounding
//! values in the parametric space of F.
Standard_EXPORT static void UVBounds(const TopoDS_Face& F,Standard_Real& UMin,Standard_Real& UMax,Standard_Real& VMin,Standard_Real& VMax) ; //! Returns in UMin, UMax, VMin, VMax the bounding
//! values of the wire in the parametric space of F.
Standard_EXPORT static void UVBounds(const TopoDS_Face& F,const TopoDS_Wire& W,Standard_Real& UMin,Standard_Real& UMax,Standard_Real& VMin,Standard_Real& VMax) ; //! Returns in UMin, UMax, VMin, VMax the bounding
//! values of the edge in the parametric space of F.
Standard_EXPORT static void UVBounds(const TopoDS_Face& F,const TopoDS_Edge& E,Standard_Real& UMin,Standard_Real& UMax,Standard_Real& VMin,Standard_Real& VMax) ; //! Adds to the box the bounding values in the
//! parametric space of F.
Standard_EXPORT static void AddUVBounds(const TopoDS_Face& F,Bnd_Box2d& B) ; //! Adds to the box the bounding values of the
//! wire in the parametric space of F.
Standard_EXPORT static void AddUVBounds(const TopoDS_Face& F,const TopoDS_Wire& W,Bnd_Box2d& B) ; //! Adds to the box the bounding values of the
//! edge in the parametric space of F.
Standard_EXPORT static void AddUVBounds(const TopoDS_Face& F,const TopoDS_Edge& E,Bnd_Box2d& B) ; //! Update a vertex (nothing is done)
Standard_EXPORT static void Update(const TopoDS_Vertex& V) ; //! Update an edge, compute 2d bounding boxes.
Standard_EXPORT static void Update(const TopoDS_Edge& E) ; //! Update a wire (nothing is done)
Standard_EXPORT static void Update(const TopoDS_Wire& W) ; //! Update a Face, update UV points.
Standard_EXPORT static void Update(const TopoDS_Face& F) ; //! Update a shell (nothing is done)
Standard_EXPORT static void Update(const TopoDS_Shell& S) ; //! Update a solid (nothing is done)
Standard_EXPORT static void Update(const TopoDS_Solid& S) ; //! Update a composite solid (nothing is done)
Standard_EXPORT static void Update(const TopoDS_CompSolid& C) ; //! Update a compound (nothing is done)
Standard_EXPORT static void Update(const TopoDS_Compound& C) ; //! Update a shape, call the corect update.
Standard_EXPORT static void Update(const TopoDS_Shape& S) ; //! For all the edges of the face reset the UV
//! points to ensure that connected faces have the
//! same point at there common extremity.
Standard_EXPORT static void UpdateFaceUVPoints(const TopoDS_Face& F) ; //! Removes all the triangulations of the faces of
//! and removes all polygons on triangulations of the
//! edges.
Standard_EXPORT static void Clean(const TopoDS_Shape& S) ; //! verifies that each face from the shape has got
//! a triangulation with a deflection <= deflec and
//! the edges a discretisation on this triangulation.
Standard_EXPORT static Standard_Boolean Triangulation(const TopoDS_Shape& S,const Standard_Real deflec) ; //! Returns True if the distance between the two
//! vertices is lower than their tolerance.
Standard_EXPORT static Standard_Boolean Compare(const TopoDS_Vertex& V1,const TopoDS_Vertex& V2) ; //! Returns True if the distance between the two
//! edges is lower than their tolerance.
Standard_EXPORT static Standard_Boolean Compare(const TopoDS_Edge& E1,const TopoDS_Edge& E2) ; //! Returns the outer most wire of . Returns a Null
//! wire if has no wires.
Standard_EXPORT static TopoDS_Wire OuterWire(const TopoDS_Face& F) ; //! Returns the outer most shell of . Returns a Null
//! wire if has no shells.
Standard_EXPORT static TopoDS_Shell OuterShell(const TopoDS_Solid& S) ; //! Stores in the map all the 3D topology edges
//! of .
Standard_EXPORT static void Map3DEdges(const TopoDS_Shape& S,TopTools_IndexedMapOfShape& M) ; Standard_EXPORT static Standard_Boolean IsReallyClosed(const TopoDS_Edge& E,const TopoDS_Face& F) ; //! Dumps the topological structure and the geometry
//! of on the stream .
Standard_EXPORT static void Dump(const TopoDS_Shape& Sh,Standard_OStream& S) ; //! Writes on in an ASCII format.
Standard_EXPORT static void Write(const TopoDS_Shape& Sh,Standard_OStream& S,const Handle(Message_ProgressIndicator)& PR = NULL) ; //! Reads a Shape from in returns it in .
//! is used to build the shape.
Standard_EXPORT static void Read(TopoDS_Shape& Sh,Standard_IStream& S,const BRep_Builder& B,const Handle(Message_ProgressIndicator)& PR = NULL) ; //! Writes in .
Standard_EXPORT static Standard_Boolean Write(const TopoDS_Shape& Sh,const Standard_CString File,const Handle(Message_ProgressIndicator)& PR = NULL) ; //! Reads a Shape from , returns it in .
//! is used to build the shape.
Standard_EXPORT static Standard_Boolean Read(TopoDS_Shape& Sh,const Standard_CString File,const BRep_Builder& B,const Handle(Message_ProgressIndicator)& PR = NULL) ; protected: private: friend class BRepTools_WireExplorer; friend class BRepTools_Modification; friend class BRepTools_Modifier; friend class BRepTools_TrsfModification; friend class BRepTools_NurbsConvertModification; friend class BRepTools_GTrsfModification; friend class BRepTools_Substitution; friend class BRepTools_Quilt; friend class BRepTools_ShapeSet; friend class BRepTools_ReShape; friend class BRepTools_MapOfVertexPnt2d; friend class BRepTools_DataMapNodeOfMapOfVertexPnt2d; friend class BRepTools_DataMapIteratorOfMapOfVertexPnt2d; }; // other Inline functions and methods (like "C++: function call" methods) #endif