// 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 _HLRBRep_EdgeBuilder_HeaderFile #define _HLRBRep_EdgeBuilder_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _TopAbs_State_HeaderFile #include #endif #ifndef _Handle_HLRBRep_AreaLimit_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _TopAbs_Orientation_HeaderFile #include #endif class HLRBRep_AreaLimit; class Standard_NoMoreObject; class Standard_NoSuchObject; class Standard_DomainError; class HLRBRep_VertexList; class HLRAlgo_Intersection; class HLRBRep_EdgeBuilder { 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 an EdgeBuilder algorithm.
//! describes the edge and the interferences.
//! AreaLimits are created from the vertices.
//! Builds(IN) is automatically called.
Standard_EXPORT HLRBRep_EdgeBuilder(HLRBRep_VertexList& VList); //! Initialize an iteration on the areas.
Standard_EXPORT void InitAreas() ; //! Set the current area to the next area.
Standard_EXPORT void NextArea() ; //! Set the current area to the previous area.
Standard_EXPORT void PreviousArea() ; //! Returns True if there is a current area.
Standard_EXPORT Standard_Boolean HasArea() const; //! Returns the state of the current area.
Standard_EXPORT TopAbs_State AreaState() const; //! Returns the edge state of the current area.
Standard_EXPORT TopAbs_State AreaEdgeState() const; //! Returns the AreaLimit beginning the current area.
//! This is a NULL handle when the area is infinite on
//! the left.
//!
Standard_EXPORT Handle_HLRBRep_AreaLimit LeftLimit() const; //! Returns the AreaLimit ending the current area.
//! This is a NULL handle when the area is infinite on
//! the right.
//!
Standard_EXPORT Handle_HLRBRep_AreaLimit RightLimit() const; //! Reinitialize the results iteration to the parts
//! with State . If this method is not called
//! after construction the default is = IN.
//!
Standard_EXPORT void Builds(const TopAbs_State ToBuild) ; //! Returns True if there are more new edges to build.
Standard_EXPORT Standard_Boolean MoreEdges() const; //! Proceeds to the next edge to build. Skip all
//! remaining vertices on the current edge.
//!
Standard_EXPORT void NextEdge() ; //! True if there are more vertices in the current new
//! edge.
Standard_EXPORT Standard_Boolean MoreVertices() const; //! Proceeds to the next vertex of the current edge.
Standard_EXPORT void NextVertex() ; //! Returns the current vertex of the current edge.
Standard_EXPORT const HLRAlgo_Intersection& Current() const; //! Returns True if the current vertex comes from the
//! boundary of the edge.
//!
Standard_EXPORT Standard_Boolean IsBoundary() const; //! Returns True if the current vertex was an
//! interference.
//!
Standard_EXPORT Standard_Boolean IsInterference() const; //! Returns the new orientation of the current vertex.
//!
Standard_EXPORT TopAbs_Orientation Orientation() const; Standard_EXPORT void Destroy() ; ~HLRBRep_EdgeBuilder() { Destroy(); } protected: private: TopAbs_State toBuild; Handle_HLRBRep_AreaLimit myLimits; Handle_HLRBRep_AreaLimit left; Handle_HLRBRep_AreaLimit right; Standard_Integer current; }; // other Inline functions and methods (like "C++: function call" methods) #endif