CFx SDK Documentation  2022 SP0
GeCircArc3d.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_GECIRCARC3D_H
25 #define OD_GECIRCARC3D_H
27 #include "Ge/GeCurve3d.h"
28 #include "Ge/GePlane.h"
29 
30 #include "TD_PackPush.h"
31 
32 class OdGeLine3d;
33 class OdGeCircArc2d;
34 class OdGePlanarEnt;
35 class OdGeExtents3d;
36 
48 {
49 public:
50 
51 
74  const OdGeCircArc3d& source);
76  const OdGePoint3d& center,
77  const OdGeVector3d& normal,
78  double radius);
80  const OdGePoint3d& center,
81  const OdGeVector3d& normal,
82  const OdGeVector3d& refVec,
83  double radius, double startAng = 0,
84  double endAng = Oda2PI);
86  const OdGePoint3d& startPoint,
87  const OdGePoint3d& secondPoint,
88  const OdGePoint3d& endPoint);
89 
100  const OdGePlanarEnt& plane,
101  OdGePoint3d& pointOnPlane,
102  const OdGeTol& tol = OdGeContext::gTol) const;
103 
117  const OdGeLinearEnt3d& line,
118  int& numInt,
119  OdGePoint3d& p1,
120  OdGePoint3d& p2,
121  const OdGeTol& tol = OdGeContext::gTol) const;
122 
137  const OdGeCircArc3d& arc,
138  int& numInt,
139  OdGePoint3d& p1,
140  OdGePoint3d& p2,
141  const OdGeTol& tol = OdGeContext::gTol) const;
142 
158  const OdGePlanarEnt& plane,
159  int& numInt,
160  OdGePoint3d& p1,
161  OdGePoint3d& p2,
162  const OdGeTol& tol = OdGeContext::gTol) const;
163 
179  const OdGeLinearEnt3d& line,
180  const OdGeVector3d& projDir,
181  int& numInt,
182  OdGePoint3d& pntOnArc1,
183  OdGePoint3d& pntOnArc2,
184  OdGePoint3d& pntOnLine1,
185  OdGePoint3d& pntOnLine2,
186  const OdGeTol& tol = OdGeContext::gTol) const;
187 
197  bool tangent(
198  const OdGePoint3d& point,
199  OdGeLine3d& line,
200  const OdGeTol& tol = OdGeContext::gTol) const;
201 
220  bool tangent(
221  const OdGePoint3d& point,
222  OdGeLine3d& line,
223  const OdGeTol& tol,
224  OdGeError& status) const;
225 
231  void getPlane(
232  OdGePlane& plane) const;
233 
241  bool isInside(
242  const OdGePoint3d& point,
243  const OdGeTol& tol = OdGeContext::gTol) const;
244 
249 
254 
259 
263  double radius() const;
264 
270  double startAng() const;
271 
277  double endAng() const;
278 
283 
288 
295  const OdGePoint3d& center);
296 
305  const OdGeVector3d& normal,
306  const OdGeVector3d& refVec);
307 
314  double radius);
315 
325  double startAng,
326  double endAng);
327 
336  const OdGePoint3d& center,
337  const OdGeVector3d& normal,
338  double radius);
339 
359  const OdGePoint3d& center,
360  const OdGeVector3d& normal,
361  const OdGeVector3d& refVec,
362  double radius,
363  double startAng,
364  double endAng);
365 
374  const OdGePoint3d& startPoint,
375  const OdGePoint3d& secondPoint,
376  const OdGePoint3d& endPoint);
377 
387  const OdGePoint3d& startPoint,
388  const OdGePoint3d& secondPoint,
389  const OdGePoint3d& endPoint,
390  OdGeError& status);
391 
405  const OdGeCurve3d& curve1,
406  const OdGeCurve3d& curve2,
407  double radius,
408  double& param1,
409  double& param2,
410  bool& success);
411 
426  const OdGeCurve3d& curve1,
427  const OdGeCurve3d& curve2,
428  const OdGeCurve3d& curve3,
429  double& param1,
430  double& param2,
431  double& param3,
432  bool& success);
433 
435  const OdGeCircArc3d& arc);
436 
438 
445  OdGeExtents3d& extents) const;
446 };
447 
448 #include "TD_PackPop.h"
449 
450 #endif
451 
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
#define Oda2PI
Definition: OdaCommon.h:57
void getPlane(OdGePlane &plane) const
double endAng() const
bool intersectWith(const OdGePlanarEnt &plane, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCircArc3d & set(const OdGePoint3d &startPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &endPoint)
OdGeCircArc3d & set(const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, const OdGeCurve3d &curve3, double &param1, double &param2, double &param3, bool &success)
OdGeCircArc3d(const OdGeCircArc3d &source)
bool intersectWith(const OdGeLinearEnt3d &line, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCircArc3d & set(const OdGePoint3d &center, const OdGeVector3d &normal, double radius)
OdGeCircArc3d(const OdGePoint3d &center, const OdGeVector3d &normal, const OdGeVector3d &refVec, double radius, double startAng=0, double endAng=Oda2PI)
OdGePoint3d center() const
OdGeCircArc3d & setRadius(double radius)
OdGeCircArc3d & setAxes(const OdGeVector3d &normal, const OdGeVector3d &refVec)
OdGeCircArc3d & set(const OdGePoint3d &startPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &endPoint, OdGeError &status)
OdGeCircArc3d & set(const OdGeCurve3d &curve1, const OdGeCurve3d &curve2, double radius, double &param1, double &param2, bool &success)
OdGeCircArc3d & set(const OdGePoint3d &center, const OdGeVector3d &normal, const OdGeVector3d &refVec, double radius, double startAng, double endAng)
OdGePoint3d closestPointToPlane(const OdGePlanarEnt &plane, OdGePoint3d &pointOnPlane, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCircArc3d & setAngles(double startAng, double endAng)
bool tangent(const OdGePoint3d &point, OdGeLine3d &line, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCircArc3d(const OdGePoint3d &center, const OdGeVector3d &normal, double radius)
OdGeVector3d refVec() const
OdGeVector3d normal() const
bool projIntersectWith(const OdGeLinearEnt3d &line, const OdGeVector3d &projDir, int &numInt, OdGePoint3d &pntOnArc1, OdGePoint3d &pntOnArc2, OdGePoint3d &pntOnLine1, OdGePoint3d &pntOnLine2, const OdGeTol &tol=OdGeContext::gTol) const
double radius() const
OdGePoint3d endPoint() const
double startAng() const
OdGePoint3d startPoint() const
OdGeCircArc3d & setCenter(const OdGePoint3d &center)
bool isInside(const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
OdGeCircArc3d(const OdGePoint3d &startPoint, const OdGePoint3d &secondPoint, const OdGePoint3d &endPoint)
bool intersectWith(const OdGeCircArc3d &arc, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
bool tangent(const OdGePoint3d &point, OdGeLine3d &line, const OdGeTol &tol, OdGeError &status) const
void getGeomExtents(OdGeExtents3d &extents) const
OdGeCurve3d & operator=(const OdGeCurve3d &curve)
Definition: GeTol.h:49
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60
ErrorCondition
Definition: Ge.h:228