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

#include <GeCylinder.h>

Inheritance diagram for OdGeCylinder:
OdGeSurface OdGeEntity3d

Public Member Functions

 OdGeCylinder ()
 
 OdGeCylinder (double radius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry)
 
 OdGeCylinder (double radius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng)
 
 OdGeCylinder (const OdGeCylinder &)
 
double radius () const
 
OdGePoint3d origin () const
 
void getAngles (double &startAng, double &endAng) const
 
void getHeight (OdGeInterval &height) const
 
double heightAt (double u) const
 
OdGeVector3d axisOfSymmetry () const
 
OdGeVector3d refAxis () const
 
bool isOuterNormal () const
 
bool isClosed (const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeCylindersetRadius (double radius)
 
OdGeCylindersetAngles (double startAng, double endAng)
 
OdGeCylindersetHeight (const OdGeInterval &height)
 
OdGeCylinderset (double radius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSym)
 
OdGeCylinderset (double radius, const OdGePoint3d &origin, const OdGeVector3d &axisOfSymmetry, const OdGeVector3d &refAxis, const OdGeInterval &height, double startAng, double endAng)
 
bool intersectWith (const OdGeLinearEnt3d &linEnt, int &numInt, OdGePoint3d &p1, OdGePoint3d &p2, const OdGeTol &tol=OdGeContext::gTol) const
 
OdGeCylinderoperator= (const OdGeCylinder &cylinder)
 
void setIsOuterNormal (bool isOuterNormal)
 
- 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 right circular cylinders.

Remarks
A right circular cylinder is defined by its

radius axis of symmetry origin (a point on the axis)

It is generated by revolving a line parallel to the axis of symmetry, at a distance of radius.

The cylinder is parameterized as follows:

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 right hand rule applied along the direction of the axis of symmetry defines the positive direction of V. 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 base of this cylinder, and U = 1 corresponds to the center of the top of this cylinder.

[umin, umax] x [vmin, vmax] defines a four sided cylindrical patch bounded by two straight lines (at vmin and vmax), and two circular arcs (at umin and umax). The following constraints apply to the definition of a cylindrical patch:

umin < umax |vmax - vmin| <= Oda2PI. radius > 0.0

Corresponding C++ library: TD_Ge

<group OdGe_Classes>

See also
<link ge_OdGeCylinder.html, Working with Cylinders>

Definition at line 77 of file GeCylinder.h.

Constructor & Destructor Documentation

◆ OdGeCylinder() [1/4]

OdGeCylinder::OdGeCylinder ( )
Parameters
radius[in] Radius of this cylinder.
origin[in] A point on the axis of symmetry.
axisOfSymmetry[in] Axis of symmetry (rotation).
refAxis[in] defines thegle 0 of circular end.
height[in] Height interval of this cylinder.
startAng[in] Start angle.
endAng[in] End angle.
Remarks
All angles are expressed in radians.

◆ OdGeCylinder() [2/4]

OdGeCylinder::OdGeCylinder ( double  radius,
const OdGePoint3d origin,
const OdGeVector3d axisOfSymmetry 
)

◆ OdGeCylinder() [3/4]

OdGeCylinder::OdGeCylinder ( double  radius,
const OdGePoint3d origin,
const OdGeVector3d axisOfSymmetry,
const OdGeVector3d refAxis,
const OdGeInterval height,
double  startAng,
double  endAng 
)

◆ OdGeCylinder() [4/4]

OdGeCylinder::OdGeCylinder ( const OdGeCylinder )

Member Function Documentation

◆ axisOfSymmetry()

OdGeVector3d OdGeCylinder::axisOfSymmetry ( ) const

Returns the axis of symmetry of this cylinder.

◆ getAngles()

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

Returns the starting and ending angles of this cylinder.

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

◆ getHeight()

void OdGeCylinder::getHeight ( OdGeInterval height) const

Returns the interval of the axis of symmetry.

Parameters
height[out] Receives the interval of the axis of symmetry.

◆ heightAt()

double OdGeCylinder::heightAt ( double  u) const

Returns the height of this cylinder 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 cylinder.

◆ intersectWith()

bool OdGeCylinder::intersectWith ( const OdGeLinearEnt3d linEnt,
int &  numInt,
OdGePoint3d p1,
OdGePoint3d p2,
const OdGeTol tol = OdGeContext::gTol 
) const

Returns true if and only if this cylinder intersects with a line entity, and returns the number of intersections and the points of intersection.

Parameters
lineEnt[in] Any 3D line entity.
numInt[out] Receives the number of intersections.
p1[out] Receives the first intersection point.
p2[out] Receives the second intersection point.
tol[in] Geometric tolerance.
Remarks
p1 is valid if and only if numInt >= 1. p2 is valid if and only if numInt = 2.

◆ isClosed()

bool OdGeCylinder::isClosed ( const OdGeTol tol = OdGeContext::gTol) const

Returns true if and only if this cylinder is a full circle within the specified tolerance.

Parameters
tol[in] Geometric tolerance.

◆ isOuterNormal()

bool OdGeCylinder::isOuterNormal ( ) const

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

◆ operator=()

OdGeCylinder& OdGeCylinder::operator= ( const OdGeCylinder cylinder)

◆ origin()

OdGePoint3d OdGeCylinder::origin ( ) const

Returns the origin of this cylinder.

◆ radius()

double OdGeCylinder::radius ( ) const

Returns the radius of this cylinder.

◆ refAxis()

OdGeVector3d OdGeCylinder::refAxis ( ) const

Returns the reference axis of this cylinder.

◆ set() [1/2]

OdGeCylinder& OdGeCylinder::set ( double  radius,
const OdGePoint3d origin,
const OdGeVector3d axisOfSym 
)

Sets the parameters for this cylinder according to the arguments, and returns a reference to this cylinder.

Parameters
radius[in] Radius of this cylinder.
axisOfSym[in] Axis of symmetry (rotation).

◆ set() [2/2]

OdGeCylinder& OdGeCylinder::set ( double  radius,
const OdGePoint3d origin,
const OdGeVector3d axisOfSymmetry,
const OdGeVector3d refAxis,
const OdGeInterval height,
double  startAng,
double  endAng 
)

Sets the parameters for this cylinder according to the arguments, and returns a reference to this cylinder.

Parameters
radius[in] Radius of this cylinder.
axisOfSymmetry[in] Axis of symmetry (rotation).
refAxis[in] defines thegle 0 of circular end.
height[in] Height interval of this cylinder.
startAng[in] Start angle.
endAng[in] End angle.
Remarks
All angles are expressed in radians.

◆ setAngles()

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

Sets the starting and ending angles of this cylinder.

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

◆ setHeight()

OdGeCylinder& OdGeCylinder::setHeight ( const OdGeInterval height)

Sets the height interval of this cylinder.

Parameters
height[in] Height interval of this cylinder.

◆ setIsOuterNormal()

void OdGeCylinder::setIsOuterNormal ( bool  isOuterNormal)

Sets if the cylinder normal is pointing outward.

Parameters
isOuterNormal[in] Flag indicating if the cylinder normal is to be set to point outward.

◆ setRadius()

OdGeCylinder& OdGeCylinder::setRadius ( double  radius)

Sets the radius of this cylinder.

Parameters
radius[in] Radius of this cylinder.

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