CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
GeSurface.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 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
26
27#include "Ge/GeEntity3d.h"
28#include "Ge/GePoint3dArray.h"
29#include "Ge/GeVector3dArray.h"
30#include "Ge/GePoint2d.h"
31#include "Ge/GeUvBox.h"
32#include "Ge/GeDoubleArray.h"
33
34class OdGePoint2d;
35class OdGeCurve3d;
38class OdGePointOnSurfaceData;
39class OdGeInterval;
40class OdGeExtents3d;
41
42#include "TD_PackPush.h"
43
52{
53public:
55
69 const OdGePoint3d& point,
70 const OdGeTol& tol = OdGeContext::gTol) const;
71
93 const OdGePoint3d& point,
94 const OdGeUvBox* uvBox,
95 const OdGeTol& tol = OdGeContext::gTol) const;
96
97 //DOM-IGNORE-BEGIN
98 // Tests if point is on *surface*.
100 //DOM-IGNORE-END
101
110 bool isOn(
111 const OdGePoint3d& point,
112 OdGePoint2d& paramPoint,
113 const OdGeTol& tol = OdGeContext::gTol) const;
114
122 const OdGePoint3d& point,
123 const OdGeTol& tol = OdGeContext::gTol) const;
124
141 const OdGePoint3d & point,
142 OdGePoint2d * param,
143 const OdGeUvBox* uvBox,
144 const OdGeTol & tol = OdGeContext::gTol) const;
145
157 const OdGePoint3d& point,
158 OdGePointOnSurface& pntOnSurface,
159 const OdGeTol& tol = OdGeContext::gTol) const;
160
171 const OdGePoint3d& point,
172 const OdGeTol& tol = OdGeContext::gTol) const;
173
180 bool isNormalReversed() const;
181
194 bool isLeftHanded() const;
195
196
204
216 OdGeInterval& intrvlU,
217 OdGeInterval& intrvlV) const;
218
229 OdGeUvBox& uvbox) const;
230
240 const OdGeTol& tol = OdGeContext::gTol) const;
241
251 const OdGeTol& tol = OdGeContext::gTol) const;
252
263 const OdGePoint2d& param) const;
264
282 const OdGePoint2d& param,
283 int numDeriv,
284 OdGeVector3dArray& derivatives) const;
285
304 const OdGePoint2d& param,
305 int numDeriv,
306 OdGeVector3dArray& derivatives,
307 OdGeVector3d& normal) const;
308
318 const OdGeSurface& surf);
319
336 const OdGeUvBox& range = OdGeUvBox(),
337 const OdGeMatrix3d* coordSystem = NULL) const;
338
340 // TD Special :
341
352 bool project(const OdGePoint3d& p, OdGePoint3d& projP, const OdGeTol& tol = OdGeContext::gTol) const;
353
365 const OdGeInterval& realIntrvlU,
366 const OdGeInterval& realIntrvlV);
367
368
383 bool byU,
384 double param) const;
385
400 bool byU,
401 double param,
402 const OdGeInterval& interval) const;
403
419 OdGeDoubleArray *uParams,
420 OdGeDoubleArray *vParams,
421 OdGePoint3dArray *uPoints,
422 OdGePoint3dArray *vPoints,
423 double tol = 1e-13) const;
424
425protected:
428 const OdGeSurface& surf);
429
430};
431
432#include "TD_PackPop.h"
433
434#endif // OD_GESURF_H
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > > OdGePoint3dArray
tol
OdArray< double, OdMemoryAllocator< double > > OdGeDoubleArray
#define GE_TOOLKIT_EXPORT
Definition GeExport.h:35
OdArray< OdGeVector3d, OdMemoryAllocator< OdGeVector3d > > OdGeVector3dArray
bool isOn(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint2d paramOf(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
bool getPoles(OdGeDoubleArray *uParams, OdGeDoubleArray *vParams, OdGePoint3dArray *uPoints, OdGePoint3dArray *vPoints, double tol=1e-13) const
bool isClosedInV(const OdGeTol &tol=OdGeContext::gTol) const
double distanceTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
bool project(const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const
bool setEnvelope(const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV)
OdGePoint3d closestPointTo(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeExtents3d getGeomExtents(const OdGeUvBox &range=OdGeUvBox(), const OdGeMatrix3d *coordSystem=NULL) const
void getEnvelope(OdGeInterval &intrvlU, OdGeInterval &intrvlV) const
bool isNormalReversed() const
TD_USING(OdGeEntity3d::isOn)
GE_OPERATORS_OVERRIDE_3D(OdGeSurface)
OdGeSurface & reverseNormal()
bool isLeftHanded() const
OdGePoint3d evalPoint(const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
OdGePoint3d evalPoint(const OdGePoint2d &param) const
OdGePoint3d closestPointTo(const OdGePoint3d &point, OdGePoint2d *param, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const
void getClosestPointTo(const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint3d evalPoint(const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
bool isClosedInU(const OdGeTol &tol=OdGeContext::gTol) const
bool isOn(const OdGePoint3d &point, OdGePoint2d &paramPoint, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve3d * makeIsoparamCurve(bool byU, double param) const
void getEnvelope(OdGeUvBox &uvbox) const
OdGePoint2d paramOf(const OdGePoint3d &point, const OdGeUvBox *uvBox, const OdGeTol &tol=OdGeContext::gTol) const
OdGeSurface(const OdGeSurface &surf)
OdGeCurve3d * makeIsoparamCurve(bool byU, double param, const OdGeInterval &interval) const
OdGeSurface & operator=(const OdGeSurface &surf)
GLenum GLint * range
Definition gles2_ext.h:563
static GE_STATIC_EXPORT OdGeTol gTol
Definition GeGbl.h:67