CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
GeTorus.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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 Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 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
26
27#include "OdPlatform.h"
28#include "Ge/GeSurface.h"
29#include "Ge/GeCircArc3d.h"
30
31#include "TD_PackPush.h"
32
73{
74public:
76
88
100 double majorRadius,
101 double minorRadius,
102 const OdGePoint3d& center,
104
122 double majorRadius,
123 double minorRadius,
124 const OdGePoint3d& center,
126 const OdGeVector3d& refAxis,
127 double startAngleU,
128 double endAngleU,
129 double startAngleV,
130 double endAngleV);
131
138 const OdGeTorus& source);
139
140 // Geometric properties.
141 //
142
149 double majorRadius() const;
150
160 double minorRadius() const;
161
169 double& startAngleU,
170 double& endAngleU) const;
171
179 double& startAngleV,
180 double& endAngleV) const;
181
189
197
205
214 bool isOuterNormal() const;
215
228 double radius);
229
242 double radius);
243
258 double startAngleU,
259 double endAngleU);
260
271 double startAngleV,
272 double endAngleV);
273
286 double majorRadius,
287 double minorRadius,
288 const OdGePoint3d& center,
290
308 double majorRadius,
309 double minorRadius,
310 const OdGePoint3d& center,
312 const OdGeVector3d& refAxis,
313 double startAngleU,
314 double endAngleU,
315 double startAngleV,
316 double endAngleV);
317
327 const OdGeTorus& torus);
328
353 const OdGeLinearEnt3d& linEnt,
354 int& numInt,
355 OdGePoint3d& p1,
356 OdGePoint3d& p2,
357 OdGePoint3d& p3,
358 OdGePoint3d& p4,
359 const OdGeTol& tol = OdGeContext::gTol) const;
360
361 // Shape Classification Functions
362
378 bool isLemon() const;
379
394 bool isApple() const;
395
410 bool isVortex() const;
411
425 bool isDoughnut() const;
426
432 bool isDegenerate() const;
433
440 bool isHollow() const;
441
448 bool isReverseV() const;
449
457 bool isReverseV);
458
460
461};
462
463#include "TD_PackPop.h"
464
465#endif // OD_GETORUS_H
466
tol
#define GE_TOOLKIT_EXPORT
Definition GeExport.h:35
OdGeSurface & operator=(const OdGeSurface &surf)
void getAnglesInV(double &startAngleV, double &endAngleV) const
OdGeTorus(const OdGeTorus &source)
bool isVortex() const
bool isReverseV() const
OdGeTorus & set(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry)
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)
OdGeVector3d refAxis() const
bool isDoughnut() const
OdGeTorus & setMajorRadius(double radius)
OdGePoint3d center() const
OdGeTorus(double majorRadius, double minorRadius, const OdGePoint3d &center, const OdGeVector3d &axisOfSymmetry)
OdGeTorus & setAnglesInU(double startAngleU, double endAngleU)
void getAnglesInU(double &startAngleU, double &endAngleU) const
void setReverseV(bool isReverseV)
bool isOuterNormal() const
double majorRadius() const
GE_OPERATORS_OVERRIDE_3D(OdGeTorus)
OdGeTorus & setMinorRadius(double radius)
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
bool isLemon() const
OdGeTorus & setAnglesInV(double startAngleV, double endAngleV)
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:67