MeshLib
 
Loading...
Searching...
No Matches
Offset Class Reference

#include <MROffset.h>

Static Public Member Functions

static float SuggestVoxelSize (MeshPart mp, float approxNumVoxels)
 computes size of a cubical voxel to get approximately given number of voxels during rasterization
 
static Mesh OffsetMesh (MeshPart mp, float offset, OffsetParameters^ parameters)
 
static Mesh DoubleOffsetMesh (MeshPart mp, float offsetA, float offsetB, OffsetParameters^ parameters)
 
static Mesh McOffsetMesh (MeshPart mp, float offset, OffsetParameters^ parameters)
 
static Mesh McShellMeshRegion (MeshPart mp, float offset, float voxelSize)
 
static Mesh SharpOffsetMesh (MeshPart mp, float offset, SharpOffsetParameters^ parameters)
 
static Mesh GeneralOffsetMesh (MeshPart mp, float offset, GeneralOffsetParameters^ parameters)
 Offsets mesh by converting it to voxels and back using one of three modes specified in the parameters.
 
static Mesh ThickenMesh (Mesh^ mesh, float offset, GeneralOffsetParameters^ parameters)
 

Member Function Documentation

◆ DoubleOffsetMesh()

static Mesh Offset::DoubleOffsetMesh ( MeshPart mp,
float offsetA,
float offsetB,
OffsetParameters^ parameters )
static

Offsets mesh by converting it to voxels and back two times only closed meshes allowed (only Offset mode) typically offsetA and offsetB have distinct signs

◆ GeneralOffsetMesh()

static Mesh Offset::GeneralOffsetMesh ( MeshPart mp,
float offset,
GeneralOffsetParameters^ parameters )
static

Offsets mesh by converting it to voxels and back using one of three modes specified in the parameters.

◆ McOffsetMesh()

static Mesh Offset::McOffsetMesh ( MeshPart mp,
float offset,
OffsetParameters^ parameters )
static

Offsets mesh by converting it to distance field in voxels (using OpenVDB library if SignDetectionMode.OpenVDB or our implementation otherwise) and back using standard Marching Cubes, as opposed to Dual Marching Cubes in OffsetMesh(...)

◆ McShellMeshRegion()

static Mesh Offset::McShellMeshRegion ( MeshPart mp,
float offset,
float voxelSize )
static

Constructs a shell around selected mesh region with the properties that every point on the shall must

  1. be located not further than given distance from selected mesh part,
  2. be located not closer to not-selected mesh part than to selected mesh part.

◆ OffsetMesh()

static Mesh Offset::OffsetMesh ( MeshPart mp,
float offset,
OffsetParameters^ parameters )
static

Offsets mesh by converting it to distance field in voxels using OpenVDB library, signDetectionMode = Unsigned(from OpenVDB) | OpenVDB | HoleWindingRule, and then converts back using OpenVDB library (dual marching cubes), so result mesh is always closed

◆ SharpOffsetMesh()

static Mesh Offset::SharpOffsetMesh ( MeshPart mp,
float offset,
SharpOffsetParameters^ parameters )
static

Offsets mesh by converting it to voxels and back post process result using reference mesh to sharpen features

◆ SuggestVoxelSize()

static float Offset::SuggestVoxelSize ( MeshPart mp,
float approxNumVoxels )
static

computes size of a cubical voxel to get approximately given number of voxels during rasterization

◆ ThickenMesh()

static Mesh Offset::ThickenMesh ( Mesh^ mesh,
float offset,
GeneralOffsetParameters^ parameters )
static

in case of positive offset, returns the mesh consisting of offset mesh merged with inversed original mesh (thickening mode); in case of negative offset, returns the mesh consisting of inversed offset mesh merged with original mesh (hollowing mode); if your input mesh is open then please specify params.signDetectionMode = SignDetectionMode.Unsigned, and you will get open mesh (with several components) on output if your input mesh is closed then please specify another sign detection mode, and you will get closed mesh (with several components) on output;


The documentation for this class was generated from the following file: