1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
// 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
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <TopAbs_State.hxx>
#include <Handle_HLRBRep_AreaLimit.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
#include <TopAbs_Orientation.hxx>
class HLRBRep_AreaLimit;
class Standard_NoMoreObject;
class Standard_NoSuchObject;
class Standard_DomainError;
class HLRBRep_VertexList;
class HLRAlgo_Intersection;
class HLRBRep_EdgeBuilder
{
public:
DEFINE_STANDARD_ALLOC
//! Creates an EdgeBuilder algorithm. <VList>
//! 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 <ToBuild>. If this method is not called
//! after construction the default is <ToBuild> = 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;
};
#endif // _HLRBRep_EdgeBuilder_HeaderFile
|