// 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 _ShapeFix_WireSegment_HeaderFile #define _ShapeFix_WireSegment_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_ShapeExtend_WireData_HeaderFile #include #endif #ifndef _TopoDS_Vertex_HeaderFile #include #endif #ifndef _TopAbs_Orientation_HeaderFile #include #endif #ifndef _Handle_TColStd_HSequenceOfInteger_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif class ShapeExtend_WireData; class TColStd_HSequenceOfInteger; class TopoDS_Wire; class TopoDS_Vertex; class TopoDS_Edge; //! This class is auxiliary class used in ComposeShell.
//! It is intended for representing segment of the wire
//! (or whole wire). The segment itself is represented by
//! ShapeExtend_WireData. In addition, some associated data
//! necessary for computations are stored:
class ShapeFix_WireSegment { 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); } //! Creates empty segment.
Standard_EXPORT ShapeFix_WireSegment(); //! Creates segment and initializes it with wire and orientation.
Standard_EXPORT ShapeFix_WireSegment(const Handle(ShapeExtend_WireData)& wire,const TopAbs_Orientation ori = TopAbs_EXTERNAL); //! Creates segment and initializes it with wire and orientation.
Standard_EXPORT ShapeFix_WireSegment(const TopoDS_Wire& wire,const TopAbs_Orientation ori = TopAbs_EXTERNAL); //! Clears all fields.
Standard_EXPORT void Clear() ; //! Loads wire.
Standard_EXPORT void Load(const Handle(ShapeExtend_WireData)& wire) ; //! Returns wire.
Standard_EXPORT const Handle_ShapeExtend_WireData& WireData() const; //! Sets orientation flag.
Standard_EXPORT void Orientation(const TopAbs_Orientation ori) ; //! Returns orientation flag.
Standard_EXPORT TopAbs_Orientation Orientation() const; //! Returns first vertex of the first edge in the wire
//! (no dependance on Orientation()).
Standard_EXPORT TopoDS_Vertex FirstVertex() const; //! Returns last vertex of the last edge in the wire
//! (no dependance on Orientation()).
Standard_EXPORT TopoDS_Vertex LastVertex() const; //! Returns True if FirstVertex() == LastVertex()
Standard_EXPORT Standard_Boolean IsClosed() const; //! Returns Number of edges in the wire
Standard_EXPORT Standard_Integer NbEdges() const; //! Returns edge by given index in the wire
Standard_EXPORT TopoDS_Edge Edge(const Standard_Integer i) const; //! Replaces edge at index i by new one.
Standard_EXPORT void SetEdge(const Standard_Integer i,const TopoDS_Edge& edge) ; //! Insert a new edge with index i and implicitly defined
//! patch indices (indefinite patch).
//! If i==0, edge is inserted at end of wire.
Standard_EXPORT void AddEdge(const Standard_Integer i,const TopoDS_Edge& edge) ; //! Insert a new edge with index i and explicitly defined
//! patch indices. If i==0, edge is inserted at end of wire.
Standard_EXPORT void AddEdge(const Standard_Integer i,const TopoDS_Edge& edge,const Standard_Integer iumin,const Standard_Integer iumax,const Standard_Integer ivmin,const Standard_Integer ivmax) ; //! Set patch indices for edge i.
Standard_EXPORT void SetPatchIndex(const Standard_Integer i,const Standard_Integer iumin,const Standard_Integer iumax,const Standard_Integer ivmin,const Standard_Integer ivmax) ; Standard_EXPORT void DefineIUMin(const Standard_Integer i,const Standard_Integer iumin) ; Standard_EXPORT void DefineIUMax(const Standard_Integer i,const Standard_Integer iumax) ; Standard_EXPORT void DefineIVMin(const Standard_Integer i,const Standard_Integer ivmin) ; //! Modify minimal or maximal patch index for edge i.
//! The corresponding patch index for that edge is modified so
//! as to satisfy eq. iumin <= myIUMin(i) <= myIUMax(i) <= iumax
Standard_EXPORT void DefineIVMax(const Standard_Integer i,const Standard_Integer ivmax) ; //! Returns patch indices for edge i.
Standard_EXPORT void GetPatchIndex(const Standard_Integer i,Standard_Integer& iumin,Standard_Integer& iumax,Standard_Integer& ivmin,Standard_Integer& ivmax) const; //! Checks patch indices for edge i to satisfy equations
//! IUMin(i) <= IUMax(i) <= IUMin(i)+1
Standard_EXPORT Standard_Boolean CheckPatchIndex(const Standard_Integer i) const; Standard_EXPORT void SetVertex(const TopoDS_Vertex& theVertex) ; Standard_EXPORT TopoDS_Vertex GetVertex() const; Standard_EXPORT Standard_Boolean IsVertex() const; protected: private: Handle_ShapeExtend_WireData myWire; TopoDS_Vertex myVertex; TopAbs_Orientation myOrient; Handle_TColStd_HSequenceOfInteger myIUMin; Handle_TColStd_HSequenceOfInteger myIUMax; Handle_TColStd_HSequenceOfInteger myIVMin; Handle_TColStd_HSequenceOfInteger myIVMax; }; // other Inline functions and methods (like "C++: function call" methods) #endif