Struct LSROptions

Struct Documentation

struct LSROptions

Public Functions

inline bool hasOutput(LSROutput o) const
inline void ensureCorrectness()

Make sure all options are correctly set and consistent with each other.

Public Members

std::unordered_set<LSROutput> output = {LSROutput::BigMesh}

what to produce as output

fs::path outputDir

Directory to place output in. Defaults to “./<current date>/”.

fs::path tempDir

Directory for temporary output. Defaults to <outputDir>/temp/.

bool useGPU = false

Use GPU for normal computation.

bool useGPUDistances = false

Use GPU for signed distance computation.

std::vector<float> voxelSizes = {0.1}

voxelsizes for reconstruction. Only the first one produces most types of output.

float bgVoxelSize = 10

chunk size for the BigGrid and VGrid. Has to be a multiple of every voxel size.

float scale = 1

scale factor.

uint nodeSize = 1000000

Max. Number of Points in a leaf when using kd-tree.

uint partMethod = 1

int flag to trigger partition-method (0 = kd-Tree; 1 = VGrid)

uint ki = 20

Number of normals used in the normal interpolation process.

uint kd = 20

Number of normals used for distance function evaluation. Has to be > 0.

uint kn = 20

Size of k-neighborhood used for normal estimation. Has to be > 0.

bool useRansac = false

Set this flag for RANSAC based normal estimation.

std::vector<float> flipPoint = {10000000, 10000000, 10000000}

FlipPoint for GPU normal computation.

bool extrude = true

Extend the grid. Might avoid additional holes in sparse data sets, but can cause artifacts in dense data sets.

uint removeDanglingArtifacts = 0

number for the removal of dangling artifacts.

uint cleanContours = 0

Remove noise artifacts from contours. Same values are between 2 and 4.

uint fillHoles = 0

Maximum size for hole filling.

bool optimizePlanes = false

Shift all triangle vertices of a cluster onto their shared plane.

float planeNormalThreshold = 0.85

(Plane Normal Threshold) Normal threshold for plane optimization.

uint planeIterations = 3

Number of iterations for plane optimization.

uint minPlaneSize = 7

Minimum value for plane optimization.

uint smallRegionThreshold = 0

Threshold for small region removal. If 0 nothing will be deleted.

bool retesselate = false

Retesselate regions that are in a regression plane. Implies optimizePlanes.

float lineFusionThreshold = 0.01

Threshold for fusing line segments while tesselating.

bool mergeChunkBorders = true

Ensure that chunks have consistent borders. Takes longer.

bool tiles3dCompress = false

when generating LSROutput::Tiles3d, compress the meshes using Draco

AllowedMemoryUsage tiles3dMemUsage = AllowedMemoryUsage::Moderate