MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / sharpOffsetMesh

Function sharpOffsetMesh

source/MRVoxels/MROffset.cpp:274–297  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

272}
273
274Expected<Mesh> sharpOffsetMesh( const MeshPart& mp, float offset, const SharpOffsetParameters& params )
275{
276 MR_TIMER;
277 OffsetParameters mcParams = params;
278 mcParams.callBack = subprogress( params.callBack, 0.0f, 0.7f );
279 Vector<VoxelId, FaceId> map;
280 auto res = mcOffsetMesh( mp, offset, mcParams, &map );
281 if ( !res.has_value() )
282 return res;
283
284 SharpenMarchingCubesMeshSettings sharpenParams;
285 sharpenParams.minNewVertDev = params.voxelSize * params.minNewVertDev;
286 sharpenParams.maxNewRank2VertDev = params.voxelSize * params.maxNewRank2VertDev;
287 sharpenParams.maxNewRank3VertDev = params.voxelSize * params.maxNewRank3VertDev;
288 sharpenParams.maxOldVertPosCorrection = params.voxelSize * params.maxOldVertPosCorrection;
289 sharpenParams.offset = offset;
290 sharpenParams.outSharpEdges = params.outSharpEdges;
291
292 sharpenMarchingCubesMesh( mp, res.value(), map, sharpenParams );
293 if ( !reportProgress( params.callBack, 0.99f ) )
294 return unexpectedOperationCanceled();
295
296 return res;
297}
298
299Expected<Mesh> generalOffsetMesh( const MeshPart& mp, float offset, const GeneralOffsetParameters& params )
300{

Callers 3

TestOffsetsMethod · 0.85
generalOffsetMeshFunction · 0.85
EMSCRIPTEN_BINDINGSFunction · 0.85

Calls 6

subprogressFunction · 0.85
mcOffsetMeshFunction · 0.85
sharpenMarchingCubesMeshFunction · 0.85
reportProgressFunction · 0.85
valueMethod · 0.45

Tested by 1

TestOffsetsMethod · 0.68