19 public MultiListener<MouseDownListener, MouseMoveListener, MouseUpListener,
50 float relaxForce = 0.2f;
51 float editForce = 1.f;
52 float sharpness = 50.f;
53 float relaxForceAfterEdit = 0.25f;
58 MRVIEWER_API
void init(
const std::shared_ptr<ObjectMesh>& objectMesh );
110 MRVIEWER_API
virtual bool checkModifiers_(
int modifiers )
const {
return modifiers == 0; }
148 std::shared_ptr<ObjectMesh>
obj_;
150 float minRadius_ = 1.f;
165 bool firstInit_ =
true;
166 bool badRegion_ =
false;
168 bool mousePressed_ =
false;
170 std::chrono::time_point<std::chrono::high_resolution_clock>
timePoint_;
172 bool ownMeshChangedSignal_ =
false;
174 bool connectionsInitialized_ =
false;
183 class SmartChangeMeshPointsAction;
187 bool appendHistoryAction_ =
false;
190 bool enableDeviationTexture_ =
false;
192 bool sameValidVerticesAsInOriginMesh_ =
true;
195 bool ignoreOcclusion_ =
false;
196 bool editOnlyCodirectedSurface_ =
true;
Definition MRMesh/MRLaplacian.h:34
Class to hold one dimension texture with value to UV mapping.
Definition MRPalette.h:27
Definition MRCameraOrientationPlugin.h:8
MouseButton
Definition MRMouse.h:9
@ Remove
Default: separate nested meshes and remove them, just like union operation should do,...
EdgeWeights
determines the weight of each edge in applications like Laplacian
Definition MREnums.h:20
@ PointToPoint
it is the safest approach but can converge slowly
Definition MRMesh/MRMesh.h:23
Definition MRViewerEventsListener.h:29
a point located on some mesh's face
Definition MRMesh/MRPointOnFace.h:11