Rhino C++ API
7.26
|
#include <opennurbs_plane.h>
Public Member Functions | |
ON_Plane () | |
ON_Plane (const double equation[4]) | |
ON_Plane (const ON_3dPoint &origin, const ON_3dPoint &x_point, const ON_3dPoint &y_point) | |
ON_Plane (const ON_3dPoint &origin, const ON_3dVector &normal) | |
ON_Plane (const ON_3dPoint &origin, const ON_3dVector &x_dir, const ON_3dVector &y_dir) | |
ON_Plane (const ON_PlaneEquation &plane_equation) | |
~ON_Plane () | |
ON_3dPoint | ClosestPointTo (ON_3dPoint point) const |
bool | ClosestPointTo (ON_3dPoint world_point, double *u, double *v) const |
bool | CreateFromEquation (const class ON_PlaneEquation &plane_equation) |
bool | CreateFromEquation (const double equation[4]) |
bool | CreateFromFrame (const ON_3dPoint &origin, const ON_3dVector &x_dir, const ON_3dVector &y_dir) |
bool | CreateFromNormal (const ON_3dPoint &origin, const ON_3dVector &normal) |
bool | CreateFromPoints (const ON_3dPoint &origin, const ON_3dPoint &point_on_x, const ON_3dPoint &point_on) |
double | DistanceTo (const ON_3dPoint &point) const |
bool | Flip () |
bool | GetDistanceToBoundingBox (const ON_BoundingBox &, double *min, double *max) const |
ON_Line | IsoLine (int dir, double c) const |
bool | IsValid () const |
bool | Morph (const ON_SpaceMorph &morph) |
const ON_3dVector & | Normal () const |
bool | operator!= (const ON_Plane &) const |
bool | operator== (const ON_Plane &) const |
const ON_3dPoint & | Origin () const |
ON_3dPoint | PointAt (double u, double v) const |
ON_3dPoint | PointAt (double u, double v, double w) const |
bool | Rotate (double angle, const ON_3dVector &axis) |
bool | Rotate (double angle, const ON_3dVector &axis, const ON_3dPoint ¢er) |
bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis) |
bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis, const ON_3dPoint ¢er) |
void | SetOrigin (const ON_3dPoint &origin) |
bool | SwapCoordinates (int i, int j) |
bool | Transform (const ON_Xform &xform) |
For intersections see ON_Intersect();. More... | |
bool | Translate (const ON_3dVector &delta) |
bool | UpdateEquation () |
const ON_3dVector & | Xaxis () const |
const ON_3dVector & | Yaxis () const |
Static Public Member Functions | |
static ON_Plane | FromPointList (const class ON_3dPointListRef &point_list) |
static ON_Plane | FromPointList (const ON_SimpleArray< ON_3dPoint > &point_list) |
static ON_Plane | FromPointList (const ON_SimpleArray< ON_3fPoint > &point_list) |
static ON_Plane | FromPointList (size_t point_index_count, const unsigned int *point_index_list, const class ON_3dPointListRef &point_list) |
static ON_Plane | FromPointList (size_t point_index_count, size_t point_index_stride, const unsigned int *point_index_list, const class ON_3dPointListRef &point_list) |
static ON_Plane | FromPointList (size_t point_list_count, const ON_3dPoint *point_list) |
static ON_Plane | FromPointList (size_t point_list_count, const ON_3fPoint *point_list) |
Public Attributes | |
ON_3dPoint | origin |
origin of plane More... | |
ON_PlaneEquation | plane_equation |
equation of plane More... | |
ON_3dVector | xaxis |
unit X axis of plane More... | |
ON_3dVector | yaxis |
unit Y axis of plane More... | |
ON_3dVector | zaxis |
unit Z axis of plane More... | |
Static Public Attributes | |
const static ON_Plane | NanPlane |
All values are ON_DBL_QNAN. More... | |
const static ON_Plane | UnsetPlane |
All values are ON_UNSET_VALUE. More... | |
const static ON_Plane | World_xy |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::XAxis, ON_3dVector::YAxis); More... | |
const static ON_Plane | World_yz |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::YAxis, ON_3dVector::ZAxis); More... | |
const static ON_Plane | World_zx |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::ZAxis, ON_3dVector::XAxis); More... | |
/ / Copyright (c) 1993-2012 Robert McNeel & Associates. All rights reserved. / OpenNURBS, Rhinoceros, and Rhino3D are registered trademarks of Robert / McNeel & Associates. / / THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY. / ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR PURPOSE AND OF / MERCHANTABILITY ARE HEREBY DISCLAIMED. /
/ For complete openNURBS copyright information see http://www.opennurbs.org. / //////////////////////////////////////////////////////////////
ON_Plane::ON_Plane | ( | ) |
Description: The default constructor creates a plane with orgin=(0,0,0), xaxis=(1,0,0), yaxis=(0,1,0) zaxis=(0,0,1), and equation=(0,0,1,0).
ON_Plane::ON_Plane | ( | const ON_3dPoint & | origin, |
const ON_3dVector & | normal | ||
) |
Description: Construct a plane from a point and normal vector. Parameters: origin - [in] point on the plane normal - [in] non-zero normal to the plane Remarks: origin = point, zaxis = unitized normal, xaxis xaxis set with xaxis.PerpindicularTo(zaxis). See Also: ON_Plane::CreateFromNormal
ON_Plane::ON_Plane | ( | const ON_3dPoint & | origin, |
const ON_3dVector & | x_dir, | ||
const ON_3dVector & | y_dir | ||
) |
Description: Construct a plane from a point, and two vectors in the plane. Parameters: origin - [in] point on the plane x_dir - [in] non-zero vector in the plane that determines the xaxis direction. y_dir - [in] non-zero vector not parallel to x_dir that is used to determine the yaxis direction. y_dir does not have to be perpendicular to x_dir.
ON_Plane::ON_Plane | ( | const ON_3dPoint & | origin, |
const ON_3dPoint & | x_point, | ||
const ON_3dPoint & | y_point | ||
) |
Description: Construct a plane from three non-collinear points. Parameters: origin - [in] point on the plane x_point - [in] second point in the plane. The xaxis will be parallel to x_point-origin. y_point - [in] third point on the plane that is not collinear with the first two points. yaxis*(y_point-origin) will be > 0.
ON_Plane::ON_Plane | ( | const double | equation[4] | ) |
Description: Construct a plane from an equation. Parameters: equation - [in] an array of 4 doubles with one of equation[0], equation[1], or equation[2] being non-zero.
ON_Plane::ON_Plane | ( | const ON_PlaneEquation & | plane_equation | ) |
ON_Plane::~ON_Plane | ( | ) |
ON_3dPoint ON_Plane::ClosestPointTo | ( | ON_3dPoint | point | ) | const |
Description: Get point on plane that is closest to a given point. Parameters: point - [in] Returns: A 3d point on the plane that is closest to world_point.
bool ON_Plane::ClosestPointTo | ( | ON_3dPoint | world_point, |
double * | u, | ||
double * | v | ||
) | const |
Description: Get point on plane that is closest to a given point. Parameters: world_point - [in] 3d point u - [out] v - [out] The point ON_Plane::PointAt(*u,*v) is the point on the plane that is closest to world_point. Returns: true if successful.
bool ON_Plane::CreateFromEquation | ( | const class ON_PlaneEquation & | plane_equation | ) |
bool ON_Plane::CreateFromEquation | ( | const double | equation[4] | ) |
Description: Construct a plane from an equation. Parameters: equation - [in] an array of 4 doubles with one of equation[0], equation[1], or equation[2] being non-zero. Remarks: points on the plane will satisfy x*equation[0] +y*equation[1] + z*equation[2] + equation[3] = 0 Returns: true if valid plane is created.
bool ON_Plane::CreateFromFrame | ( | const ON_3dPoint & | origin, |
const ON_3dVector & | x_dir, | ||
const ON_3dVector & | y_dir | ||
) |
Description: Construct a plane from a point, and two vectors in the plane. Parameters: origin - [in] point on the plane x_dir - [in] non-zero vector in the plane that determines the xaxis direction. y_dir - [in] non-zero vector not parallel to x_dir that is used to determine the yaxis direction. y_dir does not have to be perpendicular to x_dir. Returns: true if valid plane is created.
bool ON_Plane::CreateFromNormal | ( | const ON_3dPoint & | origin, |
const ON_3dVector & | normal | ||
) |
Description: Create a plane from a point and normal vector. Parameters: origin - [in] point on the plane normal - [in] non-zero normal to the plane Remarks: origin = point, zaxis = unitized normal, xaxis xaxis set with xaxis.PerpindicularTo(zaxis). Returns: true if valid plane is created.
bool ON_Plane::CreateFromPoints | ( | const ON_3dPoint & | origin, |
const ON_3dPoint & | point_on_x, | ||
const ON_3dPoint & | point_on | ||
) |
Description: Construct a plane from three non-collinear points. Parameters: origin - [in] point on the plane point_on_x - [in] second point in the plane. The xaxis will be parallel to x_point-origin. point_on - [in] third point on the plane that is not collinear with the first two points. yaxis*(y_point-origin) will be > 0. Returns: true if valid plane is created.
double ON_Plane::DistanceTo | ( | const ON_3dPoint & | point | ) | const |
Description: Get signed distance from the plane to a point. Parameters: point - [in] Returns: Signed distance from a point to a plane. Remarks: If the point is on the plane, the distance is 0. If the point is above the plane, the distance is > 0. If the point is below the plane the distance is < 0. The zaxis determines the plane's orientation.
bool ON_Plane::Flip | ( | ) |
Description: Flip plane orientation by swapping x and y axes, reversing the zaxis, and updating the equation. Returns: true if successful
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
|
static |
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
|
static |
Returns: ON_Plane::UnsetPlane if input is not valid.
bool ON_Plane::GetDistanceToBoundingBox | ( | const ON_BoundingBox & | , |
double * | min, | ||
double * | max | ||
) | const |
min | output min signed dist from plane to box |
max | max signed dist from plane to box |
ON_Line ON_Plane::IsoLine | ( | int | dir, |
double | c | ||
) | const |
Description: Get an isoparameteric line on the plane. Parameters: dir - [in] direction of iso-parametric line 0: first parameter varies and second parameter is constant e.g., line(t) = plane(t,c) 1: first parameter is constant and second parameter varies e.g., line(t) = plane(c,t) c - [in] value of constant parameter Returns: iso-parametric line
bool ON_Plane::IsValid | ( | ) | const |
Description: Test plane to see if it is valid. Returns: true if all fields contain reasonable information and equation jibes with point and zaxis.
bool ON_Plane::Morph | ( | const ON_SpaceMorph & | morph | ) |
Description: Morph plane. Parameters: morph - [in] morph to apply to plane Returns: true if successful Remarks: The resulting plane still has an orthonormal frame
const ON_3dVector& ON_Plane::Normal | ( | ) | const |
Returns: Plane unit normal.
bool ON_Plane::operator!= | ( | const ON_Plane & | ) | const |
bool ON_Plane::operator== | ( | const ON_Plane & | ) | const |
const ON_3dPoint& ON_Plane::Origin | ( | ) | const |
Returns: Plane origin.
ON_3dPoint ON_Plane::PointAt | ( | double | u, |
double | v | ||
) | const |
Description: Evaluate a point on the plane Parameters: u - [in] v - [in] evaulation parameters Returns: plane.origin + u*plane.xaxis + v*plane.yaxis
ON_3dPoint ON_Plane::PointAt | ( | double | u, |
double | v, | ||
double | w | ||
) | const |
Description: Evaluate a point on the plane Parameters: u - [in] v - [in] evaluation parameters w - [in] elevation parameter Returns: plane.origin + u*plane.xaxis + v*plane.yaxis + z*plane.zaxis
bool ON_Plane::Rotate | ( | double | angle, |
const ON_3dVector & | axis | ||
) |
Description: Rotate a plane about its origin. Parameters: angle - [in] rotation angle in radians axis - [in] axis of rotation Returns: true if successful
bool ON_Plane::Rotate | ( | double | angle, |
const ON_3dVector & | axis, | ||
const ON_3dPoint & | center | ||
) |
Description: Rotate a plane about a point. Parameters: angle - [in] rotation angle in radians axis - [in] axis of rotation center - [in] center of rotation Returns: true if successful
bool ON_Plane::Rotate | ( | double | sin_angle, |
double | cos_angle, | ||
const ON_3dVector & | axis | ||
) |
Description: Rotate a plane about its origin. Parameters: sin_angle - [in] sine of rotation angle cos_angle - [in] cosine of rotation angle axis - [in] axis of rotation Returns: true if successful
bool ON_Plane::Rotate | ( | double | sin_angle, |
double | cos_angle, | ||
const ON_3dVector & | axis, | ||
const ON_3dPoint & | center | ||
) |
Description: Rotate a plane about a point. Parameters: sin_angle - [in] sine of rotation angle cos_angle - [in] cosine of rotation angle axis - [in] axis of rotation center - [in] center of rotation Returns: true if successful
void ON_Plane::SetOrigin | ( | const ON_3dPoint & | origin | ) |
Description: Set the origin and update the plane equation Parameters: origin - [in] the new origin
bool ON_Plane::SwapCoordinates | ( | int | i, |
int | j | ||
) |
Description: Transform a plane by swapping coordinates. Parameters: i - [in] j - [in] indices of coordinates to swap. 0 = x coordinate, 1 = y coordinate, 2 = z coordinate. Returns: true if successful.
bool ON_Plane::Transform | ( | const ON_Xform & | xform | ) |
For intersections see ON_Intersect();.
Description: Transform plane. Parameters: xform - [in] transformation to apply to plane Returns: true if successful
bool ON_Plane::Translate | ( | const ON_3dVector & | delta | ) |
Description: Translate a plane. Parameters: delta - [in] translation vector Returns: true if successful
bool ON_Plane::UpdateEquation | ( | ) |
Description: Update the plane equation based on the current values of the origin and zaxis. Returns: true if successful. false if zaxis is zero. Remarks: If you modify a plane's origin or zaxis, call UpdateEquation() to set equation[].
const ON_3dVector& ON_Plane::Xaxis | ( | ) | const |
Returns: Plane unit x-axis.
const ON_3dVector& ON_Plane::Yaxis | ( | ) | const |
Returns: Plane unit y-axis.
|
static |
All values are ON_DBL_QNAN.
ON_3dPoint ON_Plane::origin |
origin of plane
ON_PlaneEquation ON_Plane::plane_equation |
equation of plane
|
static |
All values are ON_UNSET_VALUE.
|
static |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::XAxis, ON_3dVector::YAxis);
|
static |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::YAxis, ON_3dVector::ZAxis);
|
static |
world coordinate system ON_Plane(ON_3dPoint::Origin, ON_3dVector::ZAxis, ON_3dVector::XAxis);
ON_3dVector ON_Plane::xaxis |
unit X axis of plane
ON_3dVector ON_Plane::yaxis |
unit Y axis of plane
ON_3dVector ON_Plane::zaxis |
unit Z axis of plane