CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GeSurface.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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#include "Ge/GeUvBox.h"
31#include "Ge/GeDoubleArray.h"
32
33class OdGePoint2d;
34class OdGeCurve3d;
37class OdGePointOnSurfaceData;
38class OdGeInterval;
39class OdGeExtents3d;
40
41#include "TD_PackPush.h"
42
51{
52public:
66 const OdGePoint3d& point,
67 const OdGeTol& tol = OdGeContext::gTol) const;
68
90 const OdGePoint3d& point,
91 const OdGeUvBox* uvBox,
92 const OdGeTol& tol = OdGeContext::gTol) const;
93
94 //DOM-IGNORE-BEGIN
95 // Tests if point is on *surface*.
97 //DOM-IGNORE-END
98
107 bool isOn(
108 const OdGePoint3d& point,
109 OdGePoint2d& paramPoint,
110 const OdGeTol& tol = OdGeContext::gTol) const;
111
119 const OdGePoint3d& point,
120 const OdGeTol& tol = OdGeContext::gTol) const;
121
138 const OdGePoint3d & point,
139 OdGePoint2d * param,
140 const OdGeUvBox* uvBox,
141 const OdGeTol & tol = OdGeContext::gTol) const;
142
154 const OdGePoint3d& point,
155 OdGePointOnSurface& pntOnSurface,
156 const OdGeTol& tol = OdGeContext::gTol) const;
157
168 const OdGePoint3d& point,
169 const OdGeTol& tol = OdGeContext::gTol) const;
170
177 bool isNormalReversed() const;
178
191 bool isLeftHanded() const;
192
193
201
213 OdGeInterval& intrvlU,
214 OdGeInterval& intrvlV) const;
215
226 OdGeUvBox& uvbox) const;
227
237 const OdGeTol& tol = OdGeContext::gTol) const;
238
248 const OdGeTol& tol = OdGeContext::gTol) const;
249
260 const OdGePoint2d& param) const;
261
279 const OdGePoint2d& param,
280 int numDeriv,
281 OdGeVector3dArray& derivatives) const;
282
301 const OdGePoint2d& param,
302 int numDeriv,
303 OdGeVector3dArray& derivatives,
304 OdGeVector3d& normal) const;
305
315 const OdGeSurface& surf);
316
333 const OdGeUvBox& range = OdGeUvBox(),
334 const OdGeMatrix3d* coordSystem = NULL) const;
335
337 // TD Special :
338
349 bool project(const OdGePoint3d& p, OdGePoint3d& projP, const OdGeTol& tol = OdGeContext::gTol) const;
350
362 const OdGeInterval& realIntrvlU,
363 const OdGeInterval& realIntrvlV);
364
365
380 bool byU,
381 double param) const;
382
397 bool byU,
398 double param,
399 const OdGeInterval& interval) const;
400
416 OdGeDoubleArray *uParams,
417 OdGeDoubleArray *vParams,
418 OdGePoint3dArray *uPoints,
419 OdGePoint3dArray *vPoints,
420 double tol = 1e-13) const;
421
422protected:
425 const OdGeSurface& surf);
426
427};
428
429#include "TD_PackPop.h"
430
431#endif // OD_GESURF_H
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
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)
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)
Definition: GeTol.h:49
GLenum GLint * range
Definition: gles2_ext.h:563
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:65