32 [[nodiscard]]
bool inVertex()
const {
return a.inVertex() >= 0; }
39 [[nodiscard]]
bool valid()
const {
return e.valid(); }
40 [[nodiscard]]
explicit operator bool()
const {
return e.valid(); }
78 [[nodiscard]]
bool valid()
const {
return e.valid() &&
a <=
b; }
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRMeshTopology.h:23
Definition MRPolylineTopology.h:18
EdgePointPair(EdgePoint ia, EdgePoint ib)
Definition MREdgePoint.h:57
EdgePoint edgePointA() const
returns starting EdgePoint
Definition MREdgePoint.h:74
bool inVertex() const
returns true if the point is in a vertex
Definition MREdgePoint.h:32
bool operator==(const EdgePointPair &rhs) const =default
returns true if two edge-point pairs are equal including equal not-unique representation
EdgeSegment(EdgeId e, float a=0.0f, float b=1.0f)
Definition MREdgePoint.h:72
VertId inVertex(const PolylineTopology &topology) const
returns valid vertex id if the point is in vertex, otherwise returns invalid id
EdgePoint sym() const
represents the same point relative to sym edge in
Definition MREdgePoint.h:43
void moveToClosestVertex()
sets this to the closest end of the edge
EdgeSegment sym() const
represents the same segment relative to sym edge in
Definition MREdgePoint.h:82
bool isBd(const MeshTopology &topology, const FaceBitSet *region=nullptr) const
returns true if the point is on the boundary of the region (or for whole mesh if region is nullptr)
SegmPointf b
end of the segment
Definition MREdgePoint.h:70
EdgePoint(const MeshTopology &topology, VertId v)
EdgePoint(EdgeId e, float a)
Definition MREdgePoint.h:19
bool same(const MeshTopology &topology, const EdgePoint &lhs, const EdgePoint &rhs)
returns true if two edge-points are equal considering different representations
bool operator==(const EdgePoint &rhs) const =default
returns true if two edge-points are equal including equal not-unique representation
bool fromSameTriangle(const MeshTopology &topology, EdgePoint &a, EdgePoint &b)
SegmPointf a
a in [0,1], a=0 => point is in org( e ), a=1 => point is in dest( e )
Definition MREdgePoint.h:16
EdgeId e
Definition MREdgePoint.h:15
VertId getClosestVertex(const MeshTopology &topology) const
returns one of two edge vertices, closest to this point
SegmPointf a
start of the segment
Definition MREdgePoint.h:68
bool valid() const
returns true if the edge is valid and start point is less than end point
Definition MREdgePoint.h:78
EdgePoint b
Definition MREdgePoint.h:55
VertId inVertex(const MeshTopology &topology) const
returns valid vertex id if the point is in vertex, otherwise returns invalid id
bool operator==(const EdgeSegment &rhs) const =default
VertId getClosestVertex(const PolylineTopology &topology) const
returns one of two edge vertices, closest to this point
EdgePoint(const PolylineTopology &topology, VertId v)
EdgeId e
id of the edge
Definition MREdgePoint.h:66
EdgePoint a
Definition MREdgePoint.h:54
bool valid() const
consider this valid if the edge ID is valid
Definition MREdgePoint.h:39
SegmPointf
Definition MRMeshFwd.h:474
EdgePoint edgePointB() const
returns ending EdgePoint
Definition MREdgePoint.h:76
bool fromSameTriangle(const MeshTopology &topology, EdgePoint &&a, EdgePoint &&b)
Definition MREdgePoint.h:92
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
encodes a point on an edge of mesh or of polyline
Definition MREdgePoint.h:14