|
CFx SDK Documentation
2022 SP0
|
#include <GeEllipCylinder.h>
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 *) |
This class represents cylinders with an elliptical cross-section.
It is generated by a line parallel to the axis of symmetry, along an eliptical path.
Parameter V is the angle of revolution, measured from the major axis to the axis of symmetry. The right hand rule is applied along the direction of the axis of symmetry for positive angles. For a closed cylinder, V defaults to [-OdaPI, OdaPI).
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 the center of the cylinder base, and U = 1 corresponds to the center of the cylinder top.
The surface of the cylinder is perodic in V with a period of Oda2PI.
[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 majorRadius > 0.0 minorRadius > 0.0
The angle of a point on an ellipse is measured by projecting the point along a vector perpendicular to the major axis onto a circle whose center is the center of this ellipse and whose radius is the major radius of this ellipse.
The angle between the major axis of the ellipse, and a vector from the center of the ellipse to the intersection point with the circle, measured counterclockwise, is the angle of the point on the ellipse.
Corresponding C++ library: TD_Ge
<group OdGe_Classes>
Definition at line 88 of file GeEllipCylinder.h.
| OdGeEllipCylinder::OdGeEllipCylinder | ( | ) |
| majorRadius | [in] Major radius of the elliptical cylinder. |
| minorRadius | [in] Minor radius of the elliptical cylinder. |
| origin | [in] Origin of the elliptical cylinder. |
| axisOfSymmetry | [in] Axis of symmetry (rotation). |
| majorAxis | [in] Major axis of the elliptical cylinder. |
| height | [in] Height interval of the cylinder. |
| startAng | [in] Start angle of the elliptical cylinder. |
| endAng | [in] End angle of the elliptical cylinder. \remarksAll angles are expressed in radians. |
| OdGeEllipCylinder::OdGeEllipCylinder | ( | const OdGeEllipCylinder & | ) |
| OdGeEllipCylinder::OdGeEllipCylinder | ( | double | minorRadius, |
| double | majorRadius, | ||
| const OdGePoint3d & | origin, | ||
| const OdGeVector3d & | axisOfSymmetry | ||
| ) |
| OdGeEllipCylinder::OdGeEllipCylinder | ( | double | minorRadius, |
| double | majorRadius, | ||
| const OdGePoint3d & | origin, | ||
| const OdGeVector3d & | axisOfSymmetry, | ||
| const OdGeVector3d & | majorAxis, | ||
| const OdGeInterval & | height, | ||
| double | startAng, | ||
| double | endAng | ||
| ) |
| OdGeVector3d OdGeEllipCylinder::axisOfSymmetry | ( | ) | const |
Returns the axis of symmetry of the cylinder.
| void OdGeEllipCylinder::getAngles | ( | double & | startAng, |
| double & | endAng | ||
| ) | const |
Returns the start and end angles of the cylinder.
| startAng | [out] Receives the start angle. |
| endAng | [out] Receives the end angle. \remarksAll angles are expressed in radians. |
| void OdGeEllipCylinder::getHeight | ( | OdGeInterval & | height | ) | const |
Returns the interval of the axis of symmetry.
| height | [out] Receives the interval of the axis of symmetry. |
| double OdGeEllipCylinder::heightAt | ( | double | u | ) | const |
Returns the cylinder height that corresponds 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.
| u | [in] Position of the cylinder on the U-axis. |
| bool OdGeEllipCylinder::intersectWith | ( | const OdGeLinearEnt3d & | linEnt, |
| int & | numInt, | ||
| OdGePoint3d & | p1, | ||
| OdGePoint3d & | p2, | ||
| const OdGeTol & | tol = OdGeContext::gTol |
||
| ) | const |
Returns True if the cylinder intersects with the specified line entity, and returns the number of intersections and the points of intersection.
| 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. |
| bool OdGeEllipCylinder::isClosed | ( | const OdGeTol & | tol = OdGeContext::gTol | ) | const |
Returns true if and only if the cylinder is a full ellipse within the specified tolerance.
| tol | [in] Geometric tolerance. |
| bool OdGeEllipCylinder::isOuterNormal | ( | ) | const |
Returns true if and only if the normal to the cylinder is pointing outward.
| OdGeVector3d OdGeEllipCylinder::majorAxis | ( | ) | const |
Returns the major axis of the cylinder.
| double OdGeEllipCylinder::majorRadius | ( | ) | const |
Returns the major radius of the cylinder.
| OdGeVector3d OdGeEllipCylinder::minorAxis | ( | ) | const |
Returns the minor axis of the cylinder.
| double OdGeEllipCylinder::minorRadius | ( | ) | const |
Returns the minor radius of the cylinder.
| OdGeEllipCylinder& OdGeEllipCylinder::operator= | ( | const OdGeEllipCylinder & | ) |
| OdGePoint3d OdGeEllipCylinder::origin | ( | ) | const |
Returns the origin of the cylinder.
| double OdGeEllipCylinder::radiusRatio | ( | ) | const |
Returns the ratio of the minor to major radius of the cylinder.
| OdGeEllipCylinder& OdGeEllipCylinder::set | ( | double | minorRadius, |
| double | majorRadius, | ||
| const OdGePoint3d & | origin, | ||
| const OdGeVector3d & | axisOfSymmetry | ||
| ) |
Sets the parameters for the cylinder and returns a reference to the cylinder.
| majorRadius | [in] Major radius of the elliptical cylinder. |
| minorRadius | [in] Minor radius of the elliptical cylinder. |
| origin | [in] Origin of the elliptical cylinder. |
| axisOfSymmetry | [in] Axis of symmetry (rotation). |
| OdGeEllipCylinder& OdGeEllipCylinder::set | ( | double | minorRadius, |
| double | majorRadius, | ||
| const OdGePoint3d & | origin, | ||
| const OdGeVector3d & | axisOfSymmetry, | ||
| const OdGeVector3d & | majorAxis, | ||
| const OdGeInterval & | height, | ||
| double | startAng, | ||
| double | endAng | ||
| ) |
Sets the parameters for the cylinder and returns a reference to the cylinder.
| majorRadius | [in] Major radius of the elliptical cylinder. |
| minorRadius | [in] Minor radius of the elliptical cylinder. |
| origin | [in] Origin of the elliptical cylinder. |
| axisOfSymmetry | [in] Axis of symmetry (rotation). |
| majorAxis | [in] Major axis of the elliptical cylinder. |
| height | [in] Height interval of the cylinder. |
| startAng | [in] Start angle of the elliptical cylinder. |
| endAng | [in] End angle of the elliptical cylinder. \remarksAll angles are expressed in radians. |
| OdGeEllipCylinder& OdGeEllipCylinder::setAngles | ( | double | startAng, |
| double | endAng | ||
| ) |
Sets the start and end angles of the elliptical cylinder.
| startAng | [in] Start angle. |
| endAng | [in] End angle. \remarksAll angles are expressed in radians. |
| OdGeEllipCylinder& OdGeEllipCylinder::setHeight | ( | const OdGeInterval & | height | ) |
Sets the height of the elliptical cylinder.
| height | [in] Height of the elliptical cylinder. |
| void OdGeEllipCylinder::setIsOuterNormal | ( | bool | isOuterNormal | ) |
Sets OuterNormal according to the parameter.
| isOuterNormal | [in] Sets OuterNormal. |
| OdGeEllipCylinder& OdGeEllipCylinder::setMajorRadius | ( | double | majorRadius | ) |
Sets the major radius of the elliptical cylinder.
| majorRadius | [in] The major radius of the elliptical cylinder. |
| OdGeEllipCylinder& OdGeEllipCylinder::setMinorRadius | ( | double | minorRadius | ) |
Sets the minor radius of the elliptical cylinder.
| minorRadius | [in] The minor radius of the elliptical cylinder. |