#include <MRMeshTriPoint.h>
Public Member Functions | |
| MeshTriPoint ()=default | |
| MeshTriPoint (NoInit) | |
| MeshTriPoint (EdgeId e, TriPointf bary) | |
| MeshTriPoint (const MeshEdgePoint &ep) | |
| MeshTriPoint (const MeshTopology &topology, VertId v) | |
| template<typename T > | |
| MeshTriPoint (EdgeId e, const Vector3< T > &p, const Vector3< T > &v0, const Vector3< T > &v1, const Vector3< T > &v2) | |
| given a point coordinates computes its barycentric coordinates | |
| MRMESH_API VertId | inVertex (const MeshTopology &topology) const |
| returns valid vertex id if the point is in vertex, otherwise returns invalid id | |
| bool | inVertex () const |
| returns true if the point is in a vertex | |
| MRMESH_API MeshEdgePoint | onEdge (const MeshTopology &topology) const |
| MRMESH_API bool | isBd (const MeshTopology &topology, const FaceBitSet *region=nullptr) const |
| returns true if the point is in vertex or on edge, and that location is on the boundary of the region | |
| MRMESH_API bool | fromTriangle (const MeshTopology &topology, FaceId f) const |
| returns true if the point is inside or on the boundary of given triangular face | |
| bool | valid () const |
| consider this valid if the edge ID is valid | |
| operator bool () const | |
| MRMESH_API MeshTriPoint | lnext (const MeshTopology &topology) const |
| represents the same point relative to next edge in the same triangle | |
| MRMESH_API MeshTriPoint | canonical (const MeshTopology &topology) const |
| represents the same point relative to the topology.edgeWithLeft( topology.left( e ) ) | |
| MRMESH_API std::array< WeightedVertex, 3 > | getWeightedVerts (const MeshTopology &topology) const |
| returns three weighted triangle's vertices with the sum of not-negative weights equal to 1, and the largest weight in the closest vertex | |
| bool | operator== (const MeshTriPoint &rhs) const =default |
| returns true if two points are equal including equal not-unique representation | |
Public Attributes | |
| EdgeId | e |
| TriPointf | bary |
Related Symbols | |
(Note that these are not member symbols.) | |
| MRMESH_API bool | same (const MeshTopology &topology, const MeshTriPoint &lhs, const MeshTriPoint &rhs) |
| returns true if two points are equal considering different representations | |
| MRMESH_API bool | fromSameTriangle (const MeshTopology &topology, MeshTriPoint &a, MeshTriPoint &b) |
| bool | fromSameTriangle (const MeshTopology &topology, MeshTriPoint &&a, MeshTriPoint &&b) |
| MRMESH_API MeshTriPoint | getVertexAsMeshTriPoint (const MeshTopology &topology, EdgeId e, VertId v) |
| returns MeshTriPoint representation of given vertex with given edge field; or invalid MeshTriPoint if it is not possible | |
encodes a point inside a triangular mesh face using barycentric coordinates
Notations used below:
v0 - the value in org( e )
v1 - the value in dest( e )
v2 - the value in dest( next( e ) )