7#ifndef MI_NEURAYLIB_ILIGHT_H
8#define MI_NEURAYLIB_ILIGHT_H
27 LIGHT_FORCE_32_BIT = 0xffffffffU
42 AREA_FORCE_32_BIT = 0xffffffffU
66 public base::Interface_declare<0xc9a437cf,0x6d47,0x4666,0x9c,0xf6,0xa4,0x3f,0x50,0xe8,0x0b,0x90,
67 neuraylib::IScene_element>
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Point, spot, directional and area lighting.
Definition: ilight.h:68
virtual Bbox3_struct get_tight_bbox(const Float64_4_4_struct &transformation_matrix) const =0
Returns the bounding box of the light after transformation.
virtual void set_type(Light_type type)=0
Sets the light type.
virtual Float64 get_area_size_y() const =0
Returns the size of the area in y direction for area lights.
virtual Light_area_shape get_area_shape() const =0
Returns the area light shape.
virtual void set_area_size_y(Float64 size_y)=0
Sets the size of the area in y direction for area light types.
virtual Float64 get_area_radius() const =0
Returns the radius of the area for area lights.
virtual Float64 get_area_size_x() const =0
Returns the size of the area in x direction for area lights.
virtual Light_type get_type() const =0
Returns the light type.
virtual void set_area_shape(Light_area_shape light_area_shape)=0
Sets the area light shape.
virtual Bbox3_struct get_bbox() const =0
Returns the bounding box of the light.
virtual void set_area_size_x(Float64 size_x)=0
Sets the size of the area in x direction for area lights.
virtual void set_area_radius(Float64 radius)=0
Sets the radius of the area for area lights.
#define mi_static_assert(expr)
Compile time assertion that raises a compilation error if the constant expression expr evaluates to f...
Definition: assert.h:65
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
double Float64
64-bit float.
Definition: types.h:52
Light_area_shape
Supported area light shapes.
Definition: ilight.h:35
Light_type
Supported light types.
Definition: ilight.h:24
@ AREA_NONE
Not an area light.
Definition: ilight.h:36
@ AREA_CYLINDER
Cylinder shape.
Definition: ilight.h:40
@ AREA_RECTANGLE
Rectangular shape.
Definition: ilight.h:37
@ AREA_DISC
Disc shape.
Definition: ilight.h:38
@ AREA_SPHERE
Sphere shape.
Definition: ilight.h:39
@ LIGHT_POINT
Point light: emits rays in all directions from the origin.
Definition: ilight.h:25
@ LIGHT_INFINITE
Directional light: no origin, all light rays parallel.
Definition: ilight.h:26
Base class for all scene elements.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: neuraylib.h:179
Storage class for an axis-aligned N-dimensional bounding box class template of fixed dimension.
Definition: bbox.h:47
Storage class for a NxM-dimensional matrix class template of fixed dimensions.
Definition: matrix.h:90
Typedefs for types from the math API.