|
Rhino C++ API
9.1
|
#include <opennurbs_cylinder.h>
Public Member Functions | |
| ON_Cylinder () | |
| zeros all fields - cylinder is invalid More... | |
| ON_Cylinder (const ON_Circle &circle) | |
| infinite cylinder More... | |
| ON_Cylinder (const ON_Circle &circle, double height) | |
| finite cylinder More... | |
| ~ON_Cylinder () | |
| const ON_3dVector & | Axis () const |
| const ON_3dPoint & | Center () const |
| ON_Circle | CircleAt (double linear_parameter) const |
| ON_3dPoint | ClosestPointTo (ON_3dPoint P) const |
| returns point on cylinder that is closest to given point More... | |
| bool | ClosestPointTo (ON_3dPoint P, double *angular_parameter, double *linear_parameter) const |
| returns parameters of point on cylinder that is closest to given point More... | |
| bool | Create (const ON_Circle &circle) |
| bool | Create (const ON_Circle &circle, double height) |
| int | GetNurbForm (ON_NurbsSurface &) const |
| parameterization of NURBS surface does not match cylinder's transcendental parameterization More... | |
| double | Height () const |
| returns the height or 0 for infinite cylinder More... | |
| bool | IsFinite () const |
| bool | IsValid () const |
| ON_Line | LineAt (double angular_parameter) const |
| ON_3dPoint | NormalAt (double angular_parameter, double linear_parameter) const |
| evaluate parameters and return normal vector More... | |
| ON_3dPoint | PointAt (double angular_parameter, double linear_parameter) const |
| evaluate parameters and return point More... | |
| ON_RevSurface * | RevSurfaceForm (ON_RevSurface *srf=nullptr) const |
| bool | Rotate (double angle_rad, const ON_3dVector &rotation_axis) |
| rotate cylinder along a given axis More... | |
| bool | Rotate (double angle_rad, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| rotate cylinder about a point and axis More... | |
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis) |
| For intersections see ON_Intersect();. More... | |
| bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &rotation_axis, const ON_3dPoint &rotation_center) |
| rotate cylinder about a point and axis More... | |
| bool | Translate (const ON_3dVector &translation_vector) |
| translate the cylinder along a vector More... | |
Public Attributes | |
| ON_Circle | circle |
| base circle More... | |
| double | height [2] |
Description: ON_Cylinder is a right circular cylinder.
| ON_Cylinder::ON_Cylinder | ( | ) |
zeros all fields - cylinder is invalid
| ON_Cylinder::ON_Cylinder | ( | const ON_Circle & | circle | ) |
infinite cylinder
| ON_Cylinder::ON_Cylinder | ( | const ON_Circle & | circle, |
| double | height | ||
| ) |
finite cylinder
| ON_Cylinder::~ON_Cylinder | ( | ) |
| const ON_3dVector& ON_Cylinder::Axis | ( | ) | const |
| const ON_3dPoint& ON_Cylinder::Center | ( | ) | const |
| ON_Circle ON_Cylinder::CircleAt | ( | double | linear_parameter | ) | const |
| linear_parameter | height from base circle's plane |
| ON_3dPoint ON_Cylinder::ClosestPointTo | ( | ON_3dPoint | P | ) | const |
returns point on cylinder that is closest to given point
| bool ON_Cylinder::ClosestPointTo | ( | ON_3dPoint | P, |
| double * | angular_parameter, | ||
| double * | linear_parameter | ||
| ) | const |
returns parameters of point on cylinder that is closest to given point
| angular_parameter | [0,2pi] |
| linear_parameter | height from base circle's plane |
| bool ON_Cylinder::Create | ( | const ON_Circle & | circle | ) |
| bool ON_Cylinder::Create | ( | const ON_Circle & | circle, |
| double | height | ||
| ) |
| int ON_Cylinder::GetNurbForm | ( | ON_NurbsSurface & | ) | const |
parameterization of NURBS surface does not match cylinder's transcendental parameterization
returns 0=failure, 2=success
| double ON_Cylinder::Height | ( | ) | const |
returns the height or 0 for infinite cylinder
| bool ON_Cylinder::IsFinite | ( | ) | const |
returns true if the cylinder is finite (height[0] != height[1]) and false if the cylinder is infinite.
| bool ON_Cylinder::IsValid | ( | ) | const |
returns true if all fields contain reasonable information and equation jibes with point and Z.
| ON_Line ON_Cylinder::LineAt | ( | double | angular_parameter | ) | const |
| angular_parameter | [0,2pi] |
| ON_3dPoint ON_Cylinder::NormalAt | ( | double | angular_parameter, |
| double | linear_parameter | ||
| ) | const |
evaluate parameters and return normal vector
| angular_parameter | [0,2pi] |
| linear_parameter | height from base circle's plane |
| ON_3dPoint ON_Cylinder::PointAt | ( | double | angular_parameter, |
| double | linear_parameter | ||
| ) | const |
evaluate parameters and return point
| angular_parameter | [0,2pi] |
| linear_parameter | height from base circle's plane |
| ON_RevSurface* ON_Cylinder::RevSurfaceForm | ( | ON_RevSurface * | srf = nullptr | ) | const |
Description: Creates a surface of revolution definition of the cylinder. Parameters: srf - [in] if not nullptr, then this srf is used. Result: A surface of revolution or nullptr if the cylinder is not valid or is infinite.
| bool ON_Cylinder::Rotate | ( | double | angle_rad, |
| const ON_3dVector & | rotation_axis | ||
| ) |
rotate cylinder along a given axis
| bool ON_Cylinder::Rotate | ( | double | angle_rad, |
| const ON_3dVector & | rotation_axis, | ||
| const ON_3dPoint & | rotation_center | ||
| ) |
rotate cylinder about a point and axis
| bool ON_Cylinder::Rotate | ( | double | sin_angle, |
| double | cos_angle, | ||
| const ON_3dVector & | rotation_axis | ||
| ) |
For intersections see ON_Intersect();.
rotate cylinder about its origin
| bool ON_Cylinder::Rotate | ( | double | sin_angle, |
| double | cos_angle, | ||
| const ON_3dVector & | rotation_axis, | ||
| const ON_3dPoint & | rotation_center | ||
| ) |
rotate cylinder about a point and axis
| bool ON_Cylinder::Translate | ( | const ON_3dVector & | translation_vector | ) |
translate the cylinder along a vector
| ON_Circle ON_Cylinder::circle |
base circle
< members left public
| double ON_Cylinder::height[2] |
If height[0] = height[1], the cylinder is infinite, Otherwise, height[0] < height[1] and the center of the "bottom" cap is
circle.plane.origin + height[0]*circle.plane.zaxis,
and the center of the top cap is
circle.plane.origin + height[1]*circle.plane.zaxis.
1.8.17