CFx SDK Documentation  2022 SP0
GeCircArc2d.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_GE_ARC2D_H
25 #define OD_GE_ARC2D_H
27 class OdGeLine2d;
28 class OdGeLinearEnt2d;
29 class OdGeExtents2d;
30 
31 
32 #include "Ge/GeCurve2d.h"
33 
34 #include "TD_PackPush.h"
35 
47 {
48 public:
49 
50 
82  const OdGeCircArc2d& source);
84  const OdGePoint2d& center,
85  double radius);
87  const OdGePoint2d& center,
88  double radius,
89  double startAng,
90  double endAng,
91  const OdGeVector2d& refVec = OdGeVector2d::kXAxis,
92  bool isClockWise = false);
94  const OdGePoint2d& startPoint,
95  const OdGePoint2d& secondPoint,
96  const OdGePoint2d& endPoint);
98  const OdGePoint2d& startPoint,
99  const OdGePoint2d& endPoint,
100  double bulge,
101  bool bulgeFlag = true);
102 
118  const OdGeLinearEnt2d& line,
119  int& numInt,
120  OdGePoint2d& p1,
121  OdGePoint2d& p2,
122  const OdGeTol& tol = OdGeContext::gTol) const;
123 
139  const OdGeCircArc2d& circarc,
140  int& numInt,
141  OdGePoint2d& p1,
142  OdGePoint2d& p2,
143  const OdGeTol& tol = OdGeContext::gTol) const;
144 
154  bool tangent(
155  const OdGePoint2d& point,
156  OdGeLine2d& line,
157  const OdGeTol& tol = OdGeContext::gTol) const;
158 
177  bool tangent(
178  const OdGePoint2d& point,
179  OdGeLine2d& line,
180  const OdGeTol& tol,
181  OdGeError& status) const;
182 
190  bool isInside(
191  const OdGePoint2d& point,
192  const OdGeTol& tol = OdGeContext::gTol) const;
193 
198 
202  double radius() const;
203 
210  double startAng() const;
211 
218  double endAng() const;
219 
223  bool isClockWise() const;
224 
229 
234 
239 
246  const OdGePoint2d& center);
247 
254  double radius);
255 
266  double startAng,
267  double endAng);
268 
273 
280  const OdGeVector2d& vect);
281 
289  const OdGePoint2d& center,
290  double radius);
291 
310  const OdGePoint2d& center,
311  double radius,
312  double startAng,
313  double endAng,
314  const OdGeVector2d& refVec = OdGeVector2d::kXAxis,
315  bool isClockWise = false);
316 
325  const OdGePoint2d& startPoint,
326  const OdGePoint2d& secondPoint,
327  const OdGePoint2d& endPoint);
328 
347  const OdGePoint2d& startPoint,
348  const OdGePoint2d& secondPoint,
349  const OdGePoint2d& endPoint,
350  OdGeError& status);
351 
367  const OdGePoint2d& startPoint,
368  const OdGePoint2d& endPoint,
369  double bulge,
370  bool bulgeFlag = true);
371 
385  const OdGeCurve2d& curve1,
386  const OdGeCurve2d& curve2,
387  double radius,
388  double& param1,
389  double& param2,
390  bool& success);
391 
406  const OdGeCurve2d& curve1,
407  const OdGeCurve2d& curve2,
408  const OdGeCurve2d& curve3,
409  double& param1,
410  double& param2,
411  double& param3,
412  bool& success);
413 
415 
422  OdGeExtents2d& extents) const;
423 
430  double startAngFromXAxis() const;
431 
438  double endAngFromXAxis() const;
439 };
440 
441 #include "TD_PackPop.h"
442 
443 #endif // OD_GE_ARC2D_H
444 
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGeCircArc2d & set(const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, double radius, double &param1, double &param2, bool &success)
OdGeCircArc2d & setCenter(const OdGePoint2d &center)
OdGeCircArc2d(const OdGePoint2d &center, double radius, double startAng, double endAng, const OdGeVector2d &refVec=OdGeVector2d::kXAxis, bool isClockWise=false)
double radius() const
OdGePoint2d center() const
OdGeCircArc2d & set(const OdGePoint2d &center, double radius)
OdGeCircArc2d & setRadius(double radius)
OdGeCircArc2d(const OdGeCircArc2d &source)
OdGeCircArc2d & set(const OdGeCurve2d &curve1, const OdGeCurve2d &curve2, const OdGeCurve2d &curve3, double &param1, double &param2, double &param3, bool &success)
bool tangent(const OdGePoint2d &point, OdGeLine2d &line, const OdGeTol &tol, OdGeError &status) const
OdGeCircArc2d(const OdGePoint2d &center, double radius)
OdGeCircArc2d(const OdGePoint2d &startPoint, const OdGePoint2d &endPoint, double bulge, bool bulgeFlag=true)
OdGePoint2d startPoint() const
OdGeCircArc2d & setAngles(double startAng, double endAng)
OdGeCircArc2d & set(const OdGePoint2d &center, double radius, double startAng, double endAng, const OdGeVector2d &refVec=OdGeVector2d::kXAxis, bool isClockWise=false)
OdGeCircArc2d & setRefVec(const OdGeVector2d &vect)
double endAngFromXAxis() const
bool tangent(const OdGePoint2d &point, OdGeLine2d &line, const OdGeTol &tol=OdGeContext::gTol) const
bool intersectWith(const OdGeCircArc2d &circarc, int &numInt, OdGePoint2d &p1, OdGePoint2d &p2, const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint2d endPoint() const
bool intersectWith(const OdGeLinearEnt2d &line, int &numInt, OdGePoint2d &p1, OdGePoint2d &p2, const OdGeTol &tol=OdGeContext::gTol) const
bool isClockWise() const
OdGeCircArc2d & setToComplement()
void getGeomExtents(OdGeExtents2d &extents) const
bool isInside(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
double endAng() const
OdGeCircArc2d(const OdGePoint2d &startPoint, const OdGePoint2d &secondPoint, const OdGePoint2d &endPoint)
OdGeCircArc2d & set(const OdGePoint2d &startPoint, const OdGePoint2d &secondPoint, const OdGePoint2d &endPoint)
OdGeCircArc2d & set(const OdGePoint2d &startPoint, const OdGePoint2d &secondPoint, const OdGePoint2d &endPoint, OdGeError &status)
double startAngFromXAxis() const
double startAng() const
OdGeCircArc2d & set(const OdGePoint2d &startPoint, const OdGePoint2d &endPoint, double bulge, bool bulgeFlag=true)
OdGeVector2d refVec() const
OdGeCurve2d & operator=(const OdGeCurve2d &curve)
Definition: GeTol.h:49
static GE_STATIC_EXPORT const OdGeVector2d kXAxis
Definition: GeVector2d.h:66
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60
ErrorCondition
Definition: Ge.h:228