NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iattribute_vector.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IATTRIBUTE_VECTOR_H
9 #define MI_NEURAYLIB_IATTRIBUTE_VECTOR_H
10 
12 #include <mi/neuraylib/typedefs.h>
13 
14 namespace mi {
15 
55 {
56  // Tag used to indicate no attribute.
57  ATTR_NONE = 0,
58 
61 
65 
68 
71 
78 
81 
84 
85  // Undocumented, for alignment only.
86  ATTR_FORCE_32_BIT = 0xffffffffU
87 };
88 
89 mi_static_assert( sizeof( Mesh_attribute_name) == sizeof( Uint32));
90 
98 
103 
104  // Undocumented, for alignment only.
105  CONNECTIVITY_FORCE_32_BIT = 0xffffffffU
106 };
107 
108 mi_static_assert( sizeof( Connectivity_map_type) == sizeof( Uint32));
109 
110 
142  public base::Interface_declare<0xfbe79601,0x3c89,0x4a8d,0xbf,0x0d,0xae,0x21,0x59,0x9a,0xbf,0x80>
143 {
144 public:
146 
147 
149  virtual Uint32 size() const = 0;
150 
152  virtual Uint32 capacity() const = 0;
153 
155  virtual void resize( Uint32 size) = 0;
156 
158  virtual void reserve( Uint32 size) = 0;
159 
163  virtual void clear() = 0;
164 
169  virtual bool is_valid_attribute() const = 0;
170 
179  virtual Uint32 array_size() const = 0;
180 
182 
184 
189  virtual Uint32 get_uint32( Uint32 index) const = 0;
190 
197  virtual Sint32 append_uint32( Uint32 u) = 0;
198 
206  virtual Sint32 set_uint32( Uint32 index, Uint32 u) = 0;
207 
209 
211 
216  virtual const Float32_3_struct& get_vector3( Uint32 index) const = 0;
217 
224  virtual Sint32 append_vector3( const Float32_3_struct& v) = 0;
225 
233  virtual Sint32 set_vector3( Uint32 index, const Float32_3_struct& v) = 0;
234 
236 
238 
244  virtual const Float32_3_struct* get_vector3( Uint32 index, Uint32 n) const = 0;
245 
255  virtual Sint32 append_vector3( const Float32_3_struct* v, Uint32 n) = 0;
256 
267  virtual Sint32 set_vector3(
268  Uint32 index, const Float32_3_struct* v, Uint32 n) = 0;
269 
271 
273 
279  virtual const Float32* get_float32( Uint32 index, Uint32 n) const = 0;
280 
289  virtual Sint32 append_float32( const Float32* f, Uint32 n) = 0;
290 
300  virtual Sint32 set_float32( Uint32 index, const Float32* f, Uint32 n) = 0;
301 
303 };
304  // end group mi_neuray_leaf_nodes
306 
307 } // namespace mi
308 
309 #endif // MI_NEURAYLIB_IATTRIBUTE_VECTOR_H