40 Color baseColor{ Color::gray() };
42 Color hoveredColor{ Color::red() };
44 Color activeColor{ { Color::red() } };
52 int customModifiers = 0;
54 bool pickInBackFaceObject =
true;
111 if (
const MeshTriPoint* triPoint = std::get_if<MeshTriPoint>( ¤tPos_ ) )
129 startMove_ = startMove;
148 [[nodiscard]]
bool isOnMove()
const {
return isOnMove_; }
154 MRVIEWER_API
virtual bool onMouseDown_(
MouseButton button,
int modifier )
override;
155 MRVIEWER_API
virtual bool onMouseUp_(
MouseButton button,
int modifier )
override;
156 MRVIEWER_API
virtual bool onMouseMove_(
int mouse_x,
int mouse_y )
override;
158 void updatePositionAndRadius_();
160 void updatePositionAndRadiusPoints_(
const VertId& v );
161 void updatePositionAndRadiusLines_(
const EdgePoint& ep );
165 bool autoHover_{
true };
166 bool isOnMove_{
false };
167 bool isHovered_{
false };
168 MRVIEWER_API
void preDraw_()
override;
172 std::shared_ptr<SphereObject> pickSphere_;
173 std::shared_ptr<VisualObject> baseObject_;
175 boost::signals2::scoped_connection onBaseObjectWorldXfChanged_;
177 std::function<void( SurfacePointWidget &,
const PickedPoint& )> startMove_;
178 std::function<void( SurfacePointWidget &,
const PickedPoint& )> onMove_;
179 std::function<void( SurfacePointWidget &,
const PickedPoint& )> endMove_;
182 void setPointRadius_();
Faces
Definition MRObjectMeshHolder.h:12
Edges
Definition MRObjectMeshHolder.h:14
MouseButton
Definition MRMouse.h:9
std::variant< MeshTriPoint, EdgePoint, VertId, int > PickedPoint
Definition MRPointOnObject.h:40
Definition MRMesh/MRColor.h:9
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