42 Color baseColor{ Color::gray() };
44 Color hoveredColor{ Color::red() };
46 Color activeColor{ { Color::red() } };
53 int customModifiers = 0;
55 bool pickInBackFaceObject =
true;
107 if (
const MeshTriPoint* triPoint = std::get_if<MeshTriPoint>( ¤tPos_ ) )
119 startMove_ = startMove;
138 [[nodiscard]]
bool isOnMove()
const {
return isOnMove_; }
144 MRVIEWER_API
virtual bool onMouseDown_(
Viewer::MouseButton button,
int modifier )
override;
146 MRVIEWER_API
virtual bool onMouseMove_(
int mouse_x,
int mouse_y )
override;
148 void updatePositionAndRadius_();
150 void updatePositionAndRadiusPoints_(
const VertId& v );
151 void updatePositionAndRadiusLines_(
const EdgePoint& ep );
155 bool autoHover_{
true };
156 bool isOnMove_{
false };
157 bool isHovered_{
false };
158 MRVIEWER_API
void preDraw_()
override;
162 std::shared_ptr<SphereObject> pickSphere_;
163 std::shared_ptr<VisualObject> baseObject_;
165 boost::signals2::scoped_connection onBaseObjectWorldXfChanged_;
167 std::function<void(
const PickedPoint& )> startMove_;
168 std::function<void(
const PickedPoint& )> onMove_;
169 std::function<void(
const PickedPoint& )> endMove_;
172 void setPointRadius_();
int VertId
Definition MRDotNet/MRMeshFwd.h:51
Faces
Definition MRObjectMeshHolder.h:12
Edges
Definition MRObjectMeshHolder.h:14
represents a 3-dimentional float-typed vector
Definition MRDotNet/MRVector3.h:8
Definition MRCameraOrientationPlugin.h:8
MouseButton
Definition MRMouse.h:9
std::variant< MeshTriPoint, EdgePoint, VertId, int > PickedPoint
Definition MRPointOnObject.h:40
encodes a point on an edge of mesh or of polyline
Definition MREdgePoint.h:11
Definition MRMesh/MRMeshTriPoint.h:23
Definition MRViewerEventsListener.h:29
Definition MRPointOnObject.h:16