MDL SDK API nvidia_logo_transpbg.gif Up

Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...

Namespaces

namespace  base
 Namespace for the Base API.
 
namespace  math
 Namespace for the Math API.
 
namespace  neuraylib
 Namespace for the MDL SDK API.
 

Classes

class  IArray
 This interface represents static arrays, i.e., arrays with a fixed number of elements. More...
 
class  IBbox3
 This interface represents bounding boxes. More...
 
class  IBoolean
 This interface represents bool. More...
 
class  IBoolean_2
 This interface represents a vector of two bool. More...
 
class  IBoolean_2_2
 This interface represents a 2 x 2 matrix of bool. More...
 
class  IBoolean_2_3
 This interface represents a 2 x 3 matrix of bool. More...
 
class  IBoolean_2_4
 This interface represents a 2 x 4 matrix of bool. More...
 
class  IBoolean_3
 This interface represents a vector of three bool. More...
 
class  IBoolean_3_2
 This interface represents a 3 x 2 matrix of bool. More...
 
class  IBoolean_3_3
 This interface represents a 3 x 3 matrix of bool. More...
 
class  IBoolean_3_4
 This interface represents a 3 x 4 matrix of bool. More...
 
class  IBoolean_4
 This interface represents a vector of four bool. More...
 
class  IBoolean_4_2
 This interface represents a 4 x 2 matrix of bool. More...
 
class  IBoolean_4_3
 This interface represents a 4 x 3 matrix of bool. More...
 
class  IBoolean_4_4
 This interface represents a 4 x 4 matrix of bool. More...
 
class  IColor
 This interface represents RGBA colors. More...
 
class  IColor3
 This interface represents RGB colors. More...
 
class  ICompound
 This interface represents compounds, i.e., vectors, matrices, colors, spectrums, and bounding boxes. More...
 
class  IConst_pointer
 This interface represents const pointers. More...
 
class  IData
 This interface is the base interface of all types. More...
 
class  IData_collection
 This interface represents collections. More...
 
class  IData_simple
 This interface represents simple types. More...
 
class  IDifference
 This interface represents mi::Difference. More...
 
class  IDynamic_array
 This interface represents dynamic arrays, i.e., arrays with a variable number of elements. More...
 
class  IEnum
 This interface represents enums. More...
 
class  IEnum_decl
 An enum declaration is used to describe enum types. More...
 
class  IFloat32
 This interface represents mi::Float32. More...
 
class  IFloat32_2
 This interface represents a vector of two Float32. More...
 
class  IFloat32_2_2
 This interface represents a 2 x 2 matrix of Float32. More...
 
class  IFloat32_2_3
 This interface represents a 2 x 3 matrix of Float32. More...
 
class  IFloat32_2_4
 This interface represents a 2 x 4 matrix of Float32. More...
 
class  IFloat32_3
 This interface represents a vector of three Float32. More...
 
class  IFloat32_3_2
 This interface represents a 3 x 2 matrix of Float32. More...
 
class  IFloat32_3_3
 This interface represents a 3 x 3 matrix of Float32. More...
 
class  IFloat32_3_4
 This interface represents a 3 x 4 matrix of Float32. More...
 
class  IFloat32_4
 This interface represents a vector of four Float32. More...
 
class  IFloat32_4_2
 This interface represents a 4 x 2 matrix of Float32. More...
 
class  IFloat32_4_3
 This interface represents a 4 x 3 matrix of Float32. More...
 
class  IFloat32_4_4
 This interface represents a 4 x 4 matrix of Float32. More...
 
class  IFloat64
 This interface represents mi::Float64. More...
 
class  IFloat64_2
 This interface represents a vector of two Float64. More...
 
class  IFloat64_2_2
 This interface represents a 2 x 2 matrix of Float64. More...
 
class  IFloat64_2_3
 This interface represents a 2 x 3 matrix of Float64. More...
 
class  IFloat64_2_4
 This interface represents a 2 x 4 matrix of Float64. More...
 
class  IFloat64_3
 This interface represents a vector of three Float64. More...
 
class  IFloat64_3_2
 This interface represents a 3 x 2 matrix of Float64. More...
 
class  IFloat64_3_3
 This interface represents a 3 x 3 matrix of Float64. More...
 
class  IFloat64_3_4
 This interface represents a 3 x 4 matrix of Float64. More...
 
class  IFloat64_4
 This interface represents a vector of four Float64. More...
 
class  IFloat64_4_2
 This interface represents a 4 x 2 matrix of Float64. More...
 
