Public Types | |
typedef T | Number |
The number type. | |
typedef ads::FixedArray< 3, Number > | Point |
A Cartesian point. | |
typedef geom::IndexedEdgePolyhedron< Number > | Polyhedron |
An indexed edge polyhedron type. | |
Public Member Functions | |
Constructors, etc. | |
Vertex () | |
Default constructor. | |
Vertex (const Vertex &other) | |
Copy constructor. | |
Vertex & | operator= (const Vertex &other) |
Assignment operator. | |
Vertex (const Point &pt, const Point &normal, const std::vector< Point > &neighbors, const std::vector< Point > &faceNormals, int faceIndex) | |
Construct from b-rep information. | |
void | make (const Point &pt, const Point &normal, const std::vector< Point > &neighbors, const std::vector< Point > &faceNormals, int faceIndex) |
Make from b-rep information. | |
void | make (const Point &pt, int faceIndex) |
Make without b-rep information. | |
~Vertex () | |
Trivial destructor. | |
Accessors. | |
const Point & | getLocation () const |
The location of the vertex. | |
bool | isConvex () const |
Return true if the surface is convex at the vertex. | |
bool | isConcave () const |
Return true if the surface is concave at the vertex. | |
const std::vector< Point > & | getEdgeDirections () const |
Return the vector of edge directions in the pyramid of closest points. | |
int | getFaceIndex () const |
Return the index of an adjacent face. | |
Mathematical operations. | |
Number | computeDistance (const Point &p) const |
Return the distance to the supporting point of the vertex. | |
Number | computeDistanceChecked (const Point &p) const |
Return the distance to the supporting point of the vertex. | |
Number | computeDistanceUnsigned (const Point &p) const |
Return the unsigned distance to the supporting point of the vertex. | |
Number | computeDistanceUnsignedChecked (const Point &p) const |
Return the unsigned distance to the supporting point of the vertex. | |
Number | computeClosestPoint (const Point &p, Point *cp) const |
Return distance. Compute closest point. | |
Number | computeClosestPointChecked (const Point &p, Point *cp) const |
Return distance. Compute closest point. | |
Number | computeClosestPointUnsigned (const Point &p, Point *cp) const |
Return unsigned distance. Compute closest point. | |
Number | computeClosestPointUnsignedChecked (const Point &p, Point *cp) const |
Return unsigned distance. Compute closest point. | |
Number | computeGradient (const Point &p, Point *grad) const |
Return the distance. Compute gradient of the distance. | |
Number | computeGradientChecked (const Point &p, Point *grad) const |
Return the distance. Compute gradient of the distance. | |
Number | computeGradientUnsigned (const Point &p, Point *grad) const |
Return the unsigned distance. Compute the gradient of this distance. | |
Number | computeGradientUnsignedChecked (const Point &p, Point *grad) const |
Return the unsigned distance. Compute the gradient of this distance. | |
Number | computeClosestPointAndGradient (const Point &p, Point *cp, Point *grad) const |
Return the distance. Compute the closest point and the gradient of the distance. | |
Number | computeClosestPointAndGradientChecked (const Point &p, Point *cp, Point *grad) const |
Return the distance. Compute the closest point and the gradient of the distance. | |
Number | computeClosestPointAndGradientUnsigned (const Point &p, Point *cp, Point *grad) const |
Return the unsigned distance. Compute the closest point and the gradient of this distance. | |
Number | computeClosestPointAndGradientUnsignedChecked (const Point &p, Point *cp, Point *grad) const |
Return the unsigned distance. Compute the closest point and the gradient of this distance. | |
void | buildCharacteristicPolyhedronPositive (Polyhedron *polyhedron, Number height) |
Make the polyhedron that contains the points of positive signed distance. | |
void | buildCharacteristicPolyhedronNegative (Polyhedron *polyhedron, Number height) |
Make the polyhedron that contains the points of negative signed distance. |
Vertex< 3, T >::Vertex | ( | const Point & | pt, | |
const Point & | normal, | |||
const std::vector< Point > & | neighbors, | |||
const std::vector< Point > & | faceNormals, | |||
int | faceIndex | |||
) | [inline] |
Construct from b-rep information.
Construct from point, vertex normal, neighboring points, neighboring face normals and the index of an adjacent face. face_normals
are given in positive order. For signed distance, the closest points to the vertex lie in a pyramid.
Vertex< 3, T >::Number Vertex< 3, T >::computeClosestPointAndGradientChecked | ( | const Point & | p, | |
Point * | cp, | |||
Point * | grad | |||
) | const [inline] |
Return the distance. Compute the closest point and the gradient of the distance.
Use the vertex normal to determine the sign.
Vertex< 3, T >::Number Vertex< 3, T >::computeClosestPointChecked | ( | const Point & | p, | |
Point * | cp | |||
) | const [inline] |
Return distance. Compute closest point.
Use the vertex normal to determine the sign.
Vertex< 3, T >::Number Vertex< 3, T >::computeDistanceChecked | ( | const Point & | p | ) | const [inline] |
Return the distance to the supporting point of the vertex.
Use the vertex normal to determine the sign.
Vertex< 3, T >::Number Vertex< 3, T >::computeGradientChecked | ( | const Point & | p, | |
Point * | grad | |||
) | const [inline] |
Return the distance. Compute gradient of the distance.
Use the vertex normal to determine the sign.
void Vertex< 3, T >::make | ( | const Point & | pt, | |
int | faceIndex | |||
) | [inline] |
Make without b-rep information.
Make from a point and the index of an adjacent face. This is used for computing unsigned distance to a vertex on the boundary of the surface.
void Vertex< 3, T >::make | ( | const Point & | pt, | |
const Point & | normal, | |||
const std::vector< Point > & | neighbors, | |||
const std::vector< Point > & | faceNormals, | |||
int | faceIndex | |||
) | [inline] |
Make from b-rep information.
Make from point, vertex normal, neighboring points, neighboring face normals and the index of an adjacent face. faceNormals
are given in positive order. For signed distance, the closest points to the vertex lie in a pyramid.