MeshLib Documentation
Loading...
Searching...
No Matches
MRMeshC/MROffset.h
Go to the documentation of this file.
1#pragma once
2
3#include "MRMeshFwd.h"
4#include "MRMeshPart.h"
6
7#include <MRMesh/config.h>
8
10
27
30
32 MRMESHC_API float mrSuggestVoxelSize( MRMeshPart mp, float approxNumVoxels );
33
34#ifndef MRMESH_NO_OPENVDB
40MRMESHC_API MRMesh* mrOffsetMesh( MRMeshPart mp, float offset, const MROffsetParameters* params, MRString** errorString );
41
46MRMESHC_API MRMesh* mrDoubleOffsetMesh( MRMeshPart mp, float offsetA, float offsetB, const MROffsetParameters* params, MRString** errorString );
47#endif
48
52MRMESHC_API MRMesh* mrMcOffsetMesh( MRMeshPart mp, float offset, const MROffsetParameters* params, MRString** errorString );
53
58MRMESHC_API MRMesh* mrMcShellMeshRegion( const MRMesh* mesh, const MRFaceBitSet* region, float offset, const MROffsetParameters* params, MRString** errorString );
59
70
85
88
92MRMESHC_API MRMesh* mrSharpOffsetMesh( MRMeshPart mp, float offset, const MROffsetParameters* params, const MRGeneralOffsetParameters* generalParams, MRString** errorString );
93
96MRMESHC_API MRMesh* mrGeneralOffsetMesh( MRMeshPart mp, float offset, const MROffsetParameters* params, const MRGeneralOffsetParameters* generalParams, MRString** errorString );
97
103MRMESHC_API MRMesh* mrThickenMesh( const MRMesh* mesh, float offset, const MROffsetParameters* params, const MRGeneralOffsetParameters* generalParams, MRString** errorString );
104
#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
bool(* MRProgressCallback)(float)
Definition MRMeshC/MRMeshFwd.h:47
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRMesh MRMesh
Definition MRMeshC/MRMeshFwd.h:43
struct MRFaceBitSet MRFaceBitSet
Definition MRMeshC/MRMeshFwd.h:37
typedefMR_EXTERN_C_BEGIN struct MRString MRString
Definition MRMeshC/MRMeshFwd.h:32
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
MRMESHC_API MRMesh * mrSharpOffsetMesh(MRMeshPart mp, float offset, const MROffsetParameters *params, const MRGeneralOffsetParameters *generalParams, MRString **errorString)
MR_EXTERN_C_BEGIN struct MROffsetParameters MROffsetParameters
MRMESHC_API MRMesh * mrDoubleOffsetMesh(MRMeshPart mp, float offsetA, float offsetB, const MROffsetParameters *params, MRString **errorString)
MRMESHC_API MRMesh * mrMcOffsetMesh(MRMeshPart mp, float offset, const MROffsetParameters *params, MRString **errorString)
struct MRGeneralOffsetParameters MRGeneralOffsetParameters
MRGeneralOffsetParametersMode
allows the user to select in the parameters which offset algorithm to call
Definition MRMeshC/MROffset.h:62
@ MRGeneralOffsetParametersModeStandard
create mesh using standard marching cubes implemented in MeshLib
Definition MRMeshC/MROffset.h:66
@ MRGeneralOffsetParametersModeSmooth
create mesh using dual marching cubes from OpenVDB library
Definition MRMeshC/MROffset.h:64
@ MRGeneralOffsetParametersModeSharpening
create mesh using standard marching cubes with additional sharpening implemented in MeshLib
Definition MRMeshC/MROffset.h:68
MRMESHC_API MRGeneralOffsetParameters mrGeneralOffsetParametersNew(void)
initializes a default instance
MRMESHC_API MRMesh * mrThickenMesh(const MRMesh *mesh, float offset, const MROffsetParameters *params, const MRGeneralOffsetParameters *generalParams, MRString **errorString)
MRMESHC_API MROffsetParameters mrOffsetParametersNew(void)
initializes a default instance
MRMESHC_API MRMesh * mrOffsetMesh(MRMeshPart mp, float offset, const MROffsetParameters *params, MRString **errorString)
MRMESHC_API MRMesh * mrGeneralOffsetMesh(MRMeshPart mp, float offset, const MROffsetParameters *params, const MRGeneralOffsetParameters *generalParams, MRString **errorString)
MRMESHC_API float mrSuggestVoxelSize(MRMeshPart mp, float approxNumVoxels)
computes size of a cubical voxel to get approximately given number of voxels during rasterization
MRMESHC_API MRMesh * mrMcShellMeshRegion(const MRMesh *mesh, const MRFaceBitSet *region, float offset, const MROffsetParameters *params, MRString **errorString)
MRSignDetectionMode
how to determine the sign of distances from a mesh
Definition MRMeshC/MRSignDetectionMode.h:9
Definition MRMeshC/MROffset.h:72
float maxNewRank2VertDev
maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes),...
Definition MRMeshC/MROffset.h:77
float minNewVertDev
minimal surface deviation to introduce new vertex in a voxel, measured in voxelSize
Definition MRMeshC/MROffset.h:75
MRGeneralOffsetParametersMode mode
Definition MRMeshC/MROffset.h:83
float maxNewRank3VertDev
maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes),...
Definition MRMeshC/MROffset.h:79
float maxOldVertPosCorrection
Definition MRMeshC/MROffset.h:80
stores reference on whole mesh (if region is NULL) or on its part (if region pointer is valid)
Definition MRMeshC/MRMeshPart.h:9
Definition MRMeshC/MROffset.h:12
float voxelSize
Definition MRMeshC/MROffset.h:15
MRProgressCallback callBack
Progress callback.
Definition MRMeshC/MROffset.h:17
bool memoryEfficient
Definition MRMeshC/MROffset.h:25
MRSignDetectionMode signDetectionMode
determines the method to compute distance sign
Definition MRMeshC/MROffset.h:19