|
| 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
|
|
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 ) )
TriPointf MR::MeshTriPoint::bary |
barycentric coordinates
a in [0,1], a=0 => point is on next( e ) edge, a=1 => point is in dest( e ) b in [0,1], b=0 => point is on e edge, b=1 => point is in dest( next( e ) ) a+b in [0,1], a+b=0 => point is in org( e ), a+b=1 => point is on prev( e.sym() ) edge