7#ifndef NVIDIA_INDEX_IIRREGULAR_VOLUME_SUBSET_H
8#define NVIDIA_INDEX_IIRREGULAR_VOLUME_SUBSET_H
11#include <mi/base/interface_declare.h>
12#include <mi/math/vector.h>
37 public mi::base::Interface_declare<0xac50a241,0x2b4a,0x4e07,0x98,0x9e,0x04,0xa3,0x21,0x95,0x31,0x2f,
38 IDistributed_data_subset>
95 mi::math::Vector_struct<mi::Float32, 3>*
vertices;
183 mi::Uint32 attrib_index,
219 mi::Uint32 attrib_index,
230 mi::Uint32 attrib_index,
251 mi::Uint32 attrib_index,
256 mi::Uint32 attrib_index,
268 const char* filename,
270 mi::Uint32 flags) = 0;
Distributed data storage class for irregular volume subsets.
Definition: iirregular_volume_subset.h:39
virtual bool use_cache_file(const char *filename, mi::Uint32 mode, mi::Uint32 flags)=0
Caching interface (preliminary).
virtual bool get_attribute_parameters(mi::Uint32 attrib_index, Attribute_parameters &attrib_params) const =0
Get the attribute parameters of a currently valid attribute set for a given index.
virtual bool generate_attribute_storage(mi::Uint32 attrib_index, const Attribute_parameters &attrib_params, Attribute_storage &attrib_storage)=0
Generate and initialize an instance of irregular volume attribute set storage.
virtual Mesh_storage get_mesh() const =0
Get the current valid irregular volume mesh storage.
virtual bool get_attribute(mi::Uint32 attrib_index, Attribute_storage &attrib_storage) const =0
Get the currently valid attribute set storage for a given attribute index.
virtual mi::Uint32 get_nb_attributes() const =0
Get the current number of valid attribute sets.
virtual Mesh_parameters get_mesh_parameters() const =0
Get the irregular volume mesh parameters of the currently valid mesh storage.
virtual mi::Sint32 get_gpu_device_id() const =0
GPU device id if the buffer is located on a GPU device.
virtual bool get_backup_attribute_device_storage(mi::Uint32 attrib_index, Attribute_storage &attrib_storage) const =0
Attribute_type
Types of attribute set values.
Definition: iirregular_volume_subset.h:113
@ ATTRIB_TYPE_UINT16_3
16bit unsigned integer vector attribute type with three components.
Definition: iirregular_volume_subset.h:120
@ ATTRIB_TYPE_UINT8
8bit unsigned integer scalar attribute type.
Definition: iirregular_volume_subset.h:114
@ ATTRIB_TYPE_UINT8_3
8bit unsigned integer vector attribute type with three components.
Definition: iirregular_volume_subset.h:116
@ ATTRIB_TYPE_FLOAT32_4
32bit floating point vector attribute type with four components.
Definition: iirregular_volume_subset.h:125
@ ATTRIB_TYPE_FLOAT32_3
32bit floating point vector attribute type with three components.
Definition: iirregular_volume_subset.h:124
@ ATTRIB_TYPE_FLOAT32
32bit floating point scalar attribute type.
Definition: iirregular_volume_subset.h:122
@ ATTRIB_TYPE_FLOAT32_2
32bit floating point vector attribute type with two components.
Definition: iirregular_volume_subset.h:123
@ ATTRIB_TYPE_UINT16
16bit unsigned integer scalar attribute type.
Definition: iirregular_volume_subset.h:118
@ ATTRIB_TYPE_UINT16_4
16bit unsigned integer vector attribute type with four components.
Definition: iirregular_volume_subset.h:121
@ ATTRIB_TYPE_UINT8_4
8bit unsigned integer vector attribute type with four components.
Definition: iirregular_volume_subset.h:117
@ ATTRIB_TYPE_UINT8_2
8bit unsigned integer vector attribute type with two components.
Definition: iirregular_volume_subset.h:115
@ ATTRIB_TYPE_UINT16_2
16bit unsigned integer vector attribute type with two components.
Definition: iirregular_volume_subset.h:119
virtual bool swap_active_attribute_storage()=0
Attribute_affiliation
Types of attribute set affiliations.
Definition: iirregular_volume_subset.h:105
@ ATTRIB_AFFIL_PER_CELL
Per irregular volume mesh-cell attribute.
Definition: iirregular_volume_subset.h:107
@ ATTRIB_AFFIL_PER_VERTEX
Per irregular volume mesh-vertex attribute.
Definition: iirregular_volume_subset.h:106
virtual bool get_active_attribute_device_storage(mi::Uint32 attrib_index, Attribute_storage &attrib_storage) const =0
Get the currently valid attribute set device-storage for a given attribute index.
virtual bool generate_mesh_storage(const Mesh_parameters &mesh_params, Mesh_storage &mesh_storage)=0
Generate and initialize an instance of irregular volume mesh storage.
Distributed subset interaces for a large-scale distributed datasets.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349
Irregular volume attribute parameters.
Definition: iirregular_volume_subset.h:133
mi::Uint32 nb_attrib_values
Number of attribute values in number of elements.
Definition: iirregular_volume_subset.h:136
Attribute_type type
Attribute type. See Attribute_type.
Definition: iirregular_volume_subset.h:135
Attribute_affiliation affiliation
Attribute affiliation. See Attribute_affiliation.
Definition: iirregular_volume_subset.h:134
Attribute storage.
Definition: iirregular_volume_subset.h:146
void * attrib_values
The attribute array.
Definition: iirregular_volume_subset.h:147
Irregular volume cell definition.
Definition: iirregular_volume_subset.h:48
mi::Uint32 start_face_index
Starting index into the cell-face index array.
Definition: iirregular_volume_subset.h:50
mi::Uint32 nb_faces
Number of faces compounding this cell.
Definition: iirregular_volume_subset.h:49
Irregular volume cell-face definition.
Definition: iirregular_volume_subset.h:60
mi::Uint32 start_vertex_index
Starting index into the face-vertex index array.
Definition: iirregular_volume_subset.h:62
mi::Uint32 nb_vertices
Number of vertices in the face.
Definition: iirregular_volume_subset.h:61
Irregular volume mesh storage parameters.
Definition: iirregular_volume_subset.h:75
mi::Uint32 nb_face_vtx_indices
Size of the face vertex index array in number of elements.
Definition: iirregular_volume_subset.h:78
mi::Uint32 nb_vertices
Size of the vertex array in number of vertices.
Definition: iirregular_volume_subset.h:77
mi::Float32 global_max_edge_length
The length of the longest edge in the irregular volume mesh.
Definition: iirregular_volume_subset.h:84
mi::Uint32 nb_faces
Size of the face array in number of faces.
Definition: iirregular_volume_subset.h:79
mi::Uint32 nb_cells
Size of the cell array in number of faces.
Definition: iirregular_volume_subset.h:81
mi::Uint32 nb_cell_face_indices
Size of the cell face index array in number of elements.
Definition: iirregular_volume_subset.h:80
Irregular volume mesh storage.
Definition: iirregular_volume_subset.h:94
mi::Uint32 * cell_face_indices
The cell-face index array.
Definition: iirregular_volume_subset.h:98
Cell * cells
The cell array.
Definition: iirregular_volume_subset.h:99
mi::Uint32 * face_vtx_indices
The face-vertex index array.
Definition: iirregular_volume_subset.h:96
mi::math::Vector_struct< mi::Float32, 3 > * vertices
The vertex array.
Definition: iirregular_volume_subset.h:95
Face * faces
The face array.
Definition: iirregular_volume_subset.h:97