MeshLib C++ Docs
Loading...
Searching...
No Matches
MROffsetVerts.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
5#include <cfloat>
6#include <optional>
7
8namespace MR
9{
10
13MRMESH_API bool offsetVerts( Mesh& mesh, const VertMetric& offset, const ProgressCallback& cb = {} );
14
16{
18 float outsideOffset = 0;
19
21 float insideOffset = 0;
22};
23
27MRMESH_API Mesh makeThickMesh( const Mesh & m, const ThickenParams & params );
28
30{
33 float maxShift = 0;
34
37
39 float minThickness = 0;
40
43};
44
48MRMESH_API bool zCompensate( Mesh& mesh, const ZCompensateParams& params );
49
51[[nodiscard]] MRMESH_API std::optional<VertScalars> findZcompensationShifts( const Mesh& mesh, const ZCompensateParams& params );
52
54[[nodiscard]] MRMESH_API std::optional<VertCoords> findZcompensatedPositions( const Mesh& mesh, const ZCompensateParams& params );
55
56} //namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:80
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:729
Definition MRCameraOrientationPlugin.h:8
std::function< float(VertId)> VertMetric
Definition MRMesh/MRMeshFwd.h:568
MRMESH_API bool zCompensate(Mesh &mesh, const ZCompensateParams &params)
MRMESH_API std::optional< VertCoords > findZcompensatedPositions(const Mesh &mesh, const ZCompensateParams &params)
finds vertices positions of the mesh after z-compensation without modifying the mesh
MRMESH_API Mesh makeThickMesh(const Mesh &m, const ThickenParams &params)
MRMESH_API bool offsetVerts(Mesh &mesh, const VertMetric &offset, const ProgressCallback &cb={})
MRMESH_API std::optional< VertScalars > findZcompensationShifts(const Mesh &mesh, const ZCompensateParams &params)
finds the shift along z-axis for each vertex without modifying the mesh
Definition MRMesh/MRMesh.h:23
Definition MROffsetVerts.h:16
float outsideOffset
the amount of offset for original mesh vertices
Definition MROffsetVerts.h:18
float insideOffset
the amount of offset for cloned mirrored mesh vertices in the opposite direction
Definition MROffsetVerts.h:21
Definition MROffsetVerts.h:30
bool reduceSelfIntersections
if true, limits the movement of each vertex to reduce self-intersections in the mesh
Definition MROffsetVerts.h:36
ProgressCallback progress
to report progress and cancel processing
Definition MROffsetVerts.h:42
float minThickness
only if (reduceSelfIntersections = true), avoids moving a vertex closer than this distance to another...
Definition MROffsetVerts.h:39
float maxShift
Definition MROffsetVerts.h:33