7#ifndef NVIDIA_INDEX_ITRIANGLE_MESH_SUBSET_H
8#define NVIDIA_INDEX_ITRIANGLE_MESH_SUBSET_H
11#include <mi/base/interface_declare.h>
12#include <mi/math/vector.h>
25 public mi::base::Interface_declare<0x19fa1bbf,0xcda6,0x43d5,0x89,0x40,0x57,0x95,0x78,0x99,0xb5,0x3d,
26 IDistributed_data_subset>
36 TRIFLAGS_VISIBLE_EDGE_NONE = 0,
37 TRIFLAGS_VISIBLE_EDGE_01 = 1,
38 TRIFLAGS_VISIBLE_EDGE_12 = 2,
39 TRIFLAGS_VISIBLE_EDGE_20 = 4,
40 TRIFLAGS_VISIBLE_EDGE_ALL = 7
83 const mi::math::Bbox_struct<mi::Float32, 3>& bounding_box,
85 const mi::math::Vector_struct<mi::Float32, 3>* vertices,
86 mi::Uint32 nb_vertices,
88 const mi::Uint32* vertex_indices,
89 mi::Uint32 nb_indices,
91 const mi::Uint64* global_triangle_ids,
92 mi::Uint64 nb_global_triangle_ids,
94 const mi::math::Vector_struct<mi::Float32, 3>* normals = 0,
95 mi::Uint32 nb_normals = 0,
97 const mi::math::Vector_struct<mi::Float32, 2>* texture_coordinates = 0,
98 mi::Uint32 nb_texture_coordinates = 0,
100 const mi::math::Color_struct* colors = 0,
101 mi::Uint32 nb_colors = 0,
103 const mi::Uint32* normal_indices = 0,
104 const mi::Uint32* tex_coord_indices = 0,
105 const mi::Uint32* color_indices = 0,
106 const mi::Uint32* colormap_indices = 0,
108 const mi::Uint16* materials = 0,
109 mi::Uint32 nb_materials = 0,
112 mi::Uint32 nb_triangle_flags = 0) = 0;
124 virtual const mi::math::Vector_struct<mi::Float32, 3>*
get_vertices()
const = 0;
137 virtual const mi::math::Vector_struct<mi::Float32, 3>*
get_normals()
const = 0;
163 virtual const mi::math::Color_struct*
get_colors()
const = 0;
Defines the vertices and per-vertex attributes of a subset of a triangle mesh.
Definition: itriangle_mesh_subset.h:27
virtual const mi::Uint32 * get_color_indices() const =0
Returns the tri-vertex to color index.
Triflags
Triangle flags.
Definition: itriangle_mesh_subset.h:35
virtual mi::Uint32 get_nb_texture_coordinates() const =0
Returns the number of texture coordinates.
virtual const ITriangle_mesh_subset::Triflags * get_triangle_flags() const =0
Returns the triangle flags.
virtual const mi::Uint32 * get_normal_indices() const =0
Returns the tri-vertex to normal index array.
virtual mi::Uint32 get_nb_colors() const =0
Returns the number of colors.
virtual const mi::math::Vector_struct< mi::Float32, 2 > * get_texture_coordinates() const =0
Returns the vertex texture coordinate array.
virtual mi::Uint32 get_nb_materials() const =0
Returns the number of materials.
virtual const mi::Uint32 * get_colormap_indices() const =0
Returns the tri-vertex to colormap index array.
virtual mi::Uint32 get_nb_triangle_flags() const =0
Returns the number of triangle flags.
virtual const mi::Uint32 * get_texture_coordinate_indices() const =0
Returns the tri-vertex to texture coordinate index array.
virtual const mi::math::Bbox_struct< mi::Float32, 3 > & get_bounding_box() const =0
Returns the bounding box of the sub-mesh.
virtual const mi::Uint64 * get_global_triangle_ids() const =0
Returns the IDs of the triangles in the sub-mesh.
virtual const mi::math::Vector_struct< mi::Float32, 3 > * get_normals() const =0
Returns the vertex normals array.
virtual mi::Uint32 get_nb_normals() const =0
Returns the number of vertex normals.
virtual const mi::Uint32 * get_vertex_indices() const =0
Returns the tri-vertex to vertex position index array.
virtual const mi::math::Vector_struct< mi::Float32, 3 > * get_vertices() const =0
Returns the vertex position array.
virtual mi::Uint32 get_nb_vertices() const =0
Returns the number of vertices.
virtual bool initialize(const mi::math::Bbox_struct< mi::Float32, 3 > &bounding_box, const mi::math::Vector_struct< mi::Float32, 3 > *vertices, mi::Uint32 nb_vertices, const mi::Uint32 *vertex_indices, mi::Uint32 nb_indices, const mi::Uint64 *global_triangle_ids, mi::Uint64 nb_global_triangle_ids, const mi::math::Vector_struct< mi::Float32, 3 > *normals=0, mi::Uint32 nb_normals=0, const mi::math::Vector_struct< mi::Float32, 2 > *texture_coordinates=0, mi::Uint32 nb_texture_coordinates=0, const mi::math::Color_struct *colors=0, mi::Uint32 nb_colors=0, const mi::Uint32 *normal_indices=0, const mi::Uint32 *tex_coord_indices=0, const mi::Uint32 *color_indices=0, const mi::Uint32 *colormap_indices=0, const mi::Uint16 *materials=0, mi::Uint32 nb_materials=0, const ITriangle_mesh_subset::Triflags *triangle_flags=0, mi::Uint32 nb_triangle_flags=0)=0
Initializes the triangle mesh subset by assigning vertices and per-vertex attributes.
virtual const mi::math::Color_struct * get_colors() const =0
Returns the vertex color array.
virtual mi::Uint32 get_nb_triangles() const =0
Returns the number of triangles in the sub-mesh.
virtual const mi::Uint16 * get_materials() const =0
Returns the triangle materials.
Distributed subset interaces for a large-scale distributed datasets.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349