summaryrefslogtreecommitdiff
path: root/inc/TopOpeBRepTool_ShapeTool.hxx
blob: fd232fb42a2f194bc724019b14f6a21c04332eaf (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
// 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 _TopOpeBRepTool_ShapeTool_HeaderFile
#define _TopOpeBRepTool_ShapeTool_HeaderFile

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

#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_Geom_Curve_HeaderFile
#include <Handle_Geom_Curve.hxx>
#endif
#ifndef _Handle_Geom_Surface_HeaderFile
#include <Handle_Geom_Surface.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class TopoDS_Shape;
class gp_Pnt;
class Geom_Curve;
class TopoDS_Edge;
class Geom_Surface;
class TopoDS_Face;
class BRepAdaptor_Surface;
class BRepAdaptor_Curve;
class gp_Dir;



class TopOpeBRepTool_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); 
  }

  //! Returns the tolerance of the shape <S>. <br>
//!          If the shape <S> is Null, returns 0. <br>
  Standard_EXPORT   static  Standard_Real Tolerance(const TopoDS_Shape& S) ;
  //! Returns 3D point of vertex <S>. <br>
  Standard_EXPORT   static  gp_Pnt Pnt(const TopoDS_Shape& S) ;
  
  Standard_EXPORT   static  Handle_Geom_Curve BASISCURVE(const Handle(Geom_Curve)& C) ;
  
  Standard_EXPORT   static  Handle_Geom_Curve BASISCURVE(const TopoDS_Edge& E) ;
  
  Standard_EXPORT   static  Handle_Geom_Surface BASISSURFACE(const Handle(Geom_Surface)& S) ;
  
  Standard_EXPORT   static  Handle_Geom_Surface BASISSURFACE(const TopoDS_Face& F) ;
  
  Standard_EXPORT   static  void UVBOUNDS(const Handle(Geom_Surface)& S,Standard_Boolean& UPeri,Standard_Boolean& VPeri,Standard_Real& Umin,Standard_Real& Umax,Standard_Real& Vmin,Standard_Real& Vmax) ;
  
  Standard_EXPORT   static  void UVBOUNDS(const TopoDS_Face& F,Standard_Boolean& UPeri,Standard_Boolean& VPeri,Standard_Real& Umin,Standard_Real& Umax,Standard_Real& Vmin,Standard_Real& Vmax) ;
  //! ajust u,v values in UVBounds of the domain of the <br>
//!          geometric shape <S>, according to Uperiodicity and <br>
//!          VPeriodicity of the domain. <br>
//!          <S> is assumed to be a face. <br>
//!          u and/or v is/are not modified when the domain is <br>
//!          not periodic in U and/or V . <br>
  Standard_EXPORT   static  void AdjustOnPeriodic(const TopoDS_Shape& S,Standard_Real& u,Standard_Real& v) ;
  //! indicates wheter shape S1 is a closing shape on S2 or not. <br>
  Standard_EXPORT   static  Standard_Boolean Closed(const TopoDS_Shape& S1,const TopoDS_Shape& S2) ;
  
  Standard_EXPORT   static  Standard_Real PeriodizeParameter(const Standard_Real par,const TopoDS_Shape& EE,const TopoDS_Shape& FF) ;
  
  Standard_EXPORT   static  Standard_Boolean ShapesSameOriented(const TopoDS_Shape& S1,const TopoDS_Shape& S2) ;
  
  Standard_EXPORT   static  Standard_Boolean SurfacesSameOriented(const BRepAdaptor_Surface& S1,const BRepAdaptor_Surface& S2) ;
  
  Standard_EXPORT   static  Standard_Boolean FacesSameOriented(const TopoDS_Shape& F1,const TopoDS_Shape& F2) ;
  
  Standard_EXPORT   static  Standard_Boolean CurvesSameOriented(const BRepAdaptor_Curve& C1,const BRepAdaptor_Curve& C2) ;
  
  Standard_EXPORT   static  Standard_Boolean EdgesSameOriented(const TopoDS_Shape& E1,const TopoDS_Shape& E2) ;
  
//! Compute tangent T, normal N, curvature C at point of parameter <br>
//! P on curve BRAC. Returns the tolerance indicating if T,N are null. <br>
  Standard_EXPORT   static  Standard_Real EdgeData(const BRepAdaptor_Curve& BRAC,const Standard_Real P,gp_Dir& T,gp_Dir& N,Standard_Real& C) ;
  //! Same as previous on edge E. <br>
  Standard_EXPORT   static  Standard_Real EdgeData(const TopoDS_Shape& E,const Standard_Real P,gp_Dir& T,gp_Dir& N,Standard_Real& C) ;
  
  Standard_EXPORT   static  Standard_Real Resolution3dU(const Handle(Geom_Surface)& SU,const Standard_Real Tol2d) ;
  
  Standard_EXPORT   static  Standard_Real Resolution3dV(const Handle(Geom_Surface)& SU,const Standard_Real Tol2d) ;
  
  Standard_EXPORT   static  Standard_Real Resolution3d(const Handle(Geom_Surface)& SU,const Standard_Real Tol2d) ;
  
  Standard_EXPORT   static  Standard_Real Resolution3d(const TopoDS_Face& F,const Standard_Real Tol2d) ;





protected:





private:





};





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


#endif