CFx SDK Documentation  2020SP3
GeSurface.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef OD_GESURF_H
25 #define OD_GESURF_H
27 #include "Ge/GeEntity3d.h"
28 #include "Ge/GeVector3dArray.h"
29 #include "Ge/GePoint2d.h"
30 
31 class OdGePoint2d;
32 class OdGeCurve3d;
33 class OdGePointOnCurve3d;
34 class OdGePointOnSurface;
35 class OdGePointOnSurfaceData;
36 class OdGeInterval;
37 
38 #include "TD_PackPush.h"
39 
48 {
49 public:
50 
51 
68  const OdGePoint3d& point,
69  const OdGeTol& tol = OdGeContext::gTol) const;
70 
77  bool isOn(
78  const OdGePoint3d& point,
79  OdGePoint2d& paramPoint,
80  const OdGeTol& tol = OdGeContext::gTol) const;
81 
89  const OdGePoint3d& point,
90  const OdGeTol& tol = OdGeContext::gTol) const;
91 
103  const OdGePoint3d& point,
104  OdGePointOnSurface& pntOnSurface,
105  const OdGeTol& tol = OdGeContext::gTol) const;
106 
116  double distanceTo(
117  const OdGePoint3d& point,
118  const OdGeTol& tol = OdGeContext::gTol) const;
119 
124  bool isNormalReversed() const;
125 
130 
142  OdGeInterval& intrvlU,
143  OdGeInterval& intrvlV) const;
144 
154  const OdGeTol& tol = OdGeContext::gTol) const;
155 
165  const OdGeTol& tol = OdGeContext::gTol) const;
166 
180  const OdGePoint2d& param) const;
181 
197  const OdGePoint2d& param,
198  int numDeriv,
199  OdGeVector3dArray& derivatives) const;
200 
217  const OdGePoint2d& param,
218  int numDeriv,
219  OdGeVector3dArray& derivatives,
220  OdGeVector3d& normal) const;
221 
223  const OdGeSurface& surf);
224 
226  // TD Special :
227 
236  bool project(const OdGePoint3d& p, OdGePoint3d& projP, const OdGeTol& tol = OdGeContext::gTol) const;
237 
249  bool& swapUV,
250  double& uCoeffA,
251  double& vCoeffA,
252  double& uCoeffB,
253  double& vCoeffB) const;
254 
265  bool swapUV = false,
266  double uCoeffA = 1.,
267  double vCoeffA = 1.,
268  double uCoeffB = 0.,
269  double vCoeffB = 0.);
270 
281  OdGeInterval& implicitIntrvlU,
282  OdGeInterval& implicitIntrvlV) const;
283 
295  const OdGeInterval& realIntrvlU,
296  const OdGeInterval& realIntrvlV);
297 
298 protected:
301  const OdGeSurface& surf);
302 
303 };
304 
305 #include "TD_PackPop.h"
306 
307 #endif // OD_GESURF_H
308 
OdGeEntity3d::isOn
bool isOn(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeSurface
Definition: GeSurface.h:48
OdGeVector3d
Definition: GeVector3d.h:54
OdGeSurface::evalPoint
OdGePoint3d evalPoint(const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
tol
tol
Definition: DimVarDefs.h:2287
OdGeSurface::evalPoint
OdGePoint3d evalPoint(const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
OdGeSurface::OdGeSurface
OdGeSurface(const OdGeSurface &surf)
OdGeSurface::TD_USING
TD_USING(OdGeEntity3d::isOn)
OdGeSurface::operator=
OdGeSurface & operator=(const OdGeSurface &surf)
OdGeSurface::getImplicitEnvelope
void getImplicitEnvelope(OdGeInterval &implicitIntrvlU, OdGeInterval &implicitIntrvlV) const
OdGeSurface::OdGeSurface
OdGeSurface()
OdArray< OdGeVector3d, OdMemoryAllocator< OdGeVector3d > >
OdGeSurface::paramOf
OdGePoint2d paramOf(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
TD_PackPop.h
OdGeSurface::getReparameterization
bool getReparameterization(bool &swapUV, double &uCoeffA, double &vCoeffA, double &uCoeffB, double &vCoeffB) const
OdGeSurface::isOn
bool isOn(const OdGePoint3d &point, OdGePoint2d &paramPoint, const OdGeTol &tol=OdGeContext::gTol) const
OdGeSurface::distanceTo
double distanceTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeSurface::isClosedInU
bool isClosedInU(const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint3d
Definition: GePoint3d.h:55
OdGeSurface::getClosestPointTo
void getClosestPointTo(const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const
OdGeSurface::setReparameterization
void setReparameterization(bool swapUV=false, double uCoeffA=1., double vCoeffA=1., double uCoeffB=0., double vCoeffB=0.)
OdGeSurface::isNormalReversed
bool isNormalReversed() const
OdGeSurface::closestPointTo
OdGePoint3d closestPointTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
TD_PackPush.h
OdGeSurface::getEnvelope
void getEnvelope(OdGeInterval &intrvlU, OdGeInterval &intrvlV) const
OdGeSurface::setEnvelope
bool setEnvelope(const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV)
OdGeSurface::evalPoint
OdGePoint3d evalPoint(const OdGePoint2d &param) const
OdGeCurve3d
Definition: GeCurve3d.h:56
OdGeContext::gTol
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60
GE_TOOLKIT_EXPORT
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGePointOnCurve3d
Definition: GePointOnCurve3d.h:49
OdGeSurface::project
bool project(const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const
OdGeInterval
Definition: GeInterval.h:40
OdGeSurface::isClosedInV
bool isClosedInV(const OdGeTol &tol=OdGeContext::gTol) const
OdGeTol
Definition: GeTol.h:49
GePoint2d.h
OdGePointOnSurface
Definition: GePointOnSurface.h:48
GeVector3dArray.h
OdGeEntity3d
Definition: GeEntity3d.h:46
OdGeSurface::reverseNormal
OdGeSurface & reverseNormal()
OdGePoint2d
Definition: GePoint2d.h:60