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_; }
159 MRVIEWER_API
virtual bool onMouseDown_(
MouseButton button,
int modifier )
override;
160 MRVIEWER_API
virtual bool onMouseUp_(
MouseButton button,
int modifier )
override;
161 MRVIEWER_API
virtual bool onMouseMove_(
int mouse_x,
int mouse_y )
override;
163 void updatePositionAndRadius_();
165 void updatePositionAndRadiusPoints_(
const VertId& v );
166 void updatePositionAndRadiusLines_(
const EdgePoint& ep );
170 bool autoHover_{
true };
171 bool isOnMove_{
false };
172 bool isHovered_{
false };
173 MRVIEWER_API
void preDraw_()
override;
177 std::shared_ptr<SphereObject> pickSphere_;
178 std::shared_ptr<VisualObject> baseObject_;
180 boost::signals2::scoped_connection onBaseObjectWorldXfChanged_;
182 std::function<void( SurfacePointWidget &,
const PickedPoint& )> startMove_;
183 std::function<void( SurfacePointWidget &,
const PickedPoint& )> onMove_;
184 std::function<void( SurfacePointWidget &,
const PickedPoint& )> endMove_;
187 void setPointRadius_();
190 void setSphereColor_();
Faces
Definition MRObjectMeshHolder.h:13
Edges
Definition MRObjectMeshHolder.h:15
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