Rhino C++ API
7.26
|
A Simplex in 3d. More...
#include <opennurbs_convex_poly.h>
Public Member Functions | |
ON_3dSimplex () | |
An empty simplex. More... | |
ON_3dSimplex (const ON_3dPoint &a) | |
0-simplex in 3d More... | |
ON_3dSimplex (const ON_3dPoint &a, const ON_3dPoint &b) | |
1-simplex More... | |
ON_3dSimplex (const ON_3dPoint &a, const ON_3dPoint &b, const ON_3dPoint &c) | |
2-simplex More... | |
ON_3dSimplex (const ON_3dPoint &a, const ON_3dPoint &b, const ON_3dPoint &c, const ON_3dPoint &d) | |
3-simplex More... | |
ON_3dSimplex (const ON_3dSimplex &rhs)=default | |
~ON_3dSimplex ()=default | |
bool | AddVertex (const ON_3dPoint &) |
ON_BoundingBox | BoundingBox () const |
int | Count () const |
Number of Verticies <=4. More... | |
ON_3dVector | Edge (int e0, int e1) const |
ON_3dPoint | Evaluate (const double *b) const |
ON_3dPoint | Evaluate (const ON_4dPoint &b) const |
ON_3dVector | FaceNormal (int noti=0) const |
ON_3dVector | FaceUnitNormal (int noti=0) const |
bool | GetBoundingBox (ON_BoundingBox &bbox, int bGrowBox=false) const |
bool | GetClosestPoint (const ON_3dPoint &P0, ON_4dPoint &Bary, double maximum_distance=ON_DBL_MAX) const |
bool | GetClosestPointToOrigin (ON_4dPoint &Bary) const |
bool | GetTightBoundingBox (ON_BoundingBox &tight_bbox, bool bGrowBox=false, const ON_Xform *xform=nullptr) const |
bool | IsValid (double eps) const |
true if the Verticies are affinely independent More... | |
double | MaximumCoordinate () const |
ON_3dSimplex & | operator= (const ON_3dSimplex &rhs)=default |
const ON_3dPoint & | operator[] (int i) const |
ON_3dPoint & | operator[] (int) |
Returns a Vertex or a reference to one when 0<=i<Count() More... | |
bool | RemoveVertex (int i) |
bool | Rotate (double angle_in_radians, const ON_3dVector &axis_of_rotation, const ON_3dPoint ¢er_of_rotation) |
bool | Rotate (double sin_angle, double cos_angle, const ON_3dVector &axis_of_rotation, const ON_3dPoint ¢er_of_rotation) |
rotate line about a point and axis More... | |
bool | SetVertex (int i, ON_3dPoint P) |
double | SignedVolume () const |
returns ON_UNSET_VALUE if Count()<4 else the signed volume More... | |
bool | Transform (const ON_Xform &xform) |
bool | Translate (const ON_3dVector &delta) |
ON_3dPoint & | Vertex (int i) |
ON_3dPoint | Vertex (int i) const |
double | Volume () const |
A Simplex in 3d.
/ / 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_3dSimplex::ON_3dSimplex | ( | ) |
An empty simplex.
|
explicit |
0-simplex in 3d
ON_3dSimplex::ON_3dSimplex | ( | const ON_3dPoint & | a, |
const ON_3dPoint & | b | ||
) |
1-simplex
ON_3dSimplex::ON_3dSimplex | ( | const ON_3dPoint & | a, |
const ON_3dPoint & | b, | ||
const ON_3dPoint & | c | ||
) |
2-simplex
ON_3dSimplex::ON_3dSimplex | ( | const ON_3dPoint & | a, |
const ON_3dPoint & | b, | ||
const ON_3dPoint & | c, | ||
const ON_3dPoint & | d | ||
) |
3-simplex
|
default |
|
default |
bool ON_3dSimplex::AddVertex | ( | const ON_3dPoint & | ) |
append new vertex at end
ON_BoundingBox ON_3dSimplex::BoundingBox | ( | ) | const |
Description: Get Simplex's 3d axis aligned bounding box. Returns: 3d bounding box.
int ON_3dSimplex::Count | ( | ) | const |
Number of Verticies <=4.
ON_3dVector ON_3dSimplex::Edge | ( | int | e0, |
int | e1 | ||
) | const |
Edge vector from Vertex(e0) to Vertex(e1)
ON_3dPoint ON_3dSimplex::Evaluate | ( | const double * | b | ) | const |
ON_3dPoint ON_3dSimplex::Evaluate | ( | const ON_4dPoint & | b | ) | const |
ON_3dVector ON_3dSimplex::FaceNormal | ( | int | noti = 0 | ) | const |
ON_3dVector ON_3dSimplex::FaceUnitNormal | ( | int | noti = 0 | ) | const |
bool ON_3dSimplex::GetBoundingBox | ( | ON_BoundingBox & | bbox, |
int | bGrowBox = false |
||
) | const |
Description: Get simplexes 3d axis aligned bounding box or the union of the input box with the object's bounding box. Parameters: bbox - [in/out] 3d axis aligned bounding box bGrowBox - [in] (default=false) If true, then the union of the input bbox and the object's bounding box is returned in bbox. If false, the object's bounding box is returned in bbox. Returns: true if object has bounding box and calculation was successful.
bool ON_3dSimplex::GetClosestPoint | ( | const ON_3dPoint & | P0, |
ON_4dPoint & | Bary, | ||
double | maximum_distance = ON_DBL_MAX |
||
) | const |
Description: Find Closest Point to this simplex from a base point P0 or the Origin. If true is retuned then Evaluate(Bary) is the closest point on the Simplex. maximum_distance - optional upperbound on closest point. If maximum_distance>=0 is specified and Dist(P0, Simplex)>maximum_distance then false is returned.
bool ON_3dSimplex::GetClosestPointToOrigin | ( | ON_4dPoint & | Bary | ) | const |
bool ON_3dSimplex::GetTightBoundingBox | ( | ON_BoundingBox & | tight_bbox, |
bool | bGrowBox = false , |
||
const ON_Xform * | xform = nullptr |
||
) | const |
Description: Get tight bounding box with respect to a given frame Parameters: tight_bbox - [in/out] tight bounding box bGrowBox -[in] (default=false) If true and the input tight_bbox is valid, then returned tight_bbox is the union of the input tight_bbox and the line's tight bounding box. xform -[in] (default=nullptr) If not nullptr, the tight bounding box of the transformed triangle is calculated. The triangle is not modified. Returns: True if a valid tight_bbox is returned.
bool ON_3dSimplex::IsValid | ( | double | eps | ) | const |
true if the Verticies are affinely independent
double ON_3dSimplex::MaximumCoordinate | ( | ) | const |
Maximum absolute value of vertex coordinates
|
default |
const ON_3dPoint& ON_3dSimplex::operator[] | ( | int | i | ) | const |
ON_3dPoint& ON_3dSimplex::operator[] | ( | int | ) |
Returns a Vertex or a reference to one when 0<=i<Count()
bool ON_3dSimplex::RemoveVertex | ( | int | i | ) |
bool ON_3dSimplex::Rotate | ( | double | angle_in_radians, |
const ON_3dVector & | axis_of_rotation, | ||
const ON_3dPoint & | center_of_rotation | ||
) |
bool ON_3dSimplex::Rotate | ( | double | sin_angle, |
double | cos_angle, | ||
const ON_3dVector & | axis_of_rotation, | ||
const ON_3dPoint & | center_of_rotation | ||
) |
rotate line about a point and axis
bool ON_3dSimplex::SetVertex | ( | int | i, |
ON_3dPoint | P | ||
) |
Modify a vertex. i<Count()
double ON_3dSimplex::SignedVolume | ( | ) | const |
returns ON_UNSET_VALUE if Count()<4 else the signed volume
bool ON_3dSimplex::Transform | ( | const ON_Xform & | xform | ) |
bool ON_3dSimplex::Translate | ( | const ON_3dVector & | delta | ) |
ON_3dPoint& ON_3dSimplex::Vertex | ( | int | i | ) |
ON_3dPoint ON_3dSimplex::Vertex | ( | int | i | ) | const |