CFx SDK Documentation  2020SP3
Public Member Functions | List of all members
OdGeCone Class Reference

#include <GeCone.h>

Inheritance diagram for OdGeCone:
OdGeSurface OdGeEntity3d

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
 
OdGeConesetBaseRadius (double baseRadius)
 
OdGeConesetAngles (double startAng, double endAng)
 
OdGeConesetHeight (const OdGeInterval &height)
 
OdGeConeset (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry)
 
OdGeConeset (double cosineAngle, double sineAngle, const OdGePoint3d &baseCenter, double baseRadius, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng)
 
OdGeConeoperator= (const OdGeCone &cone)
 
bool intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
 
- Public Member Functions inherited from OdGeSurface
OdGePoint2d paramOf (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 
 TD_USING (OdGeEntity3d::isOn)
 
bool isOn (const OdGePoint3d &point, OdGePoint2d &paramPoint, 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
 
OdGeSurfacereverseNormal ()
 
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 &param) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives) const
 
OdGePoint3d evalPoint (const OdGePoint2d &param, int numDeriv, OdGeVector3dArray &derivatives, OdGeVector3d &normal) const
 
OdGeSurfaceoperator= (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)
 
- Public Member Functions inherited from OdGeEntity3d
 ODRX_HEAP_OPERATORS ()
 
 ~OdGeEntity3d ()
 
bool isKindOf (OdGe::EntityId entType) const
 
OdGe::EntityId type () const
 
OdGeEntity3dcopy () const
 
OdGeEntity3doperator= (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
 
OdGeEntity3dtransformBy (const OdGeMatrix3d &xfm)
 
OdGeEntity3dtranslateBy (const OdGeVector3d &translateVec)
 
OdGeEntity3drotateBy (double angle, const OdGeVector3d &vect, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
OdGeEntity3dmirror (const OdGePlane &plane)
 
OdGeEntity3dscaleBy (double scaleFactor, const OdGePoint3d &basePoint=OdGePoint3d::kOrigin)
 
bool isOn (const OdGePoint3d &point, const OdGeTol &tol=OdGeContext::gTol) const
 

Additional Inherited Members

- Protected Member Functions inherited from OdGeSurface
 OdGeSurface ()
 
 OdGeSurface (const OdGeSurface &surf)
 
- Protected Member Functions inherited from OdGeEntity3d
 OdGeEntity3d ()
 
 OdGeEntity3d (const OdGeEntity3d &)
 
void connectTo (OdGeEntity3dImpl *)
 

Detailed Description

This class represents cones with a circular base.

Remarks
A circular cone is defined by:

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>

See also
<link ge_OdGeCone.html, Working with Cones>

Definition at line 90 of file GeCone.h.

Constructor & Destructor Documentation

◆ OdGeCone() [1/4]

OdGeCone::OdGeCone ( )
Parameters
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.
Remarks
The default constructor uses a half angle of 45°, a reference axis of (1,0,0), a baseOrigin of (0,0,0), and a base radius of 2.0.
All angles are expressed in radians.

◆ OdGeCone() [2/4]

OdGeCone::OdGeCone ( double  cosineAngle,
double  sineAngle,
const OdGePoint3d baseOrigin,
double  baseRadius,
const OdGeVector3d axisOfSymmetry 
)

◆ OdGeCone() [3/4]

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() [4/4]

OdGeCone::OdGeCone ( const OdGeCone cone)

Member Function Documentation

◆ apex()

OdGePoint3d OdGeCone::apex ( ) const

Returns the apex of this cone.

◆ axisOfSymmetry()

OdGeVector3d OdGeCone::axisOfSymmetry ( ) const

Returns the axis of symmetry of this cone.

◆ baseCenter()

OdGePoint3d OdGeCone::baseCenter ( ) const

Returns the center of the base.

◆ baseRadius()

double OdGeCone::baseRadius ( ) const

Returns the base radius of this cone.

◆ getAngles()

void OdGeCone::getAngles ( double &  startAng,
double &  endAng 
) const

Returns the starting and ending angles of this cone.

Parameters
startAng[out] Receives the start angle.
endAng[out] Receives the end angle.
Remarks
All angles are expressed in radians.

◆ getHalfAngle()

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.

Parameters
cosineAngle[out] Receives the cosine of the angle.
sineAngle[out] Receives the sine of the angle.

◆ getHeight()

void OdGeCone::getHeight ( OdGeInterval height) const

Returns the interval of the axis of symmetry.

Parameters
height[out] Receives the interval.

◆ halfAngle()

double OdGeCone::halfAngle ( ) const

Returns the angle between the generating line and the axis of symmetry.

◆ heightAt()

double OdGeCone::heightAt ( double  u) const

Returns the height of this cone corresponding to the specified position on the U-axis.

Remarks
Parameter U varies along the axis of symmetry. U is dimensionless, and increases in the direction of the axis of symmetry.
Parameters
u[in] Position on the U-axis of this cone.

◆ intersectWith()

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.

◆ isClosed()

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.

Parameters
tol[in] Geometric tolerance.

◆ isOuterNormal()

bool OdGeCone::isOuterNormal ( ) const

Returns true if and only if the normal to this surface is pointing outward.

◆ operator=()

OdGeCone& OdGeCone::operator= ( const OdGeCone cone)

◆ refAxis()

OdGeVector3d OdGeCone::refAxis ( ) const

Returns the reference axis of this cone.

◆ set() [1/2]

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.

Parameters
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).
Remarks
All angles are expressed in radians.

◆ set() [2/2]

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.

Parameters
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.
Remarks
All angles are expressed in radians.

◆ setAngles()

OdGeCone& OdGeCone::setAngles ( double  startAng,
double  endAng 
)

Sets the starting and ending angles of this cone.

Parameters
startAng[in] Start angle.
endAng[in] End angle.
Remarks
All angles are expressed in radians.

◆ setBaseRadius()

OdGeCone& OdGeCone::setBaseRadius ( double  baseRadius)

Sets the base radius of this cone.

Parameters
baseRadius[in] Radius of the base.

◆ setHeight()

OdGeCone& OdGeCone::setHeight ( const OdGeInterval height)

Sets the height interval of this cone.

Parameters
height[in] Height interval of this cone.

The documentation for this class was generated from the following file: