49 static DEllipse3d From (
double cx,
double cy,
double cz,
double ux,
double uy,
double uz,
double vx,
double vy,
double vz,
double theta0,
double sweep);
85 static DEllipse3d FromXYMajorMinor (
double cx,
double cy,
double cz,
double rx,
double ry,
double thetaX,
double theta0,
double sweep);
252 void InitFromXYMajorMinor
292 bool InitFromPointsOnArc
314 bool InitArcFromPointPointArcLength
331 bool InitArcFromPointTangentPoint
351 bool InitFromArcCenterStartEnd
414 void InitFromScaledRotMatrix
438 void InitFromScaledVectors
469 void GetScaledRotMatrix
491 void GetScaledTransforms
507 void InitFromCenterNormalRadius
519 bool IsFullEllipse ()
const;
523 bool IsNearZeroRadius()
const;
526 bool IsAlmostEqual (
DEllipse3dCR other,
double tolerance)
const;
532 void MakeFullSweep ();
539 void ComplementSweep ();
543 DPoint3d RadiansToPoint (
double theta)
const;
576 void EvaluateEndPoints
604 void FractionParameterToPoint
611 DPoint3d FractionToPoint (
double fraction)
const;
621 void FractionParameterToDerivatives
649 double FractionToAngle (
double fraction)
const;
656 double DeterminantJXY ()
const;
723 bool ProjectPointToPlane
744 double chordTol = 0.0,
745 double angleTol = 0.0
756 void EvaluateTrigPairs
773 int TestAndEvaluateTrigPairs
786 bool IsAngleInSweep (
double angle)
const;
794 double AngleToFraction (
double angle)
const;
867 double GetMajorMinorRangeMidlines
887 double TangentMagnitude (
double theta)
const;
894 double ArcLength ()
const;
903 double InverseArcLength (
double arcLength)
const;
914 bool FractionToLength
934 void GetLocalRange (
DRange2dR range)
const;
967 int SolveTangentsPerpendicularToVector
992 double *pEllipseAngle,
1000 bool IsCircular ()
const;
1005 bool IsCircular (
double &radius)
const;
1009 bool IsCircularXY ()
const;
1013 bool IsCircularXY (
double &radius)
const;
1018 bool IsCCWSweepXY ()
const;
1036 int IntersectXYDEllipse3d
1062 int IntersectXYDEllipse3dBounded
1066 double *pEllipse0Angle,
1068 double *pEllipse1Angle,
1093 int IntersectSweptDEllipse3d
1120 int IntersectSweptDEllipse3dBounded
1124 double *pEllipse0Angle,
1126 double *pEllipse1Angle,
1147 int IntersectSweptDSegment3d
1151 double *pLineParams,
1169 int IntersectSweptDSegment3dBounded
1173 double *pLineParams,
1189 double *pEllipseAngle,
1205 double *pEllipseAngle,
1218 int ProjectPointXYBounded
1221 double *pEllipseAngle,
1234 int ProjectPointBounded
1237 double *pEllipseAngle,
1251 bool ClosestPointXYBounded
1254 double &minDistanceSquared,
1269 bool ClosestPointBounded
1272 double &minDistanceSquared,
1291 int IntersectXYLineBounded
1294 double *pLineParams,
1296 double *pEllipseAngle,
1309 void XySweepProperties
1336 void QuadricBezierPoles
1347 void QuadricBezierPoles
1369 bool InitFromCenterMajorAxisPointAndThirdPoint
1389 double *pEllipseAngleBuffer,
1390 double *pRayFractionBuffer,
1409 void InitFromDGNFields3d
1429 void InitFromDGNFields3d
1432 double const* pQuatWXYZ,
1449 void InitFromDGNFields2d
1472 void InitFromDGNFields2d
1541 double MaxAbs ()
const;
1549 bool ClosestPointBoundedXY
1566 bool ClosestPointBoundedXY
1589 double fraction0 = 0.0,
1590 double fraction1 = 1.0
1600 static void Construct_XRadius_YRadius_XPoint_EdgePoint
1616 static void Construct_XPoint_EdgePoint_EdgePoint_XRadius (
1632 static bool TryConstruct_EdgePoint_XPoint_EdgePoint_XAngle
1647 static void Construct_Point_Direction_TangentXY
Center, reference vectors, and angular range for elliptic arc.
Definition: dellipse3d.h:19
struct RotMatrix & RotMatrixR
Definition: msgeomstructs_typedefs.h:135
struct DPoint4d & DPoint4dR
Definition: msgeomstructs_typedefs.h:96
struct DVec2d const & DVec2dCR
Definition: msgeomstructs_typedefs.h:90
struct DPoint4d * DPoint4dP
Definition: msgeomstructs_typedefs.h:96
DVec3d vector0
Vector from center to parametric 0-degree point.
Definition: dellipse3d.h:22
DVec3d vector90
Vector from center to parametric 90-degree point.
Definition: dellipse3d.h:23
struct DVec3d & DVec3dR
Definition: msgeomstructs_typedefs.h:89
#define END_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:30
iterator end()
Definition: stdcxx/bstdmap.h:186
DPoint3d center
Center of ellipse.
Definition: dellipse3d.h:21
struct RotMatrix const & RotMatrixCR
Definition: msgeomstructs_typedefs.h:135
struct Transform & TransformR
Definition: msgeomstructs_typedefs.h:134
struct DPoint2d & DPoint2dR
Definition: msgeomstructs_typedefs.h:78
struct DPoint3d * DPoint3dP
Definition: msgeomstructs_typedefs.h:79
struct DRange2d & DRange2dR
Definition: msgeomstructs_typedefs.h:110
struct DSegment3d & DSegment3dR
Definition: msgeomstructs_typedefs.h:115
struct DEllipse3d & DEllipse3dR
Definition: msgeomstructs_typedefs.h:114
struct DRange3d & DRange3dR
Definition: msgeomstructs_typedefs.h:108
double sweep
Sweep angle in parameterization.
Definition: dellipse3d.h:25
struct DPoint2d const & DPoint2dCR
Definition: msgeomstructs_typedefs.h:78
A Bentley supplied implementation std::vector.
Definition: stdcxx/bvector.h:77
struct DVec2d & DVec2dR
Definition: msgeomstructs_typedefs.h:90
struct DPoint3d & DPoint3dR
Definition: msgeomstructs_typedefs.h:79
Start point and direction (NOT necessarily unit) for a 3D ray.
Definition: dray3d.h:21
struct DSegment3d const & DSegment3dCR
Definition: msgeomstructs_typedefs.h:115
A 1d interval with low and high values.
Definition: DRange1d.h:41
struct DMatrix4d const * DMatrix4dCP
Definition: msgeomstructs_typedefs.h:97
double start
Start angle in parameterization.
Definition: dellipse3d.h:24
ValidatedValue< DEllipse3d > ValidatedDEllipse3d
Definition: GeomApi.h:359
struct DEllipse3d const & DEllipse3dCR
Definition: msgeomstructs_typedefs.h:114
#define BEGIN_BENTLEY_GEOMETRY_NAMESPACE
Definition: Bentley.r.h:29
struct DPoint3d const & DPoint3dCR
Definition: msgeomstructs_typedefs.h:79
struct DRay3d const & DRay3dCR
Definition: msgeomstructs_typedefs.h:120
struct DVec3d const & DVec3dCR
Definition: msgeomstructs_typedefs.h:89
struct DPoint2d const * DPoint2dCP
Definition: msgeomstructs_typedefs.h:78
struct DPoint4d const & DPoint4dCR
Definition: msgeomstructs_typedefs.h:96