3#include "MRPch/MRBindingMacros.h"
29 UndirectedEdgeId uedge;
32 [[nodiscard]]
operator PointOnFace()
const {
return { .face = face, .point =
point }; }
42using PickedPoint = std::variant<std::monostate, MeshTriPoint, EdgePoint, VertId>;
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRPointOnObject.h:18
new unsafe ref MR.Vector3f point
new unsafe ref float zBuffer
Definition MRVisualObject.h:119
Definition MRCameraOrientationPlugin.h:8
MRMESH_API MR_BIND_IGNORE bool isPickedPointValid(const VisualObject *object, const PickedPoint &point)
Checks that the picked point presents in the object's topology.
MRMESH_API MR_BIND_IGNORE 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 std::optional< Vector3f > getPickedPointPosition(const VisualObject &object, const PickedPoint &point)
MRMESH_API std::optional< Vector3f > getPickedPointNormal(const VisualObject &object, const PickedPoint &point, bool interpolated=true)