41 template<
typename T >
48 [[nodiscard]]
bool inVertex()
const {
return bary.inVertex() >= 0; }
61 [[nodiscard]]
bool valid()
const {
return e.valid(); }
62 [[nodiscard]]
explicit operator bool()
const {
return e.valid(); }
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMeshTopology.h:23
float weight
Definition MRMeshTriPoint.h:16
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
VertId v
Definition MRMeshTriPoint.h:15
TriPointf
Definition MRMeshFwd.h:497
bool valid() const
consider this valid if the edge ID is valid
Definition MRMeshTriPoint.h:61
bool fromTriangle(const MeshTopology &topology, FaceId f) const
returns true if the point is inside or on the boundary of given triangular face
bool same(const MeshTopology &topology, const MeshTriPoint &lhs, const MeshTriPoint &rhs)
returns true if two points are equal considering different representations
MeshTriPoint(NoInit)
Definition MRMeshTriPoint.h:35
bool fromSameTriangle(const MeshTopology &topology, MeshTriPoint &&a, MeshTriPoint &&b)
Definition MRMeshTriPoint.h:89
bool fromSameTriangle(const MeshTopology &topology, MeshTriPoint &a, MeshTriPoint &b)
bool inVertex() const
returns true if the point is in a vertex
Definition MRMeshTriPoint.h:48
MeshTriPoint(EdgeId e, TriPointf bary)
Definition MRMeshTriPoint.h:36
TriPointf bary
Definition MRMeshTriPoint.h:32
MeshTriPoint canonical(const MeshTopology &topology) const
represents the same point relative to the topology.edgeWithLeft( topology.left( e ) )
EdgePoint MeshEdgePoint
Definition MRMeshFwd.h:480
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,...
MeshTriPoint(const MeshTopology &topology, VertId v)
Definition MRMeshTriPoint.h:38
constexpr NoInit noInit
Definition MRMeshFwd.h:98
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
Definition MRMeshTriPoint.h:42
MeshTriPoint getVertexAsMeshTriPoint(const MeshTopology &topology, EdgeId e, VertId v)
returns MeshTriPoint representation of given vertex with given edge field; or invalid MeshTriPoint if...
MeshTriPoint(const MeshEdgePoint &ep)
Definition MRMeshTriPoint.h:37
bool operator==(const MeshTriPoint &rhs) const =default
returns true if two points are equal including equal not-unique representation
MeshEdgePoint onEdge(const MeshTopology &topology) const
MeshTriPoint lnext(const MeshTopology &topology) const
represents the same point relative to next edge in the same triangle
EdgeId e
Definition MRMeshTriPoint.h:27
VertId inVertex(const MeshTopology &topology) const
returns valid vertex id if the point is in vertex, otherwise returns invalid id
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRMeshFwd.h:97
Definition MRVector3.h:33
Definition MRMeshTriPoint.h:14