CFx SDK Documentation  2022 SP0
GeEllipArc3d.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_GEELL3D_H
25 #define OD_GEELL3D_H
27 class OdGeEllipArc2d;
28 class OdGeCircArc3d;
29 class OdGeLineEnt3d;
30 class OdGePlanarEnt;
31 class OdGeExtents3d;
32 
33 #include "Ge/GeCurve3d.h"
34 #include "OdPlatformSettings.h"
35 
36 #include "TD_PackPush.h"
37 
60 {
61 public:
62 
63 
78  const OdGeEllipArc3d& ell);
80  const OdGeCircArc3d& source);
82  const OdGePoint3d& center,
83  const OdGeVector3d& majorAxis,
84  const OdGeVector3d& minorAxis,
85  double majorRadius,
86  double minorRadius);
88  const OdGePoint3d& center,
89  const OdGeVector3d& majorAxis,
90  const OdGeVector3d& minorAxis,
91  double majorRadius,
92  double minorRadius,
93  double startAng,
94  double endAng);
95 
106  const OdGePlanarEnt& plane,
107  OdGePoint3d& pointOnPlane,
108  const OdGeTol& tol = OdGeContext::gTol) const ;
109 
125  const OdGeLinearEnt3d& line,
126  int& numInt,
127  OdGePoint3d& p1,
128  OdGePoint3d& p2,
129  const OdGeTol& tol = OdGeContext::gTol) const ;
130 
146  const OdGePlanarEnt& plane,
147  int& numInt,
148  OdGePoint3d& p1,
149  OdGePoint3d& p2,
150  const OdGeTol& tol = OdGeContext::gTol) const ;
151 
167  const OdGeLinearEnt3d& line,
168  const OdGeVector3d& projDir,
169  int& numInt,
170  OdGePoint3d& pntOnEllipse1,
171  OdGePoint3d& pntOnEllipse2,
172  OdGePoint3d& pntOnLine1,
173  OdGePoint3d& pntOnLine2,
174  const OdGeTol& tol = OdGeContext::gTol) const ;
175 
179  void getPlane(
180  OdGePlane& plane) const ;
181 
189  const OdGeTol& tol = OdGeContext::gTol) const ;
190 
198  bool isInside(
199  const OdGePoint3d& point,
200  const OdGeTol& tol = OdGeContext::gTol) const ;
201 
205  OdGePoint3d center() const ;
206 
210  double minorRadius() const ;
211 
215  double majorRadius() const ;
216 
221 
226 
234 
242  double startAng() const ;
243 
251  double endAng() const ;
252 
257 
262 
269  const OdGePoint3d& center) ;
270 
277  double rad) ;
278 
285  double rad) ;
286 
294  const OdGeVector3d& majorAxis,
295  const OdGeVector3d& minorAxis) ;
296 
306  double startAng,
307  double endAng) ;
308 
320  const OdGePoint3d& center,
321  const OdGeVector3d& majorAxis,
322  const OdGeVector3d& minorAxis,
323  double majorRadius,
324  double minorRadius) ;
325 
341  const OdGePoint3d& center,
342  const OdGeVector3d& majorAxis,
343  const OdGeVector3d& minorAxis,
344  double majorRadius,
345  double minorRadius,
346  double startAng,
347  double endAng) ;
348 
356  const OdGeCircArc3d& arc) ;
357 
359  const OdGeEllipArc3d& ell);
360 
362  // TD Special :
363 
364  // functions making ellipse's axis orthogonal
365  // this one requires error flag
366 
389  const OdGeTol& tol,
390  OdGe::ErrorCondition& flag) ;
391 
407  const OdGeTol& tol = OdGeContext::gTol) ;
408 
415  double param) const ;
416 
423  OdGeExtents3d& extents) const ;
424 
437  OdGeVector3d tan,
438  OdGeDoubleArray& params) const ;
439 
452  const OdGePlane& refPlane,
453  OdGeDoubleArray& params) const ;
454 
455 };
456 
457 #include "TD_PackPop.h"
458 
459 #endif // OD_GEELL3D_H
460 
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdResult
Definition: OdResult.h:29
OdGeCurve3d & operator=(const OdGeCurve3d &curve)
OdGeEllipArc3d(const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
OdResult inverseTangent(OdGeVector3d tan, OdGeDoubleArray &params) const
OdResult inverseTangentPlane(const OdGePlane &refPlane, OdGeDoubleArray &params) const
void orthogonolizeAxes(const OdGeTol &tol, OdGe::ErrorCondition &flag)
OdGeEllipArc3d(const OdGeEllipArc3d &ell)
double minorRadius() const
double majorRadius() const
OdGeEllipArc3d(const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius)
void orthogonolizeAxes(const OdGeTol &tol=OdGeContext::gTol)
OdGeVector3d tangentAt(double param) const
OdGePoint3d endPoint() const
double startAng() const
void getPlane(OdGePlane &plane) const
OdGePoint3d closestPointToPlane(const OdGePlanarEnt &plane, OdGePoint3d &pointOnPlane, const OdGeTol &tol=OdGeContext::gTol) const
bool isCircular(const OdGeTol &tol=OdGeContext::gTol) const
bool intersectWith(const OdGePlanarEnt &plane, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
void getGeomExtents(OdGeExtents3d &extents) const
OdGePoint3d startPoint() const
OdGeEllipArc3d & set(const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
bool isInside(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeVector3d majorAxis() const
OdGePoint3d center() const
OdGeVector3d minorAxis() const
OdGeEllipArc3d & set(const OdGeCircArc3d &arc)
OdGeEllipArc3d & setMinorRadius(double rad)
OdGeEllipArc3d & setAngles(double startAng, double endAng)
double endAng() const
OdGeVector3d normal() const
OdGeEllipArc3d & set(const OdGePoint3d &center, const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis, double majorRadius, double minorRadius)
bool intersectWith(const OdGeLinearEnt3d &line, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
OdGeEllipArc3d(const OdGeCircArc3d &source)
OdGeEllipArc3d & setAxes(const OdGeVector3d &majorAxis, const OdGeVector3d &minorAxis)
OdGeEllipArc3d & setMajorRadius(double rad)
OdGeEllipArc3d & setCenter(const OdGePoint3d &center)
bool projIntersectWith(const OdGeLinearEnt3d &line, const OdGeVector3d &projDir, int &numInt, OdGePoint3d &pntOnEllipse1, OdGePoint3d &pntOnEllipse2, OdGePoint3d &pntOnLine1, OdGePoint3d &pntOnLine2, const OdGeTol &tol=OdGeContext::gTol) const
Definition: GeTol.h:49
GLenum GLint * params
Definition: gles2_ext.h:184
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60
ErrorCondition
Definition: Ge.h:228