CFx SDK Documentation  2023 SP0
GeEllipArc2d.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_ELLIP_ARC_2D_H
25 #define OD_GE_ELLIP_ARC_2D_H
27 class OdGeCircArc2d;
28 class OdGePlanarEnt;
29 class OdGeEllipArc2d;
30 class OdGeLinearEnt2d;
31 class OdGeExtents2d;
32 #include "OdPlatform.h"
33 #include "Ge/GeCurve2d.h"
34 
35 #include "TD_PackPush.h"
36 
58 {
59 public:
60 
61 
76  const OdGeEllipArc2d& ell);
78  const OdGeCircArc2d& arc);
80  const OdGePoint2d& center,
81  const OdGeVector2d& majorAxis,
82  const OdGeVector2d& minorAxis,
83  double majorRadius,
84  double minorRadius);
86  const OdGePoint2d& center,
87  const OdGeVector2d& majorAxis,
88  const OdGeVector2d& minorAxis,
89  double majorRadius,
90  double minorRadius,
91  double startAng,
92  double endAng);
93 
105  const OdGeLinearEnt2d& line,
106  int& numInt,
107  OdGePoint2d& p1,
108  OdGePoint2d& p2,
109  const OdGeTol& tol = OdGeContext::gTol) const;
110 
118  const OdGeTol& tol = OdGeContext::gTol) const;
119 
127  bool isInside(
128  const OdGePoint2d& point,
129  const OdGeTol& tol = OdGeContext::gTol) const;
130 
135 
139  double minorRadius() const;
140 
144  double majorRadius() const;
145 
150 
155 
162  double startAng() const;
163 
170  double endAng() const;
171 
176 
181 
185  bool isClockWise() const;
186 
193  const OdGePoint2d& center);
194 
201  double rad);
202 
209  double rad);
210 
218  const OdGeVector2d& majorAxis,
219  const OdGeVector2d& minorAxis);
220 
231  double startAng,
232  double endAng);
233 
244  const OdGePoint2d& center,
245  const OdGeVector2d& majorAxis,
246  const OdGeVector2d& minorAxis,
247  double majorRadius,
248  double minorRadius);
249 
265  const OdGePoint2d& center,
266  const OdGeVector2d& majorAxis,
267  const OdGeVector2d& minorAxis,
268  double majorRadius,
269  double minorRadius,
270  double startAng,
271  double endAng);
272 
279  const OdGeCircArc2d& arc);
280 
282  const OdGeEllipArc2d& ell);
283 
285  // Overrides :
286 
288  // TD Special :
289 
296  OdGeExtents2d& extents) const;
297 
298  // returns the parameter of elliptical arc points (if any) which have tangent
299  // co-directional to "tan" vector. Parameters are returned in params array.
300  // Note that this function doesn't clear array - only appends items.
301 
313  //FELIX_CHANGE_BEGIN
315  OdGeVector2d tan,
316  OdGeDoubleArray& params) const;
317  //FELIX_CHANGE_END
318 };
319 
320 #include "TD_PackPop.h"
321 
322 #endif // OD_GE_ELLIP_ARC_2D_H
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGeCurve2d & operator=(const OdGeCurve2d &curve)
void inverseTangent(OdGeVector2d tan, OdGeDoubleArray &params) const
double minorRadius() const
void getGeomExtents(OdGeExtents2d &extents) const
OdGeVector2d minorAxis() const
OdGeEllipArc2d(const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius)
OdGeEllipArc2d & setMinorRadius(double rad)
OdGeEllipArc2d & set(const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
OdGeEllipArc2d & setAngles(double startAng, double endAng)
bool isCircular(const OdGeTol &tol=OdGeContext::gTol) const
OdGePoint2d center() const
OdGeEllipArc2d & set(const OdGeCircArc2d &arc)
bool isClockWise() const
double endAng() const
OdGeVector2d majorAxis() const
OdGeEllipArc2d & setCenter(const OdGePoint2d &center)
bool isInside(const OdGePoint2d &point, const OdGeTol &tol=OdGeContext::gTol) const
double majorRadius() const
OdGeEllipArc2d(const OdGeEllipArc2d &ell)
OdGeEllipArc2d(const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius, double startAng, double endAng)
OdGeEllipArc2d(const OdGeCircArc2d &arc)
OdGeEllipArc2d & setAxes(const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis)
OdGeEllipArc2d & set(const OdGePoint2d &center, const OdGeVector2d &majorAxis, const OdGeVector2d &minorAxis, double majorRadius, double minorRadius)
OdGeEllipArc2d & setMajorRadius(double rad)
OdGePoint2d endPoint() const
bool intersectWith(const OdGeLinearEnt2d &line, int &numInt, OdGePoint2d &p1, OdGePoint2d &p2, const OdGeTol &tol=OdGeContext::gTol) const
double startAng() const
OdGePoint2d startPoint() const
Definition: GeTol.h:49
GLenum GLint * params
Definition: gles2_ext.h:184
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60