neuray API Programmer's Manual

mi::neuraylib::ITessellator Class Reference

[Functors]

Description

Functor to tessellate a polygon mesh into a triangle mesh.

Options to customize the tessellation algorithm.

The tessellation algorithm offers at this point no options to customize its behavior.

Public Member Functions

virtual ITriangle_meshrun( const IPolygon_mesh* mesh, const IDictionary* options) =0
Tessellates a polygon mesh into a triangle mesh. More...
virtual ITriangle_meshrun( const IPolygon_mesh* mesh) =0
Tessellates a polygon mesh into a triangle mesh. More...
virtual ITriangle_meshrun( const IFreeform_surface* ffs, const IDictionary* options) =0
Tessellates a freeform surface object into a triangle mesh. More...
virtual ITriangle_meshrun( const ISubdivision_surface* sds, const IDictionary* options) =0
Tessellates a subdivision surface object into a triangle mesh. More...

Member Functions

virtual ITriangle_mesh* mi::​neuraylib::​ITessellator::run( const IPolygon_mesh* mesh, const IDictionary* options) [pure virtual]

Tessellates a polygon mesh into a triangle mesh. Attributes and point attribute vectors are copied to the triangle mesh.

Parameters

mesh
The input polygon mesh. The input mesh will not be modified. Note that the input mesh really needs to be a polygon, a subdivision surface is not feasible.
options
An option set to customize the algorithms behavior. A default options set can be obtained from mi::neuraylib::IFunctor_base::get_default_options() const. Currently no options are supported for tessellation.

Returns

The tessellated triangle mesh.

virtual ITriangle_mesh* mi::​neuraylib::​ITessellator::run( const IPolygon_mesh* mesh) [pure virtual]

Tessellates a polygon mesh into a triangle mesh. Attributes and point attribute vectors are copied to the triangle mesh.

This variant of the function call uses the default options. Note that currently no options are supported for tessellation.

Parameters

mesh
The input polygon mesh. The input mesh will not be modified. Note that the input mesh really needs to be a polygon mesh, a subdivision surface is not feasible.

Returns

The tessellated triangle mesh.

virtual ITriangle_mesh* mi::​neuraylib::​ITessellator::run( const IFreeform_surface* ffs, const IDictionary* options) [pure virtual]

Tessellates a freeform surface object into a triangle mesh. Attributes and point attribute vectors are copied to the triangle mesh.

Parameters

ffs
The input freeform surface object. The input object will not be modified.
options
An option set to customize the algorithms behavior. A default options set can be obtained from mi::neuraylib::IFunctor_base::get_default_options() const. Currently no options are supported for tessellation.

Returns

The tessellated triangle mesh.

virtual ITriangle_mesh* mi::​neuraylib::​ITessellator::run( const ISubdivision_surface* sds, const IDictionary* options) [pure virtual]

Tessellates a subdivision surface object into a triangle mesh. Attributes and point attribute vectors are copied to the triangle mesh.

Parameters

sds
The input subdivision surface object. The input object will not be modified.
options
An option set to customize the algorithms behavior. A default options set can be obtained from mi::neuraylib::IFunctor_base::get_default_options() const. Currently no options are supported for tessellation.

Returns

The tessellated triangle mesh.