class  IFloat64_4_3
 This interface represents a 4 x 3 matrix of Float64. More...
 
class  IFloat64_4_4
 This interface represents a 4 x 4 matrix of Float64. More...
 
class  IMap
 This interface represents maps, i.e., a key-value based data structure. More...
 
class  INumber
 This interface represents simple numeric types. More...
 
class  IPointer
 This interface represents mutable pointers. More...
 
class  IRef
 A reference is an object that acts as a pointer to other database elements. More...
 
class  ISint16
 This interface represents mi::Sint16. More...
 
class  ISint32
 This interface represents mi::Sint32. More...
 
class  ISint32_2
 This interface represents a vector of two Sint32. More...
 
class  ISint32_2_2
 This interface represents a 2 x 2 matrix of Sint32. More...
 
class  ISint32_2_3
 This interface represents a 2 x 3 matrix of Sint32. More...
 
class  ISint32_2_4
 This interface represents a 2 x 4 matrix of Sint32. More...
 
class  ISint32_3
 This interface represents a vector of three Sint32. More...
 
class  ISint32_3_2
 This interface represents a 3 x 2 matrix of Sint32. More...
 
class  ISint32_3_3
 This interface represents a 3 x 3 matrix of Sint32. More...
 
class  ISint32_3_4
 This interface represents a 3 x 4 matrix of Sint32. More...
 
class  ISint32_4
 This interface represents a vector of four Sint32. More...
 
class  ISint32_4_2
 This interface represents a 4 x 2 matrix of Sint32. More...
 
class  ISint32_4_3
 This interface represents a 4 x 3 matrix of Sint32. More...
 
class  ISint32_4_4
 This interface represents a 4 x 4 matrix of Sint32. More...
 
class  ISint64
 This interface represents mi::Sint64. More...
 
class  ISint8
 This interface represents mi::Sint8. More...
 
class  ISize
 This interface represents mi::Size. More...
 
class  ISpectrum
 This interface represents spectrums. More...
 
class  IString
 A simple string class. More...
 
class  IStructure
 This interface represents structures, i.e., a key-value based data structure. More...
 
class  IStructure_decl
 A structure declaration is used to describe structure types. More...
 
class  IUint16
 This interface represents mi::Uint16. More...
 
class  IUint32
 This interface represents mi::Uint32. More...
 
class  IUint32_2
 This interface represents a vector of two Uint32. More...
 
class  IUint32_2_2
 This interface represents a 2 x 2 matrix of Uint32. More...
 
class  IUint32_2_3
 This interface represents a 2 x 3 matrix of Uint32. More...
 
class  IUint32_2_4
 This interface represents a 2 x 4 matrix of Uint32. More...
 
class  IUint32_3
 This interface represents a vector of three Uint32. More...
 
class  IUint32_3_2
 This interface represents a 3 x 2 matrix of Uint32. More...
 
class  IUint32_3_3
 This interface represents a 3 x 3 matrix of Uint32. More...
 
class  IUint32_3_4
 This interface represents a 3 x 4 matrix of Uint32. More...
 
class  IUint32_4
 This interface represents a vector of four Uint32. More...
 
class  IUint32_4_2
 This interface represents a 4 x 2 matrix of Uint32. More...
 
class  IUint32_4_3
 This interface represents a 4 x 3 matrix of Uint32. More...
 
class  IUint32_4_4
 This interface represents a 4 x 4 matrix of Uint32. More...
 
class  IUint64
 This interface represents mi::Uint64. More...
 
class  IUint8
 This interface represents mi::Uint8. More...
 
class  IUuid
 This interface represents UUIDs. More...
 
class  IVoid
 This interface represents the void type. More...
 
struct  Type_traits
 Type traits relating interfaces, corresponding primitive types, and their type names. More...
 

Typedefs

typedef math::Matrix<bool, 2, 2> Boolean_2_2
 2 x 2 matrix of bool. More...
 
typedef math::Matrix<bool, 2, 3> Boolean_2_3
 2 x 3 matrix of bool. More...
 
typedef math::Matrix<bool, 2, 4> Boolean_2_4
 2 x 4 matrix of bool. More...
 
typedef math::Matrix<bool, 3, 2> Boolean_3_2
 3 x 2 matrix of bool. More...
 
typedef math::Matrix<bool, 3, 3> Boolean_3_3
 3 x 3 matrix of bool. More...
 
typedef math::Matrix<bool, 3, 4> Boolean_3_4
 3 x 4 matrix of bool. More...
 
