summaryrefslogtreecommitdiff
path: root/inc/GeomLProp_SLProps.hxx
blob: 9a80a4c8c50bbd8b4b9640792399f4e69e0e016e (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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
// 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 _GeomLProp_SLProps_HeaderFile
#define _GeomLProp_SLProps_HeaderFile

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

#ifndef _Handle_Geom_Surface_HeaderFile
#include <Handle_Geom_Surface.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
#endif
#ifndef _gp_Vec_HeaderFile
#include <gp_Vec.hxx>
#endif
#ifndef _gp_Dir_HeaderFile
#include <gp_Dir.hxx>
#endif
#ifndef _LProp_Status_HeaderFile
#include <LProp_Status.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class Geom_Surface;
class LProp_BadContinuity;
class Standard_DomainError;
class Standard_OutOfRange;
class LProp_NotDefined;
class GeomLProp_SurfaceTool;
class gp_Pnt;
class gp_Vec;
class gp_Dir;



class GeomLProp_SLProps  {
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   GeomLProp_SLProps(const Handle(Geom_Surface)& S,const Standard_Real U,const Standard_Real V,const Standard_Integer N,const Standard_Real Resolution);
  
  Standard_EXPORT   GeomLProp_SLProps(const Handle(Geom_Surface)& S,const Standard_Integer N,const Standard_Real Resolution);
  
  Standard_EXPORT   GeomLProp_SLProps(const Standard_Integer N,const Standard_Real Resolution);
  
  Standard_EXPORT     void SetSurface(const Handle(Geom_Surface)& S) ;
  
  Standard_EXPORT     void SetParameters(const Standard_Real U,const Standard_Real V) ;
  
  Standard_EXPORT    const gp_Pnt& Value() const;
  
  Standard_EXPORT    const gp_Vec& D1U() ;
  
  Standard_EXPORT    const gp_Vec& D1V() ;
  
  Standard_EXPORT    const gp_Vec& D2U() ;
  
  Standard_EXPORT    const gp_Vec& D2V() ;
  
  Standard_EXPORT    const gp_Vec& DUV() ;
  
  Standard_EXPORT     Standard_Boolean IsTangentUDefined() ;
  
  Standard_EXPORT     void TangentU(gp_Dir& D) ;
  
  Standard_EXPORT     Standard_Boolean IsTangentVDefined() ;
  
  Standard_EXPORT     void TangentV(gp_Dir& D) ;
  
  Standard_EXPORT     Standard_Boolean IsNormalDefined() ;
  
  Standard_EXPORT    const gp_Dir& Normal() ;
  
  Standard_EXPORT     Standard_Boolean IsCurvatureDefined() ;
  
  Standard_EXPORT     Standard_Boolean IsUmbilic() ;
  
  Standard_EXPORT     Standard_Real MaxCurvature() ;
  
  Standard_EXPORT     Standard_Real MinCurvature() ;
  
  Standard_EXPORT     void CurvatureDirections(gp_Dir& MaxD,gp_Dir& MinD) ;
  
  Standard_EXPORT     Standard_Real MeanCurvature() ;
  
  Standard_EXPORT     Standard_Real GaussianCurvature() ;





protected:





private:



Handle_Geom_Surface surf;
Standard_Real u;
Standard_Real v;
Standard_Integer level;
Standard_Integer cn;
Standard_Real linTol;
gp_Pnt pnt;
gp_Vec d1U;
gp_Vec d1V;
gp_Vec d2U;
gp_Vec d2V;
gp_Vec dUV;
gp_Dir normal;
Standard_Real minCurv;
Standard_Real maxCurv;
gp_Dir dirMinCurv;
gp_Dir dirMaxCurv;
Standard_Real meanCurv;
Standard_Real gausCurv;
Standard_Integer significantFirstUDerivativeOrder;
Standard_Integer significantFirstVDerivativeOrder;
LProp_Status uTangentStatus;
LProp_Status vTangentStatus;
LProp_Status normalStatus;
LProp_Status curvatureStatus;


};





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


#endif