// 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 _IntPoly_PlaneSection_HeaderFile #define _IntPoly_PlaneSection_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopoDS_Shape_HeaderFile #include #endif #ifndef _gp_Trsf_HeaderFile #include #endif #ifndef _IntPoly_SequenceOfSequenceOfPnt2d_HeaderFile #include #endif #ifndef _IntPoly_IndexedMapOfPnt2d_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif class TopoDS_Shape; class gp_Pln; class gp_Pnt; class gp_Pnt2d; class TColgp_SequenceOfPnt2d; class TopoDS_Edge; //! determines the section of a triangulated shape by a plane.
//! The section is a set of edges.
class IntPoly_PlaneSection { 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); } Standard_EXPORT IntPoly_PlaneSection(); Standard_EXPORT IntPoly_PlaneSection(const TopoDS_Shape& S,const gp_Pln& P); Standard_EXPORT void Section() ; //! determines the 2 2D-points resulting of the intersection
//! of the triangle (Point1,Point2,Point3) by the plane
Standard_EXPORT Standard_Boolean Intersect(const gp_Pnt& Point1,const gp_Pnt& Point2,const gp_Pnt& Point3,gp_Pnt2d& OutPoint1,gp_Pnt2d& OutPoint2) ; //! sees whether OldPnt and NewPnt begins or ends a section
//! created before and adds the 2 others points.
//! If not, creates a section
Standard_EXPORT void Insert(const gp_Pnt2d& OldPnt,const gp_Pnt2d& ComPnt,const gp_Pnt2d& NewPnt) ; //! sees whether BegPnt or EndPnt begins or ends a section
//! created before, and returns the other point to continue
//! the construction
//! Returns 2 if the construction is 'Forward'
//! Returns 1 if the construction is 'Previous'
//! Returns 0 if not and creates a section
Standard_EXPORT Standard_Integer Concat(const gp_Pnt2d& BegPnt,const gp_Pnt2d& EndPnt,gp_Pnt2d& OutPnt) ; //! sees whether Section begins or ends another one in mySection,
//! from the rank 'Index' to the last one 'NbSection'
Standard_EXPORT void ConcatSection(TColgp_SequenceOfPnt2d& Section,const Standard_Integer NbSection,const Standard_Integer Index) ; //! builds a section from Point in this way
//! ___ ___ ___ ___
//! Point--/__/--/__/--/__/--/__/--->
Standard_EXPORT void ForwConstruction(const gp_Pnt2d& Point) ; //! builds a section from Point in this way
//! ___ ___ ___ ___
//! <---/__/--/__/--/__/--/__/--Point
Standard_EXPORT void PrevConstruction(const gp_Pnt2d& Point) ; Standard_EXPORT Standard_Integer NbEdges() ; //! builds an edge from a sequence of Pnt2d
//! this is a part of the section
Standard_EXPORT TopoDS_Edge Edge(const Standard_Integer Index) ; protected: private: TopoDS_Shape myShape; gp_Trsf myTransform; gp_Trsf myBackTransform; IntPoly_SequenceOfSequenceOfPnt2d mySection; IntPoly_IndexedMapOfPnt2d myMapBegPoints; IntPoly_IndexedMapOfPnt2d myMapEndPoints; Standard_Integer myCpt; Standard_Integer myIndex; Standard_Integer myNbEdges; }; // other Inline functions and methods (like "C++: function call" methods) #endif