// 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 _TopExp_HeaderFile #define _TopExp_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopAbs_ShapeEnum_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class TopoDS_Shape; class TopTools_IndexedMapOfShape; class TopTools_IndexedDataMapOfShapeListOfShape; class TopoDS_Vertex; class TopoDS_Edge; class TopoDS_Wire; class TopExp_StackOfIterator; class TopExp_Explorer; class TopExp_StackNodeOfStackOfIterator; class TopExp_StackIteratorOfStackOfIterator; //! This package provides basic tools to explore the
//! topological data structures.
//!
//! * Explorer : A tool to find all sub-shapes of a given
//! type. e.g. all faces of a solid.
//!
//! * Package methods to map sub-shapes of a shape.
//!
//! Level : Public
//! All methods of all classes will be public.
class TopExp { 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); } //! Stores in the map all the sub-shapes of
//! of type .
//!
//! Warning: The map is not cleared at first.
Standard_EXPORT static void MapShapes(const TopoDS_Shape& S,const TopAbs_ShapeEnum T,TopTools_IndexedMapOfShape& M) ; //! Stores in the map all the sub-shapes of .
Standard_EXPORT static void MapShapes(const TopoDS_Shape& S,TopTools_IndexedMapOfShape& M) ; //! Stores in the map all the subshape of of
//! type for each one append to the list all
//! the ancestors of type . For example map all
//! the edges and bind the list of faces.
//! Warning: The map is not cleared at first.
Standard_EXPORT static void MapShapesAndAncestors(const TopoDS_Shape& S,const TopAbs_ShapeEnum TS,const TopAbs_ShapeEnum TA,TopTools_IndexedDataMapOfShapeListOfShape& M) ; //! Returns the Vertex of orientation FORWARD in E. If
//! there is none returns a Null Shape.
//! CumOri = True : taking account the edge orientation
Standard_EXPORT static TopoDS_Vertex FirstVertex(const TopoDS_Edge& E,const Standard_Boolean CumOri = Standard_False) ; //! Returns the Vertex of orientation REVERSED in E. If
//! there is none returns a Null Shape.
//! CumOri = True : taking account the edge orientation
Standard_EXPORT static TopoDS_Vertex LastVertex(const TopoDS_Edge& E,const Standard_Boolean CumOri = Standard_False) ; //! Returns in Vfirst, Vlast the FORWARD and REVERSED
//! vertices of the edge . May be null shapes.
//! CumOri = True : taking account the edge orientation
Standard_EXPORT static void Vertices(const TopoDS_Edge& E,TopoDS_Vertex& Vfirst,TopoDS_Vertex& Vlast,const Standard_Boolean CumOri = Standard_False) ; //! Returns in Vfirst, Vlast the first and last
//! vertices of the open wire . May be null shapes.
//! if is closed Vfirst and Vlast are a same
//! vertex on .
//! if is no manifold. VFirst and VLast are null
//! shapes.
Standard_EXPORT static void Vertices(const TopoDS_Wire& W,TopoDS_Vertex& Vfirst,TopoDS_Vertex& Vlast) ; //! Finds the vertex common to the two edges
//! , returns True if this vertex exists.
//!
//! Warning: has sense only if the value is returned
Standard_EXPORT static Standard_Boolean CommonVertex(const TopoDS_Edge& E1,const TopoDS_Edge& E2,TopoDS_Vertex& V) ; protected: private: friend class TopExp_StackOfIterator; friend class TopExp_Explorer; friend class TopExp_StackNodeOfStackOfIterator; friend class TopExp_StackIteratorOfStackOfIterator; }; // other Inline functions and methods (like "C++: function call" methods) #endif