summaryrefslogtreecommitdiff
path: root/inc/BRepMesh_ShapeTool.hxx
blob: 649f0ef55b14ce2c7116f690b95a1faec331f225 (plain)
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
// 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 _BRepMesh_ShapeTool_HeaderFile
#define _BRepMesh_ShapeTool_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _TopExp_Explorer_HeaderFile
#include <TopExp_Explorer.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TopAbs_Orientation_HeaderFile
#include <TopAbs_Orientation.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
#endif
#ifndef _Handle_Poly_Triangulation_HeaderFile
#include <Handle_Poly_Triangulation.hxx>
#endif
class Standard_NoSuchObject;
class TopoDS_Shape;
class TopoDS_Face;
class TopoDS_Edge;
class TopoDS_Vertex;
class Bnd_Box;
class gp_Pnt2d;
class BRepAdaptor_Curve;
class gp_Pnt;
class Poly_Triangulation;



class BRepMesh_ShapeTool  {
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   BRepMesh_ShapeTool();
  
        void Init(const TopoDS_Shape& S) ;
  
        Standard_Boolean MoreFace() ;
  
        void NextFace() ;
  
       const TopoDS_Face& CurrentFace() ;
  
        void Init(const TopoDS_Face& F) ;
  
        Standard_Boolean MoreEdge() ;
  
        void NextEdge() ;
  
       const TopoDS_Edge& CurrentEdge() ;
  
        void Init(const TopoDS_Edge& E) ;
  
  Standard_EXPORT     Standard_Boolean MoreInternalVertex() ;
  
        void NextInternalVertex() ;
  
       const TopoDS_Vertex& CurrentInternalVertex() ;
  
      static  TopAbs_Orientation Orientation(const TopoDS_Face& F) ;
  
      static  TopAbs_Orientation Orientation(const TopoDS_Edge& E) ;
  
  Standard_EXPORT   static  Bnd_Box Bound(const TopoDS_Face& F) ;
  
  Standard_EXPORT   static  Bnd_Box Bound(const TopoDS_Edge& E) ;
  
  Standard_EXPORT   static  TopoDS_Vertex FirstVertex(const TopoDS_Edge& E) ;
  
  Standard_EXPORT   static  TopoDS_Vertex LastVertex(const TopoDS_Edge& E) ;
  //! If there is  not First or Last vertex (infinite or <br>
//!          semi-infinite edge) return null shapes. <br>
  Standard_EXPORT   static  void Vertices(const TopoDS_Edge& E,TopoDS_Vertex& Vfirst,TopoDS_Vertex& Vlast) ;
  
      static  void Range(const TopoDS_Edge& E,const TopoDS_Face& F,Standard_Real& wFirst,Standard_Real& wLast) ;
  
      static  void UVPoints(const TopoDS_Edge& E,const TopoDS_Face& F,gp_Pnt2d& uvFirst,gp_Pnt2d& uvLast) ;
  
      static  Standard_Boolean Degenerated(const TopoDS_Edge& E) ;
  
      static  Standard_Real Tolerance(const TopoDS_Vertex& V) ;
  
      static  Standard_Real Parameter(const TopoDS_Vertex& V,const TopoDS_Edge& E,const TopoDS_Face& F) ;
  
  Standard_EXPORT   static  void Parameters(const TopoDS_Edge& E,const TopoDS_Face& F,const Standard_Real W,gp_Pnt2d& UV) ;
  
  Standard_EXPORT   static  void Locate(const BRepAdaptor_Curve& C,const Standard_Real W,Standard_Real& WFound,const gp_Pnt& p3d,gp_Pnt2d& UV) ;
  
      static  gp_Pnt Pnt(const TopoDS_Vertex& V) ;
  
  Standard_EXPORT   static  void AddInFace(const TopoDS_Face& F,Handle(Poly_Triangulation)& T) ;





protected:





private:



TopExp_Explorer theFIterator;
TopExp_Explorer theEIterator;
TopExp_Explorer theVIterator;


};


#include <BRepMesh_ShapeTool.lxx>



// other Inline functions and methods (like "C++: function call" methods)


#endif