NVIDIA Iray API Home  Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
iinstance.h
Go to the documentation of this file.
1 //*****************************************************************************
2 // Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IINSTANCE_H
9 #define MI_NEURAYLIB_IINSTANCE_H
10 
12 #include <mi/neuraylib/typedefs.h>
13 #include <mi/neuraylib/version.h>
14 
15 namespace mi {
16 
17 namespace neuraylib {
18 
31  TRANSFORMATION_TYPE_FORCE_32_BIT = 0xffffffffU
32 };
33 
34 mi_static_assert( sizeof( Transformation_type) == sizeof( Uint32));
35 
101 class IInstance :
102  public base::Interface_declare<0x11b46e5a,0x577b,0x4767,0x8b,0x35,0x88,0xd5,0xa3,0x3e,0xd0,0xe9,
103  neuraylib::IScene_element>
104 {
105 public:
117  virtual Sint32 attach( const char* scene_element) = 0;
118 
124  virtual void detach() = 0;
125 
129  virtual const char* get_item() const = 0;
130 
132 
133 
135  virtual bool srt_mode() const = 0;
136 
138 
140 
143  virtual void set_matrix( const Float64_4_4_struct& matrix) = 0;
144 
149  virtual const Float64_4_4_struct& get_matrix() const = 0;
150 
152 
154 
162  virtual void resize_time_slots( Size count) = 0;
163 
165  virtual Size time_slots_size() const = 0;
166 
182  virtual Sint32 set_time_value( Size time_index, Float64 value) = 0;
183 
192  virtual Sint32 get_time_value( Size time_index, Float64& value) const = 0;
193 
200  virtual void resize_transformation_sequences( Size count) = 0;
201 
203  virtual Size transformation_sequences_size() const = 0;
204 
218  virtual Sint32 set_transformation_type( Size sequence_index, Transformation_type type) = 0;
219 
229  Size sequence_index, Transformation_type& type) const = 0;
230 
246  Size time_index, Size sequence_index, const Float64* data) = 0;
247 
263  Size time_index, Size sequence_index, Float64* data) const = 0;
264 
266 
268 
283  virtual Float64_4_4_struct evaluate( Float64 time = 0.0) const = 0;
284 
286 };
287  // end group mi_neuray_scene_graph_structure
289 
290 } // namespace neuraylib
291 
292 #ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
295 using neuraylib::MATRIX;
296 using neuraylib::ROTATION;
297 using neuraylib::SCALING;
298 using neuraylib::TRANSFORMATION_TYPE_FORCE_32_BIT;
301 #endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
302 
303 } // namespace mi
304 
305 #endif // MI_NEURAYLIB_IINSTANCE_H