typedef math::Matrix<bool, 4, 2> Boolean_4_2
 4 x 2 matrix of bool. More...
 
typedef math::Matrix<bool, 4, 3> Boolean_4_3
 4 x 3 matrix of bool. More...
 
typedef math::Matrix<bool, 4, 4> Boolean_4_4
 4 x 4 matrix of bool. More...
 
typedef math::Matrix< Sint32, 2, 2 > Sint32_2_2
 2 x 2 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 2, 3 > Sint32_2_3
 2 x 3 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 2, 4 > Sint32_2_4
 2 x 4 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 3, 2 > Sint32_3_2
 3 x 2 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 3, 3 > Sint32_3_3
 3 x 3 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 3, 4 > Sint32_3_4
 3 x 4 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 4, 2 > Sint32_4_2
 4 x 2 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 4, 3 > Sint32_4_3
 4 x 3 matrix of Sint32. More...
 
typedef math::Matrix< Sint32, 4, 4 > Sint32_4_4
 4 x 4 matrix of Sint32. More...
 
typedef math::Matrix< Uint32, 2, 2 > Uint32_2_2
 2 x 2 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 2, 3 > Uint32_2_3
 2 x 3 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 2, 4 > Uint32_2_4
 2 x 4 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 3, 2 > Uint32_3_2
 3 x 2 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 3, 3 > Uint32_3_3
 3 x 3 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 3, 4 > Uint32_3_4
 3 x 4 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 4, 2 > Uint32_4_2
 4 x 2 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 4, 3 > Uint32_4_3
 4 x 3 matrix of Uint32. More...
 
typedef math::Matrix< Uint32, 4, 4 > Uint32_4_4
 4 x 4 matrix of Uint32. More...
 
typedef math::Matrix< Float32, 2, 2 > Float32_2_2
 2 x 2 matrix of Float32. More...
 
typedef math::Matrix< Float32, 2, 3 > Float32_2_3
 2 x 3 matrix of Float32. More...
 
typedef math::Matrix< Float32, 2, 4 > Float32_2_4
 2 x 4 matrix of Float32. More...
 
typedef math::Matrix< Float32, 3, 2 > Float32_3_2
 3 x 2 matrix of Float32. More...
 
typedef math::Matrix< Float32, 3, 3 > Float32_3_3
 3 x 3 matrix of Float32. More...
 
typedef math::Matrix< Float32, 3, 4 > Float32_3_4
 3 x 4 matrix of Float32. More...
 
typedef math::Matrix< Float32, 4, 2 > Float32_4_2
 4 x 2 matrix of Float32. More...
 
typedef math::Matrix< Float32, 4, 3 > Float32_4_3
 4 x 3 matrix of Float32. More...
 
typedef math::Matrix< Float32, 4, 4 > Float32_4_4
 4 x 4 matrix of Float32. More...
 
typedef math::Matrix< Float64, 2, 2 > Float64_2_2
 2 x 2 matrix of Float64. More...
 
typedef math::Matrix< Float64, 2, 3 > Float64_2_3
 2 x 3 matrix of Float64. More...
 
typedef math::Matrix< Float64, 2, 4 > Float64_2_4
 2 x 4 matrix of Float64. More...
 
typedef math::Matrix< Float64, 3, 2 > Float64_3_2
 3 x 2 matrix of Float64. More...
 
typedef math::Matrix< Float64, 3, 3 > Float64_3_3
 3 x 3 matrix of Float64. More...
 
typedef math::Matrix< Float64, 3, 4 > Float64_3_4
 3 x 4 matrix of Float64. More...
 
typedef math::Matrix< Float64, 4, 2 > Float64_4_2
 4 x 2 matrix of Float64. More...
 
typedef math::Matrix< Float64, 4, 3 > Float64_4_3
 4 x 3 matrix of Float64. More...
 
typedef math::Matrix< Float64, 4, 4 > Float64_4_4
 4 x 4 matrix of Float64. More...
 
