Iray SDK API nvidia_logo_transpbg.gif Up
isimple_mesh.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ISIMPLE_MESH_H
8#define MI_NEURAYLIB_ISIMPLE_MESH_H
9
12
13namespace mi {
14
15namespace neuraylib {
16
44 public base::Interface_declare<0xd678b434,0x675f,0x4d55,0x8f,0xed,0x50,0x34,0x1e,0x0b,0xa9,0xf2>
45{
46public:
48 virtual Uint32 data_size() const = 0;
49
54 virtual const Float32_3_struct* get_points() const = 0;
55
62 virtual const Float32_3_struct* get_normals() const = 0;
63
75 virtual Uint32 get_texture_dimension( Uint32 texture_space_id) const = 0;
76
88 virtual const Float32* get_texture_coordinates( Uint32 texture_space_id) const = 0;
89
101 virtual const Float32_3_struct* get_derivatives() const = 0;
102
107 virtual Uint32 get_motion_vector_count() const = 0;
108
116 virtual const Float32_3_struct* get_motion_vectors() const = 0;
117
119 virtual Uint32 triangles_size() const = 0;
120
129 virtual const Uint32_3_struct* get_triangles() const = 0;
130
132 virtual bool has_unique_material() const = 0;
133
142 virtual const Uint32* get_material_indices() const = 0;
143
155 virtual Uint32 get_userdata_dimension( Uint32 userdata_id) const = 0;
156
168 virtual const Float32* get_userdata( Uint32 userdata_id) const = 0;
169
178 virtual const char* get_userdata_name( Uint32 userdata_id) const = 0;
179};
180 // end group mi_neuray_leaf_nodes
182
183} // namespace neuraylib
184
185} // namespace mi
186
187#endif // MI_NEURAYLIB_ISIMPLE_MESH_H
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Interface representing the geometry of on-demand meshes.
Definition: isimple_mesh.h:45
virtual Uint32 get_motion_vector_count() const =0
Returns the number of motion vectors per point.
virtual const Float32 * get_texture_coordinates(Uint32 texture_space_id) const =0
Returns the data array for a texture space.
virtual const char * get_userdata_name(Uint32 userdata_id) const =0
Returns the name of a userdata array.
virtual const Float32_3_struct * get_points() const =0
Returns the data array for points.
virtual const Float32_3_struct * get_motion_vectors() const =0
Returns the data array for motion vectors.
virtual const Float32 * get_userdata(Uint32 userdata_id) const =0
Returns a userdata array.
virtual const Float32_3_struct * get_normals() const =0
Returns the data array for normals.
virtual const Float32_3_struct * get_derivatives() const =0
Returns the data array for derivatives.
virtual const Uint32_3_struct * get_triangles() const =0
Returns the array of triangle indices.
virtual const Uint32 * get_material_indices() const =0
Returns the array of material indices.
virtual Uint32 data_size() const =0
Returns the size of the data arrays.
virtual Uint32 triangles_size() const =0
Returns the number of triangles.
virtual Uint32 get_userdata_dimension(Uint32 userdata_id) const =0
Returns the dimension of a userdata array.
virtual bool has_unique_material() const =0
Indicates whether all triangles use the same material.
virtual Uint32 get_texture_dimension(Uint32 texture_space_id) const =0
Returns the dimension of a texture space.
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
float Float32
32-bit float.
Definition: types.h:51
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Generic storage class template for math vector representations storing DIM elements of type T.
Definition: vector.h:135
Typedefs for types from the math API.