40 Color baseColor{ Color::gray() };
42 Color hoveredColor{ Color::red() };
44 Color activeColor{ { Color::red() } };
52 int customModifiers = 0;
54 bool pickInBackFaceObject =
true;
107 [[deprecated]] Vector3f
toVector3f()
const {
return getCoords(); }
110 std::optional<Vector3f>
findCoords()
const {
return getPickedPointPosition( *baseObject_, currentPos_ ); }
113 std::optional<Vector3f>
findNormal()
const {
return getPickedPointNormal( *baseObject_, currentPos_ ); }
118 if (
const MeshTriPoint* triPoint = std::get_if<MeshTriPoint>( ¤tPos_ ) )
136 canMove_ = std::move( canMove );
141 startMove_ = std::move( startMove );
146 onMove_ = std::move( onMove );
151 endMove_ = std::move( endMove );
160 [[nodiscard]]
bool isOnMove()
const {
return isOnMove_; }
172 MRVIEWER_API
virtual bool onMouseDown_(
MouseButton button,
int modifier )
override;
173 MRVIEWER_API
virtual bool onMouseUp_(
MouseButton button,
int modifier )
override;
174 MRVIEWER_API
virtual bool onMouseMove_(
int mouse_x,
int mouse_y )
override;
176 void updatePositionAndRadius_();
181 bool autoHover_{
true };
182 bool isOnMove_{
false };
183 bool isHovered_{
false };
184 MRVIEWER_API
void preDraw_()
override;
188 std::shared_ptr<SphereObject> pickSphere_;
189 std::shared_ptr<VisualObject> baseObject_;
191 boost::signals2::scoped_connection onBaseObjectWorldXfChanged_;
193 std::function<bool( SurfacePointWidget &,
const PickedPoint& )> canMove_;
194 std::function<void( SurfacePointWidget &,
const PickedPoint& )> startMove_;
195 std::function<void( SurfacePointWidget &,
const PickedPoint& )> onMove_;
196 std::function<void( SurfacePointWidget &,
const PickedPoint& )> endMove_;
199 void setPointRadius_();
202 void setSphereColor_();
Faces
Definition MRObjectMeshHolder.h:14
Edges
Definition MRObjectMeshHolder.h:16
Definition MRCameraOrientationPlugin.h:8
MouseButton
Definition MRMouse.h:9
std::variant< std::monostate, MeshTriPoint, EdgePoint, VertId > PickedPoint
Definition MRPointOnObject.h:42
Definition MRMesh/MRColor.h:9
Definition MRMesh/MRMeshTriPoint.h:23
Definition MRViewerEventsListener.h:29
Definition MRPointOnObject.h:18