typedef math::Matrix_struct<bool, 2, 2> Boolean_2_2_struct
 2 x 2 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 2, 3> Boolean_2_3_struct
 2 x 3 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 2, 4> Boolean_2_4_struct
 2 x 4 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 3, 2> Boolean_3_2_struct
 3 x 2 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 3, 3> Boolean_3_3_struct
 3 x 3 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 3, 4> Boolean_3_4_struct
 3 x 4 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 4, 2> Boolean_4_2_struct
 4 x 2 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 4, 3> Boolean_4_3_struct
 4 x 3 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct<bool, 4, 4> Boolean_4_4_struct
 4 x 4 matrix of bool (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 2, 2 > Sint32_2_2_struct
 2 x 2 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 2, 3 > Sint32_2_3_struct
 2 x 3 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 2, 4 > Sint32_2_4_struct
 2 x 4 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 3, 2 > Sint32_3_2_struct
 3 x 2 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 3, 3 > Sint32_3_3_struct
 3 x 3 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 3, 4 > Sint32_3_4_struct
 3 x 4 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 4, 2 > Sint32_4_2_struct
 4 x 2 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 4, 3 > Sint32_4_3_struct
 4 x 3 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Sint32, 4, 4 > Sint32_4_4_struct
 4 x 4 matrix of Sint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 2, 2 > Uint32_2_2_struct
 2 x 2 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 2, 3 > Uint32_2_3_struct
 2 x 3 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 2, 4 > Uint32_2_4_struct
 2 x 4 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 3, 2 > Uint32_3_2_struct
 3 x 2 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 3, 3 > Uint32_3_3_struct
 3 x 3 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 3, 4 > Uint32_3_4_struct
 3 x 4 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 4, 2 > Uint32_4_2_struct
 4 x 2 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 4, 3 > Uint32_4_3_struct
 4 x 3 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Uint32, 4, 4 > Uint32_4_4_struct
 4 x 4 matrix of Uint32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 2, 2 > Float32_2_2_struct
 2 x 2 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 2, 3 > Float32_2_3_struct
 2 x 3 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 2, 4 > Float32_2_4_struct
 2 x 4 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 3, 2 > Float32_3_2_struct
 3 x 2 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 3, 3 > Float32_3_3_struct
 3 x 3 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 3, 4 > Float32_3_4_struct
 3 x 4 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 4, 2 > Float32_4_2_struct
 4 x 2 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 4, 3 > Float32_4_3_struct
 4 x 3 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float32, 4, 4 > Float32_4_4_struct
 4 x 4 matrix of Float32 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 2, 2 > Float64_2_2_struct
 2 x 2 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 2, 3 > Float64_2_3_struct
 2 x 3 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 2, 4 > Float64_2_4_struct
 2 x 4 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 3, 2 > Float64_3_2_struct
 3 x 2 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 3, 3 > Float64_3_3_struct
 3 x 3 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 3, 4 > Float64_3_4_struct
 3 x 4 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 4, 2 > Float64_4_2_struct
 4 x 2 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 4, 3 > Float64_4_3_struct
 4 x 3 matrix of Float64 (underlying POD type). More...
 
typedef math::Matrix_struct< Float64, 4, 4 > Float64_4_4_struct
 4 x 4 matrix of Float64 (underlying POD type). More...
 
typedef math::Color Color
 RGBA color class. More...
 
typedef math::Color_struct Color_struct
 RGBA color class (underlying POD type). More...
 
typedef math::Spectrum Spectrum
 Spectrum class. More...
 
typedef math::Spectrum_struct Spectrum_struct
 Spectrum class (underlying POD type). More...
 
typedef math::Bbox< Float32, 3 > Bbox3
 Three-dimensional bounding box. More...
 
typedef math::Bbox_struct< Float32, 3 > Bbox3_struct
 Three-dimensional bounding box (underlying POD type). More...
 
typedef math::Vector<bool, 2> Boolean_2
 Vector of two bool. More...
 
typedef math::Vector<bool, 3> Boolean_3
 Vector of three bool. More...
 
typedef math::Vector<bool, 4> Boolean_4
 Vector of four bool. More...
 
typedef math::Vector< Sint32, 2 > Sint32_2
 Vector of two Sint32. More...
 
typedef math::Vector< Sint32, 3 > Sint32_3
 Vector of three Sint32. More...
 
typedef math::Vector< Sint32, 4 > Sint32_4
 Vector of four Sint32. More...
 
typedef math::Vector< Uint32, 2 > Uint32_2
 Vector of two Uint32. More...
 
typedef math::Vector< Uint32, 3 > Uint32_3
 Vector of three Uint32. More...
 
typedef math::Vector< Uint32, 4 > Uint32_4
 Vector of four Uint32. More...
 
typedef math::Vector< Float32, 2 > Float32_2
 Vector of two Float32. More...
 
typedef math::Vector< Float32, 3 > Float32_3
 Vector of three Float32. More...
 
typedef math::Vector< Float32, 4 > Float32_4
 Vector of four Float32. More...
 
typedef math::Vector< Float64, 2 > Float64_2
 Vector of two Float64. More...
 
typedef math::Vector< Float64, 3 > Float64_3
 Vector of three Float64. More...
 
typedef math::Vector< Float64, 4 > Float64_4
 Vector of four Float64. More...
 
typedef math::Vector_struct<bool, 2> Boolean_2_struct
 Vector of two bool (underlying POD type). More...
 
typedef math::Vector_struct<bool, 3> Boolean_3_struct
 Vector of three bool (underlying POD type). More...
 
typedef math::Vector_struct<bool, 4> Boolean_4_struct
 Vector of four bool (underlying POD type). More...
 
typedef math::Vector_struct< Sint32, 2 > Sint32_2_struct
 Vector of two Sint32 (underlying POD type). More...
 
typedef math::Vector_struct< Sint32, 3 > Sint32_3_struct
 Vector of three Sint32 (underlying POD type). More...
 
typedef math::Vector_struct< Sint32, 4 > Sint32_4_struct
 Vector of four Sint32 (underlying POD type). More...
 
typedef math::Vector_struct< Uint32, 2 > Uint32_2_struct
 Vector of two Uint32 (underlying POD type). More...
 
typedef math::Vector_struct< Uint32, 3 > Uint32_3_struct
 Vector of three Uint32 (underlying POD type). More...
 
typedef math::Vector_struct< Uint32, 4 > Uint32_4_struct
 Vector of four Uint32 (underlying POD type). More...
 
typedef math::Vector_struct< Float32, 2 > Float32_2_struct
 Vector of two Float32 (underlying POD type). More...
 
typedef math::Vector_struct< Float32, 3 > Float32_3_struct
 Vector of three Float32 (underlying POD type). More...
 
typedef math::Vector_struct< Float32, 4 > Float32_4_struct
 Vector of four Float32 (underlying POD type). More...
 
typedef math::Vector_struct< Float64, 2 > Float64_2_struct
 Vector of two Float64 (underlying POD type). More...
 
typedef math::Vector_struct< Float64, 3 > Float64_3_struct
 Vector of three Float64 (underlying POD type). More...
 
typedef math::Vector_struct< Float64, 4 > Float64_4_struct
 Vector of four Float64 (underlying POD type). More...
 
typedef signed char Sint8
 8-bit signed integer. More...
 
typedef signed short Sint16
 16-bit signed integer. More...
 
typedef signed int Sint32
 32-bit signed integer. More...
 
typedef unsigned char Uint8
 8-bit unsigned integer. More...
 
typedef unsigned short Uint16
 16-bit unsigned integer. More...
 
typedef unsigned int Uint32
 32-bit unsigned integer. More...
 
typedef float Float32
 32-bit float. More...
 
typedef double Float64
 64-bit float. More...
 
typedef long long Sint64
 64-bit signed integer. More...
 
typedef unsigned long long Uint64
 64-bit unsigned integer. More...
 
typedef Uint64 Size
 Unsigned integral type that is large enough to hold the size of all types. More...
 
typedef Sint64 Difference
 Signed integral type that is large enough to hold the difference of two pointers. More...
 

Enumerations

enum  Comparison_result {
  NEGATIVE = -1 ,
  ZERO = 0 ,
  POSITIVE = 1 ,
  LESS = -1 ,
  EQUAL = 0 ,
  GREATER = 1
}
 An enum for a three-valued comparison result. More...
 

Functions

template<class T>
mi::Sint32 set_value (mi::IData *data, const T &value)
 Simplifies setting the value of mi::IData from the corresponding classes from the base and math API. More...
 
mi::Sint32 set_value (mi::IData *data, const char *value)
 This specialization handles mi::IString and mi::IRef. More...
 
mi::Sint32 set_value (mi::IData *data, const std::string &value)
 This specialization handles mi::IString and mi::IRef. More...
 
mi::Sint32 set_value (mi::IData *data, const mi::base::Uuid &value)
 This specialization handles mi::IUuid. More...
 
template<class T , Size DIM>
mi::Sint32 set_value (mi::IData *data, const mi::math::Vector<T, DIM> &value)
 This specialization handles the vector specializations of mi::ICompound. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 set_value (mi::IData *data, const mi::math::Matrix<T, ROW, COL> &value)
 This specialization handles the matrix specializations of mi::ICompound. More...
 
mi::Sint32 set_value (mi::IData *data, const mi::Color &value)
 This specialization handles mi::IColor and mi::IColor3. More...
 
mi::Sint32 set_value (mi::IData *data, const mi::Spectrum &value)
 This specialization handles mi::ISpectrum. More...
 
mi::Sint32 set_value (mi::IData *data, const mi::Bbox3 &value)
 This specialization handles mi::IBbox3. More...
 
template<class T>
mi::Sint32 set_value (mi::IData *data, mi::Size index, const T &value)
 This variant handles elements of collections identified via an additional index. More...
 
template<class T>
mi::Sint32 set_value (mi::IData *data, const char *key, const T &value)
 This variant handles elements of collections identified via an additional key. More...
 
template<class T>
mi::Sint32 get_value (const mi::IData *data, T &value)
 Simplifies reading the value of mi::IData into the corresponding classes from the base and math API. More...
 
mi::Sint32 get_value (const mi::IData *data, const char *&value)
 This specialization handles mi::IString and mi::IRef. More...
 
mi::Sint32 get_value (const mi::IData *data, mi::base::Uuid &value)
 This specialization handles mi::IUuid. More...
 
template<class T , Size DIM>
mi::Sint32 get_value (const mi::IData *data, mi::math::Vector<T, DIM> &value)
 This specialization handles the vector specializations of mi::ICompound. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 get_value (const mi::IData *data, mi::math::Matrix<T, ROW, COL> &value)
 This specialization handles the matrix specializations of mi::ICompound. More...
 
mi::Sint32 get_value (const mi::IData *data, mi::Color &value)
 This specialization handles mi::IColor and mi::IColor3. More...
 
mi::Sint32 get_value (const mi::IData *data, mi::Spectrum &value)
 This specialization handles mi::ISpectrum. More...
 
mi::Sint32 get_value (const mi::IData *data, mi::Bbox3 &value)
 This specialization handles mi::IBbox3. More...
 
template<class T>
mi::Sint32 get_value (const mi::IData *data, mi::Size index, T &value)
 This variant handles elements of collections identified via an additional index. More...
 
template<class T>
mi::Sint32 get_value (const mi::IData *data, const char *key, T &value)
 This variant handles elements of collections identified via an additional key. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IAttribute_set *attribute_set, const char *name, const T &value)
 Simplifies setting the value of an attribute from the corresponding classes from the base and math API. More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IAttribute_set *attribute_set, const char *name, mi::Size index, const T &value)
 Simplifies setting the value of an attribute from the corresponding classes from the base and math API (variant with an index for collections). More...
 
