Meshroom/meshroom/nodes/aliceVision/MeshResampling.py

90 lines
2.7 KiB
Python

__version__ = "1.0"
from meshroom.core import desc
class MeshResampling(desc.AVCommandLineNode):
commandLine = 'aliceVision_meshResampling {allParams}'
cpu = desc.Level.NORMAL
ram = desc.Level.NORMAL
category = 'Mesh Post-Processing'
documentation = '''
This node allows to recompute the mesh surface with a new topology and uniform density.
'''
inputs = [
desc.File(
name="input",
label='Input Mesh (OBJ file format).',
description='',
value='',
uid=[0],
),
desc.FloatParam(
name='simplificationFactor',
label='Simplification factor',
description='Simplification factor',
value=0.5,
range=(0.0, 1.0, 0.01),
uid=[0],
),
desc.IntParam(
name='nbVertices',
label='Fixed Number of Vertices',
description='Fixed number of output vertices.',
value=0,
range=(0, 1000000, 1),
uid=[0],
),
desc.IntParam(
name='minVertices',
label='Min Vertices',
description='Min number of output vertices.',
value=0,
range=(0, 1000000, 1),
uid=[0],
),
desc.IntParam(
name='maxVertices',
label='Max Vertices',
description='Max number of output vertices.',
value=0,
range=(0, 1000000, 1),
uid=[0],
),
desc.IntParam(
name='nbLloydIter',
label='Number of Pre-Smoothing Iteration',
description='Number of iterations for Lloyd pre-smoothing.',
value=40,
range=(0, 100, 1),
uid=[0],
),
desc.BoolParam(
name='flipNormals',
label='Flip Normals',
description='''Option to flip face normals. It can be needed as it depends on the vertices order in triangles and the convention change from one software to another.''',
value=False,
uid=[0],
),
desc.ChoiceParam(
name='verboseLevel',
label='Verbose Level',
description='''verbosity level (fatal, error, warning, info, debug, trace).''',
value='info',
values=['fatal', 'error', 'warning', 'info', 'debug', 'trace'],
exclusive=True,
uid=[],
),
]
outputs = [
desc.File(
name="output",
label="Mesh",
description="Output mesh (OBJ file format).",
value=desc.Node.internalFolder + 'mesh.obj',
uid=[],
),
]