41using PickedPoint = std::variant<std::monostate, MeshTriPoint, EdgePoint, VertId>;
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:79
Visual Object.
Definition MRVisualObject.h:121
Definition MRCameraOrientationPlugin.h:8
MRMESH_API std::optional< Vector3f > getPickedPointNormal(const VisualObject &object, const PickedPoint &point)
std::variant< std::monostate, MeshTriPoint, EdgePoint, VertId > PickedPoint
Definition MRPointOnObject.h:41
MRMESH_API Vector3f pickedPointToVector3(const VisualObject *object, const PickedPoint &point)
Converts pickedPoint into local coordinates of its object.
MRMESH_API PickedPoint pointOnObjectToPickedPoint(const VisualObject *object, const PointOnObject &pos)
Converts PointOnObject coordinates depending on the object type to the PickedPoint variant.
MRMESH_API bool isPickedPointValid(const VisualObject *object, const PickedPoint &point)
Checks that the picked point presents in the object's topology.
MRMESH_API std::optional< Vector3f > getPickedPointPosition(const VisualObject &object, const PickedPoint &point)
a point located on some mesh's face
Definition MRMesh/MRPointOnFace.h:11
FaceId face
mesh's face containing the point
Definition MRMesh/MRPointOnFace.h:13
Definition MRPointOnObject.h:17
FaceId face
Definition MRPointOnObject.h:27
int primId
Definition MRPointOnObject.h:26
Vector3f point
3D location on the object in local coordinates
Definition MRPointOnObject.h:20
PointOnObject()
Definition MRPointOnObject.h:18
float zBuffer
z buffer value
Definition MRPointOnObject.h:22
VertId vert
Definition MRPointOnObject.h:29
UndirectedEdgeId uedge
Definition MRPointOnObject.h:28