CFx SDK Documentation  2023 SP0
GeTorus.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_GETORUS_H
25 #define OD_GETORUS_H
27 #include "OdPlatform.h"
28 #include "Ge/GeSurface.h"
29 #include "Ge/GeCircArc3d.h"
30 
31 #include "TD_PackPush.h"
32 
73 {
74 public:
75 
90  double majorRadius,
91  double minorRadius,
92  const OdGePoint3d& center,
93  const OdGeVector3d& axisOfSymmetry);
95  double majorRadius,
96  double minorRadius,
97  const OdGePoint3d& center,
98  const OdGeVector3d& axisOfSymmetry,
99  const OdGeVector3d& refAxis,
100  double startAngleU,
101  double endAngleU,
102  double startAngleV,
103  double endAngleV);
105  const OdGeTorus& source);
106 
107  // Geometric properties.
108  //
109 
113  double majorRadius() const;
114 
118  double minorRadius() const;
119 
127  double& startAngleU,
128  double& endAngleU) const;
129 
137  double& startAngleV,
138  double& endAngleV) const;
139 
144 
149 
154 
159  bool isOuterNormal() const;
160 
167  double radius);
168 
175  double radius);
176 
184  double startAngleU,
185  double endAngleU);
186 
194  double startAngleV,
195  double endAngleV);
196 
209  double majorRadius,
210  double minorRadius,
211  const OdGePoint3d& center,
212  const OdGeVector3d& axisOfSymmetry);
213 
230  double majorRadius,
231  double minorRadius,
232  const OdGePoint3d& center,
233  const OdGeVector3d& axisOfSymmetry,
234  const OdGeVector3d& refAxis,
235  double startAngleU,
236  double endAngleU,
237  double startAngleV,
238  double endAngleV);
239 
241  const OdGeTorus& torus);
242 
263  const OdGeLinearEnt3d& linEnt,
264  int& numInt,
265  OdGePoint3d& p1,
266  OdGePoint3d& p2,
267  OdGePoint3d& p3,
268  OdGePoint3d& p4,
269  const OdGeTol& tol = OdGeContext::gTol) const;
270 
271  // Shape Classification Functions
272 
285  bool isLemon() const;
286 
298  bool isApple() const;
299 
311  bool isVortex() const;
312 
323  bool isDoughnut() const;
324 
328  bool isDegenerate() const;
329 
336  bool isHollow() const;
337 
342  bool isReverseV() const;
343 
350  bool isReverseV);
351 
353 
354 };
355 
356 #include "TD_PackPop.h"
357 
358 #endif // OD_GETORUS_H
359 
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
OdGeSurface & operator=(const OdGeSurface &surf)
Definition: GeTol.h:49
void getAnglesInV(double &startAngleV, double &endAngleV) const
OdGeTorus(const OdGeTorus &source)
bool isVortex() const
bool isReverseV() const
bool isApple() const
OdGeTorus & set(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, double startAngleU, double endAngleU, double startAngleV, double endAngleV)
OdGeTorus & setMinorRadius(double radius)
OdGeVector3d refAxis() const
OdGeTorus & setAnglesInV(double startAngleV, double endAngleV)
bool isDoughnut() const
OdGePoint3d center() const
OdGeTorus(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry)
void getAnglesInU(double &startAngleU, double &endAngleU) const
OdGeTorus & setMajorRadius(double radius)
OdGeTorus & set(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry)
void setReverseV(bool isReverseV)
bool isOuterNormal() const
double majorRadius() const
OdGeTorus(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, double startAngleU, double endAngleU, double startAngleV, double endAngleV)
bool isHollow() const
bool isDegenerate() const
OdGeVector3d axisOfSymmetry() const
double minorRadius() const
OdGeTorus & setAnglesInU(double startAngleU, double endAngleU)
bool isLemon() const
bool intersectWith(const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, OdGePoint3d &p3, OdGePoint3d &p4, const OdGeTol &tol=OdGeContext::gTol) const
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60