CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GeCurve2d.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_GE_CURVE_2D_H
25#define OD_GE_CURVE_2D_H
28class OdGeInterval;
29class OdGeMatrix2d;
30class OdGeLine2d;
31class OdGePointOnCurve2dData;
33class OdGeExtents2d;
34
35#include "Ge/GeEntity2d.h"
36#include "Ge/GeIntArray.h"
37#include "Ge/GeInterval.h"
38#include "Ge/GePoint2d.h"
39#include "Ge/GePoint2dArray.h"
40#include "Ge/GeVector2d.h"
41#include "Ge/GeVector2dArray.h"
43#include "Ge/GeDoubleArray.h"
44
46
47#include "TD_PackPush.h"
48
57{
58public:
59
71
90 void convertTo3d(OdGeCurve3d& curve3d) const;
91
102 OdGeInterval& interval) const;
103
116 OdGeInterval& interval,
117 OdGePoint2d& start,
118 OdGePoint2d& end) const;
119
132
141
152 const OdGeInterval& interval);
153
165 const OdGePoint2d& point,
166 const OdGeTol& tol = OdGeContext::gTol) const;
167
177 const OdGeCurve2d& otherCur,
178 const OdGeTol& tol = OdGeContext::gTol) const;
179
190 const OdGePoint2d& point,
191 const OdGeTol& tol = OdGeContext::gTol) const;
192
210 const OdGePoint2d& point,
211 double& param,
212 const OdGeInterval* range,
213 const OdGeTol& tol = OdGeContext::gTol) const;
214
230 const OdGeCurve2d& curve2d,
231 OdGePoint2d& pntOnOtherCrv,
232 const OdGeTol& tol = OdGeContext::gTol) const;
233
248 const OdGePoint2d& point,
249 OdGePointOnCurve2d& pntOnCrv,
250 const OdGeTol& tol = OdGeContext::gTol) const;
251
269 const OdGeCurve2d& curve2d,
270 OdGePointOnCurve2d& pntOnThisCrv,
271 OdGePointOnCurve2d& pntOnOtherCrv,
272 const OdGeTol& tol = OdGeContext::gTol) const;
273
285 const OdGePoint2d& point,
286 OdGePointOnCurve2d& pntOnCrv,
287 const OdGeTol& tol = OdGeContext::gTol) const;
288
289 //DOM-IGNORE-BEGIN
290 // Tests if point is on *curve*.
292 //DOM-IGNORE-END
293
305 bool isOn(
306 const OdGePoint2d& point,
307 double& param,
308 const OdGeTol& tol = OdGeContext::gTol) const;
309
319 bool isOn(
320 double param,
321 const OdGeTol& tol = OdGeContext::gTol) const;
322
339 double paramOf(
340 const OdGePoint2d& point,
341 const OdGeTol& tol = OdGeContext::gTol) const;
342
360 double paramOf(const OdGePoint2d & point,
361 const OdGeInterval * range,
362 const OdGeTol & tol) const;
363
391 double distance,
392 OdGeCurve2dPtrArray& offsetCurveList,
394 const OdGeTol& tol = OdGeContext::gTol) const;
395
403 const OdGeTol& tol = OdGeContext::gTol) const;
404
417 double& period) const;
418
429 OdGeLine2d& line,
430 const OdGeTol& tol = OdGeContext::gTol) const;
431
442 double length(
443 double fromParam,
444 double toParam,
445 double tol
446#ifndef SWIG
447 = OdGeContext::gTol.equalPoint()
448#endif
449 ) const;
450
458 double length(
459 double tol
460#ifndef SWIG
461 = OdGeContext::gTol.equalPoint()
462#endif
463 ) const;
464
478 double datumParam,
479 double length,
480 bool posParamDir
481#ifndef SWIG
482 = true
483#endif
484 , double tol
485#ifndef SWIG
486 = OdGeContext::gTol.equalPoint()
487#endif
488 ) const;
489
503 bool area(
504 double startParam, double endParam,
505 double& value,
506 const OdGeTol& tol = OdGeContext::gTol) const;
507
518 OdGe::EntityId& degenerateType,
519 const OdGeTol& tol = OdGeContext::gTol) const;
520
532 OdGeEntity2d*& pConvertedEntity,
533 const OdGeTol& tol = OdGeContext::gTol) const;
534
550 double param,
551 OdGeCurve2d*& piece1,
552 OdGeCurve2d*& piece2) const;
553
566 OdGeCurve2dPtrArray& explodedCurves,
567 OdGeIntArray& newExplodedCurve,
568 const OdGeInterval* interval = NULL) const;
569
582 const OdGePoint2d& point,
583 OdGePointOnCurve2d& approxPnt,
584 const OdGeInterval* nbhd = NULL,
585 const OdGeTol& tol = OdGeContext::gTol) const;
586
602 const OdGeCurve2d& otherCurve,
603 OdGePointOnCurve2d& approxPntOnThisCrv,
604 OdGePointOnCurve2d& approxPntOnOtherCrv,
605 const OdGeInterval* nbhd1 = NULL,
606 const OdGeInterval* nbhd2 = NULL,
607 const OdGeTol& tol = OdGeContext::gTol) const;
608
620
634 const OdGeInterval& range) const;
635
643
653 const OdGeInterval& range) const;
654
674 const OdGeMatrix2d* coordSystem = NULL) const;
675
687 OdGePoint2d& startPoint) const;
688
700 OdGePoint2d& endPoint) const;
701
718 OdGePoint2d& point,
719 double coef = 0.5) const;
720
741 double coef = 0.5) const;
742
754 double param) const;
755
769 double param,
770 int numDeriv,
771 OdGeVector2dArray& derivatives) const;
772
784 double fromParam,
785 double toParam,
786 double approxEps,
787 OdGePoint2dArray& pointArray,
788 OdGeDoubleArray& paramArray) const;
789
797 int numSample,
798 OdGePoint2dArray& pointArray) const;
799
808
810 // TD Special :
811
826 double fromParam,
827 double toParam,
828 double approxEps,
829 OdGePoint2dArray& pointArray,
830 OdGeDoubleArray* pParamArray = NULL) const;
831
846 double fromParam,
847 double toParam,
848 double approxEps,
849 OdGePoint2dArray& pointArray,
850 OdGeDoubleArray* pParamArray = NULL) const;
851
860 int numSample,
861 OdGePoint2dArray& pointArray) const;
862
877 const OdGeCurve3d* curve,
878 const OdGeSurface* surface,
879 const OdGeTol& tol = OdGeContext::gTol);
880//DOM-IGNORE-BEGIN
881protected:
886 const OdGeCurve2d& source);
887//DOM-IGNORE-END
888};
889
890#include "TD_PackPop.h"
891
892#endif // OD_GE_CURVE_2D_H
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
bool isOn(const OdGePoint2d &point, double &param, const OdGeTol &tol=OdGeContext::gTol) const
OdGeBoundBlock2d boundBlock() const
void getSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
OdGeCurve3d * convertTo3d() const
static OdGeCurve2d * restoreUvCurve(const OdGeCurve3d *curve, const OdGeSurface *surface, const OdGeTol &tol=OdGeContext::gTol)
TD_USING(OdGeEntity2d::isOn)
double paramOf(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve2d & setInterval()
OdGePoint2d midPoint(double coef=0.5) const
double length(double tol=OdGeContext::gTol.equalPoint()) const
bool isClosed(const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve2d & reverseParam()
double paramOf(const OdGePoint2d &point, const OdGeInterval *range, const OdGeTol &tol) const
void appendSamplePoints(int numSample, OdGePoint2dArray &pointArray) const
void appendSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray *pParamArray=NULL) const
void getLocalClosestPoints(const OdGePoint2d &point, OdGePointOnCurve2d &approxPnt, const OdGeInterval *nbhd=NULL, const OdGeTol &tol=OdGeContext::gTol) const
bool isDegenerate(OdGe::EntityId &degenerateType, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint2d evalPoint(double param, int numDeriv, OdGeVector2dArray &derivatives) const
OdGePoint2d closestPointTo(const OdGeCurve2d &curve2d, OdGePoint2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
bool isLinear(OdGeLine2d &line, const OdGeTol &tol=OdGeContext::gTol) const
OdGeBoundBlock2d orthoBoundBlock(const OdGeInterval &range) const
void getLocalClosestPoints(const OdGeCurve2d &otherCurve, OdGePointOnCurve2d &approxPntOnThisCrv, OdGePointOnCurve2d &approxPntOnOtherCrv, const OdGeInterval *nbhd1=NULL, const OdGeInterval *nbhd2=NULL, const OdGeTol &tol=OdGeContext::gTol) const
bool isPeriodic(double &period) const
OdGePoint2d evalPoint(double param) const
bool isOn(double param, const OdGeTol &tol=OdGeContext::gTol) const
bool area(double startParam, double endParam, double &value, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCurve2d(const OdGeCurve2d &source)
OdGeBoundBlock2d orthoBoundBlock() const
OdGeBoundBlock2d boundBlock(const OdGeInterval &range) const
bool hasMidPoint(OdGePoint2d &point, double coef=0.5) const
double paramAtLength(double datumParam, double length, bool posParamDir=true, double tol=OdGeContext::gTol.equalPoint()) const
void getSamplePoints(int numSample, OdGePoint2dArray &pointArray) const
bool explode(OdGeCurve2dPtrArray &explodedCurves, OdGeIntArray &newExplodedCurve, const OdGeInterval *interval=NULL) const
void convertTo3d(OdGeCurve3d &curve3d) const
void getInterval(OdGeInterval &interval) const
double length(double fromParam, double toParam, double tol=OdGeContext::gTol.equalPoint()) const
OdGePoint2d closestPointTo(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
bool getNormalPoint(const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint2d closestPointTo(const OdGePoint2d &point, double &param, const OdGeInterval *range, const OdGeTol &tol=OdGeContext::gTol) const
void getInterval(OdGeInterval &interval, OdGePoint2d &start, OdGePoint2d &end) const
void getTrimmedOffset(double distance, OdGeCurve2dPtrArray &offsetCurveList, OdGe::OffsetCrvExtType extensionType=OdGe::kFillet, const OdGeTol &tol=OdGeContext::gTol) const
void getClosestPointTo(const OdGePoint2d &point, OdGePointOnCurve2d &pntOnCrv, const OdGeTol &tol=OdGeContext::gTol) const
double distanceTo(const OdGeCurve2d &otherCur, const OdGeTol &tol=OdGeContext::gTol) const
double distanceTo(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
bool isDegenerate(OdGeEntity2d *&pConvertedEntity, const OdGeTol &tol=OdGeContext::gTol) const
void getSplitCurves(double param, OdGeCurve2d *&piece1, OdGeCurve2d *&piece2) const
OdGeExtents2d getGeomExtents(const OdGeInterval &range=OdGeInterval(), const OdGeMatrix2d *coordSystem=NULL) const
void getSamplePoints(double fromParam, double toParam, double approxEps, OdGePoint2dArray &pointArray, OdGeDoubleArray &paramArray) const
bool setInterval(const OdGeInterval &interval)
bool hasEndPoint(OdGePoint2d &endPoint) const
void getClosestPointTo(const OdGeCurve2d &curve2d, OdGePointOnCurve2d &pntOnThisCrv, OdGePointOnCurve2d &pntOnOtherCrv, const OdGeTol &tol=OdGeContext::gTol) const
bool hasStartPoint(OdGePoint2d &startPoint) const
OdGeEntity2d & operator=(const OdGeEntity2d &entity)
bool isOn(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
Definition: GeTol.h:49
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
GLuint GLsizei GLsizei * length
Definition: gles2_ext.h:274
GLenum GLint * range
Definition: gles2_ext.h:563
GLsizei const GLfloat * value
Definition: gles2_ext.h:302
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:65
EntityId
Definition: Ge.h:62
OffsetCrvExtType
Definition: Ge.h:316
@ kFillet
Definition: Ge.h:318