webots-controller/include/wren/spot_light.h

38 lines
1.3 KiB
C

#ifndef WR_SPOT_LIGHT_H
#define WR_SPOT_LIGHT_H
#ifdef __cplusplus
extern "C" {
#endif
/* Inheritance diagram: WrNode <- WrSpotLight */
struct WrSpotLight;
typedef struct WrSpotLight WrSpotLight;
/* Use wr_node_delete(WR_NODE(light)) to delete an instance */
WrSpotLight *wr_spot_light_new();
/* Expects a 3-component array */
void wr_spot_light_set_color(WrSpotLight *light, const float *color);
void wr_spot_light_set_intensity(WrSpotLight *light, float intensity);
void wr_spot_light_set_ambient_intensity(WrSpotLight *light, float ambient_intensity);
void wr_spot_light_set_on(WrSpotLight *light, bool on);
void wr_spot_light_set_cast_shadows(WrSpotLight *light, bool cast_shadows);
/* Expects a 3-component array */
void wr_spot_light_set_position_relative(WrSpotLight *light, const float *position);
void wr_spot_light_set_radius(WrSpotLight *light, float radius);
void wr_spot_light_set_attenuation(WrSpotLight *light, float attenuation_constant, float attenuation_linear,
float attenuation_quadratic);
/* Expects a 3-component array */
void wr_spot_light_set_direction(WrSpotLight *light, const float *direction);
void wr_spot_light_set_beam_width(WrSpotLight *light, float beam_width);
void wr_spot_light_set_cutoff_angle(WrSpotLight *light, float cutoff_angle);
#ifdef __cplusplus
}
#endif
#endif // WR_SPOT_LIGHT_H