Meshroom/meshroom/nodes/aliceVision/MeshRemoveUnseenFaces.py
2024-09-16 17:50:54 +02:00

69 lines
2 KiB
Python

__version__ = "3.0"
from meshroom.core import desc
from meshroom.core.utils import VERBOSE_LEVEL
class MeshRemoveUnseenFaces(desc.AVCommandLineNode):
commandLine = 'aliceVision_meshRemoveUnseenFaces {allParams}'
cpu = desc.Level.INTENSIVE
ram = desc.Level.NORMAL
category = 'Dense Reconstruction'
documentation = '''
Remove triangles from the mesh when the vertices are not visible by any camera.
'''
inputs = [
desc.File(
name="input",
label="SfMData",
description="Input SfMData file.",
value="",
),
desc.File(
name="inputMesh",
label="Mesh",
description="Input Mesh file.",
value="",
),
desc.ChoiceParam(
name="outputMeshFileType",
label="Mesh Type",
description="File type for the output mesh.",
value="obj",
values=["gltf", "obj", "fbx", "stl"],
group="",
),
desc.IntParam(
name="minObservations",
label="Min Observations",
description="Minimal number of observations to keep a vertex.",
value=1,
range=(0, 5, 1),
),
desc.IntParam(
name="minVertices",
label="Min Vertices to Remove a Triangle",
description="Minimal number of killed vertices in a triangle to remove the triangle.",
value=3,
range=(1, 3, 1),
),
desc.ChoiceParam(
name="verboseLevel",
label="Verbose Level",
description="Verbosity level (fatal, error, warning, info, debug, trace).",
values=VERBOSE_LEVEL,
value="info",
),
]
outputs = [
desc.File(
name="outputMesh",
label="Mesh",
description="Output mesh file.",
value=desc.Node.internalFolder + "mesh.{outputMeshFileTypeValue}",
),
]