CFx SDK Documentation
2020SP3
|
#include <GeCone.h>
Public Member Functions | |
OdGeCone () | |
OdGeCone (double cosineAngle, double sineAngle, const OdGePoint3d &baseOrigin, double baseRadius, const OdGeVector3d &axisOfSymmetry) | |
OdGeCone (double cosineAngle, double sineAngle, const OdGePoint3d &baseOrigin, double baseRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng) | |
OdGeCone (const OdGeCone &cone) | |
double | baseRadius () const |
OdGePoint3d | baseCenter () const |
void | getAngles (double &startAng, double &endAng) const |
double | halfAngle () const |
void | getHalfAngle (double &cosineAngle, double &sineAngle) const |
void | getHeight (OdGeInterval &height) const |
double | heightAt (double u) const |
OdGeVector3d | axisOfSymmetry () const |
OdGeVector3d | refAxis () const |
OdGePoint3d | apex () const |
bool | isClosed (const OdGeTol &tol=OdGeContext::gTol) const |
bool | isOuterNormal () const |
OdGeCone & | setBaseRadius (double baseRadius) |
OdGeCone & | setAngles (double startAng, double endAng) |
OdGeCone & | setHeight (const OdGeInterval &height) |
OdGeCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry) |
OdGeCone & | set (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng) |
OdGeCone & | operator= (const OdGeCone &cone) |
bool | intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const |
![]() | |
OdGePoint2d | paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
TD_USING (OdGeEntity3d::isOn) | |
bool | isOn (const OdGePoint3d &point, OdGePoint2d ¶mPoint, const OdGeTol &tol=OdGeContext::gTol) const |
OdGePoint3d | closestPointTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
void | getClosestPointTo (const OdGePoint3d &point, OdGePointOnSurface &pntOnSurface, const OdGeTol &tol=OdGeContext::gTol) const |
double | distanceTo (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
bool | isNormalReversed () const |
OdGeSurface & | reverseNormal () |
void | getEnvelope (OdGeInterval &intrvlU, OdGeInterval &intrvlV) const |
bool | isClosedInU (const OdGeTol &tol=OdGeContext::gTol) const |
bool | isClosedInV (const OdGeTol &tol=OdGeContext::gTol) const |
OdGePoint3d | evalPoint (const OdGePoint2d ¶m) const |
OdGePoint3d | evalPoint (const OdGePoint2d ¶m, int numDeriv, OdGeVector3dArray &derivatives) const |
OdGePoint3d | evalPoint (const OdGePoint2d ¶m, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const |
OdGeSurface & | operator= (const OdGeSurface &surf) |
bool | project (const OdGePoint3d &p, OdGePoint3d &projP, const OdGeTol &tol=OdGeContext::gTol) const |
bool | getReparameterization (bool &swapUV, double &uCoeffA, double &vCoeffA, double &uCoeffB, double &vCoeffB) const |
void | setReparameterization (bool swapUV=false, double uCoeffA=1., double vCoeffA=1., double uCoeffB=0., double vCoeffB=0.) |
void | getImplicitEnvelope (OdGeInterval &implicitIntrvlU, OdGeInterval &implicitIntrvlV) const |
bool | setEnvelope (const OdGeInterval &realIntrvlU, const OdGeInterval &realIntrvlV) |
![]() | |
ODRX_HEAP_OPERATORS () | |
~OdGeEntity3d () | |
bool | isKindOf (OdGe::EntityId entType) const |
OdGe::EntityId | type () const |
OdGeEntity3d * | copy () const |
OdGeEntity3d & | operator= (const OdGeEntity3d &entity) |
bool | operator== (const OdGeEntity3d &entity) const |
bool | operator!= (const OdGeEntity3d &entity) const |
bool | isEqualTo (const OdGeEntity3d &object, const OdGeTol &tol=OdGeContext::gTol) const |
OdGeEntity3d & | transformBy (const OdGeMatrix3d &xfm) |
OdGeEntity3d & | translateBy (const OdGeVector3d &translateVec) |
OdGeEntity3d & | rotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin) |
OdGeEntity3d & | mirror (const OdGePlane &plane) |
OdGeEntity3d & | scaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin) |
bool | isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const |
Additional Inherited Members | |
![]() | |
OdGeSurface () | |
OdGeSurface (const OdGeSurface &surf) | |
![]() | |
OdGeEntity3d () | |
OdGeEntity3d (const OdGeEntity3d &) | |
void | connectTo (OdGeEntity3dImpl *) |
This class represents cones with a circular base.
axis of symmetry height half angle (the angle between the generating line and the axis of symmetry) origin (a point on the axis of symmetry) radius at the origin
The cross section containing the origin is refered to as the base. The radius at the base cannot be zero.
This cone may extend on either side of the base.
The half angle is constrained to the interval (-OdaPI/2, OdaPI/2), and is measured from the symmetric axis of the cone. A negative angle results in an apex on the opposite direction of the symmetric axis.
Parameter V is the angle of revolution measured from the refAxis (an axis perpendicular to the axis of symmetry). For a closed cone, it defaults to [-OdaPI, OdaPI). The positive V direction is defined by applying the right hand rule along the axis of symmetry.
The surface is periodic in V with a period of Oda2PI.
Parameter U varies along the axis of symmetry. U is dimensionless and increases in the direction of the axis of symmetry. U = 0 corresponds to center of the cone base, and U = 1 corresponds to the cone apex.
[umin, umax] x [vmin, vmax] defines a four sided conical patch bounded by two straight lines (at angles vmin and vmax), and two circular arcs (at umin and umax). The following must be observed when defining a cone:
umin < umax |vmax - vmin| <= Oda2PI. baseRadius > 0.0
The height interval of this cone is specified relative to its origin (with the height increasing in the direction of the symmetric axis).
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
OdGeCone::OdGeCone | ( | ) |
cosineAngle | [in] The cosine of the angle between the generating line and the axis of symmetry. |
sineAngle | [in] The sine of the angle between the generating line and the axis of symmetry. |
baseOrigin | [in] Center of the base. |
baseRadius | [in] Radius of the base. |
axisOfSymmetry | [in] Axis of symmetry (rotation). |
refAxis | [in] defines thegle 0 of circular base. |
height | [in] Height interval of the cone. |
startAng | [in] Start angle. |
endAng | [in] End angle. |
OdGeCone::OdGeCone | ( | double | cosineAngle, |
double | sineAngle, | ||
const OdGePoint3d & | baseOrigin, | ||
double | baseRadius, | ||
const OdGeVector3d & | axisOfSymmetry | ||
) |
OdGeCone::OdGeCone | ( | double | cosineAngle, |
double | sineAngle, | ||
const OdGePoint3d & | baseOrigin, | ||
double | baseRadius, | ||
const OdGeVector3d & | axisOfSymmetry, | ||
const OdGeVector3d & | refAxis, | ||
const OdGeInterval & | height, | ||
double | startAng, | ||
double | endAng | ||
) |
OdGeCone::OdGeCone | ( | const OdGeCone & | cone | ) |
OdGePoint3d OdGeCone::apex | ( | ) | const |
Returns the apex of this cone.
OdGeVector3d OdGeCone::axisOfSymmetry | ( | ) | const |
Returns the axis of symmetry of this cone.
OdGePoint3d OdGeCone::baseCenter | ( | ) | const |
Returns the center of the base.
double OdGeCone::baseRadius | ( | ) | const |
Returns the base radius of this cone.
void OdGeCone::getAngles | ( | double & | startAng, |
double & | endAng | ||
) | const |
Returns the starting and ending angles of this cone.
startAng | [out] Receives the start angle. |
endAng | [out] Receives the end angle. |
void OdGeCone::getHalfAngle | ( | double & | cosineAngle, |
double & | sineAngle | ||
) | const |
Returns the cosine and the sine of the angle between the generating line and the axis of symmetry.
cosineAngle | [out] Receives the cosine of the angle. |
sineAngle | [out] Receives the sine of the angle. |
void OdGeCone::getHeight | ( | OdGeInterval & | height | ) | const |
Returns the interval of the axis of symmetry.
height | [out] Receives the interval. |
double OdGeCone::halfAngle | ( | ) | const |
Returns the angle between the generating line and the axis of symmetry.
double OdGeCone::heightAt | ( | double | u | ) | const |
Returns the height of this cone corresponding to the specified position on the U-axis.
u | [in] Position on the U-axis of this cone. |
bool OdGeCone::intersectWith | ( | const OdGeLinearEnt3d & | linEnt, |
int & | numInt, | ||
OdGePoint3d & | p1, | ||
OdGePoint3d & | p2, | ||
const OdGeTol & | tol = OdGeContext::gTol |
||
) | const |
Computes the intersection of this object with a linear entity.
bool OdGeCone::isClosed | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Returns true if and only if the base of this cone is a full circle within the specified tolerance.
tol | [in] Geometric tolerance. |
bool OdGeCone::isOuterNormal | ( | ) | const |
Returns true if and only if the normal to this surface is pointing outward.
OdGeVector3d OdGeCone::refAxis | ( | ) | const |
Returns the reference axis of this cone.
OdGeCone& OdGeCone::set | ( | double | cosineAngle, |
double | sineAngle, | ||
const OdGePoint3d & | baseCenter, | ||
double | baseRadius, | ||
const OdGeVector3d & | axisOfSymmetry | ||
) |
Sets the parameters for this cone according to the arguments, and returns a reference to this cone.
cosineAngle | [in] The cosine of the angle between the generating line and the axis of symmetry. |
sineAngle | [in] The sine of the angle between the generating line and the axis of symmetry. |
baseCenter | [in] Center of the base. |
baseRadius | [in] Radius of the base. |
axisOfSymmetry | [in] Axis of symmetry (rotation). |
OdGeCone& OdGeCone::set | ( | double | cosineAngle, |
double | sineAngle, | ||
const OdGePoint3d & | baseCenter, | ||
double | baseRadius, | ||
const OdGeVector3d & | axisOfSymmetry, | ||
const OdGeVector3d & | refAxis, | ||
const OdGeInterval & | height, | ||
double | startAng, | ||
double | endAng | ||
) |
Sets the parameters for this cone according to the arguments, and returns a reference to this cone.
cosineAngle | [in] The cosine of the angle between the generating line and the axis of symmetry. |
sineAngle | [in] The sine of the angle between the generating line and the axis of symmetry. |
baseCenter | [in] Center of the base. |
baseRadius | [in] Radius of the base. |
axisOfSymmetry | [in] Axis of symmetry (rotation). |
refAxis | [in] defines thegle 0 of circular base. |
height | [in] Height interval of this cone. |
startAng | [in] Start angle. |
endAng | [in] End angle. |
OdGeCone& OdGeCone::setAngles | ( | double | startAng, |
double | endAng | ||
) |
Sets the starting and ending angles of this cone.
startAng | [in] Start angle. |
endAng | [in] End angle. |
OdGeCone& OdGeCone::setBaseRadius | ( | double | baseRadius | ) |
Sets the base radius of this cone.
baseRadius | [in] Radius of the base. |
OdGeCone& OdGeCone::setHeight | ( | const OdGeInterval & | height | ) |
Sets the height interval of this cone.
height | [in] Height interval of this cone. |