template<class T>
mi::Sint32 set_value (mi::neuraylib::IAttribute_set *attribute_set, const char *name, const char *key, const T &value)
 Simplifies setting the value of an attribute from the corresponding classes from the base and math API (variant with a key for collections). More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IAttribute_set *attribute_set, const char *name, T &value)
 Simplifies reading the value of an attribute into the corresponding classes from the base and math API. More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IAttribute_set *attribute_set, const char *name, mi::Size index, T &value)
 Simplifies reading the value of an attribute into the corresponding classes from the base and math API (variant with an index for collections). More...
 
template<class T>
mi::Sint32 get_value (const mi::neuraylib::IAttribute_set *attribute_set, const char *name, const char *key, T &value)
 Simplifies reading the value of an attribute into the corresponding classes from the base and math API (variant with a key for collections). More...
 
template<typename T , std::enable_if_t< std::is_enum<T>::value, bool > = true>
constexpr auto to_underlying (const T val)
 Converts an enumerator to its underlying integral value. More...
 
Comparison_result operator- (Comparison_result sign)
 Reverses the sign of a three valued enum. More...
 
template<typename T>
Comparison_result three_valued_sign (T t)
 Returns the three valued sign for a numerical type T. More...
 
template<typename T>
Comparison_result three_valued_compare (T lhs, T rhs)
 Returns the three valued comparison result between two values of a numerical type T. More...
 

Variables

static const Size SIZE_MAX_VALUE = 18446744073709551615ULL
 The maximum value for Size. More...
 
static const Difference DIFFERENCE_MIN_VALUE = -9223372036854775807LL - 1LL
 The minimum value for Difference. More...
 
static const Difference DIFFERENCE_MAX_VALUE = 9223372036854775807LL
 The maximum value for Difference. More...
 

Detailed Description

Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.

Function Documentation

 to_underlying()

template<typename T , std::enable_if_t< std::is_enum<T>::value, bool > = true>
constexpr auto mi::to_underlying ( const T  val)
constexpr

Converts an enumerator to its underlying integral value.