17 #if !defined(OPENNURBS_LIGHT_INC_) 18 #define OPENNURBS_LIGHT_INC_ 67 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
84 bool Enable(
bool =
true );
85 bool IsEnabled()
const;
92 void SetStyle(ON::light_style);
93 ON::light_style Style()
const;
95 const bool IsPointLight()
const;
96 const bool IsDirectionalLight()
const;
97 const bool IsSpotLight()
const;
98 const bool IsLinearLight()
const;
99 const bool IsRectangularLight()
const;
101 ON::coordinate_system CoordinateSystem()
const;
120 ON::coordinate_system dest_cs,
131 double Intensity()
const;
132 void SetIntensity(
double);
134 double PowerWatts()
const;
135 double PowerLumens()
const;
136 double PowerCandela()
const;
138 void SetPowerWatts(
double );
139 void SetPowerLumens(
double );
140 void SetPowerCandela(
double );
158 void SetAttenuation(
double,
double,
double);
161 double Attenuation(
double)
const;
171 void SetSpotAngleDegrees(
double );
172 double SpotAngleDegrees()
const;
174 void SetSpotAngleRadians(
double );
175 double SpotAngleRadians()
const;
186 void SetSpotExponent(
double );
187 double SpotExponent()
const;
195 void SetHotSpot(
double );
196 double HotSpot()
const;
199 bool GetSpotLightRadii(
double* inner_radius,
double* outer_radius )
const;
220 void SetShadowIntensity(
double);
221 double ShadowIntensity()
const;
228 void SetLightIndex(
int );
229 int LightIndex()
const;
235 void SetLightName(
const char* );
236 void SetLightName(
const wchar_t* );
245 ON::light_style m_style;
271 double m_spot_exponent;
282 double m_shadow_intensity;
virtual bool Transform(const ON_Xform &xform)
Transforms the object.
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:32
virtual int Dimension() const
Dimension of the object.
virtual bool GetBBox(double *boxmin, double *boxmax, bool bGrowBox=false) const
This is the virtual function that actually calculates axis aligned bounding boxes.
Definition: opennurbs_light.h:20
Definition: opennurbs_string.h:2020
virtual ON::object_type ObjectType() const
Useful for switch statements that need to differentiate between basic object types like points...
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
Definition: opennurbs_color.h:24
static const ON_Light Unset
Definition: opennurbs_light.h:30
virtual void Dump(ON_TextLog &) const
Creates a text dump of the object.
ON_Geometry & operator=(const ON_Geometry &)=default
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
Definition: opennurbs_viewport.h:31
virtual bool Read(ON_BinaryArchive &binary_archive)
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
Definition: opennurbs_point.h:460
bool IsValid(class ON_TextLog *text_log=nullptr) const override
Tests an object to see if its data members are correctly initialized.
virtual bool Write(ON_BinaryArchive &binary_archive) const
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
virtual ON_UUID ModelObjectId() const
All objects in an opennurbs model have an id ( ON_Layer.m_layer_id, ON_Font.m_font_id, ON_Material.m_material_id, ON_3dmObjectAttributes.m_uuid ).
Definition: opennurbs_point.h:1152