11 #pragma warning( push )
12 #pragma warning( disable : 4251 )
23 #include <boost/array.hpp> // TODO: replace with std::array when c++11 is available
24 #include <boost/signals.hpp>
30 typedef boost::signal< void(const DtLight*) >
LightSignal;
60 bool isOn(
void)
const {
return mybIsOn; }
92 void setDirection(
const Vector3_64& vDirection);
99 float32 squaredRange(
void)
const;
106 float32 constantAttenuation(
void)
const;
107 float32 linearAttenuation(
void)
const;
108 float32 quadraticAttenuation(
void)
const;
110 void getAttenuation(
float32 attenuations[3])
const;
115 void setSpotLightParameters(
const DtDegrees& fInnerAngleDegrees
120 void setSpotLightAngles(
const DtDegrees& fInnerAngleDegrees,
const DtDegrees& fOuterAngleDegrees);
121 void getSpotLightAngles(
DtDegrees& fInnerAngleDegrees,
DtDegrees& fOuterAngleDegrees);
135 void setOctreeNode(
void* pUserData);
146 void enableSignals(
bool enable);
147 bool signalsEnabled(
void)
const;
149 void enableUpdateSignals(
bool enable);
164 return mystrReservedBinding;
178 void getArbitraryBasisPoints(
float distance, boost::array<Vector3_64, 4>& point)
const;
180 float getAngleFactor()
const;
216 void UpdateBounds(
void);
233 #pragma warning( pop )
bool mybIsOn
Definition: DtLight.h:210
float32 myfConstantAttenuation
Definition: DtLight.h:199
float32 myfFallOff
Decrease in illumination between a spotlight's inner cone and the outer edge of the outer cone...
Definition: DtLight.h:208
LightManager class which allows creation/deletion of lights.
Definition: DtLightManager.h:30
Screen space light data, set up per frame and re-used multiple times while adding lights to light buc...
Definition: DtLightScreenSpaceData.h:53
bool isInitted() const
Definition: DtLight.h:170
float32 myfRange
Definition: DtLight.h:196
DtDegrees myfOuterAngle
Angle defining the outer edge of the spotlight's outer cone. Points outside this cone are not lit by ...
Definition: DtLight.h:206
Class to store a set of keys mapping to a set of any objects.
Vector3_64 myVecPosition
Applicable only to point lights and spot lights.
Definition: DtLight.h:192
LightSignal signal_LightDestroyed
Light signals.
Definition: DtLight.h:144
LightGroup myLightGroup
For switching on and off lights Is this light node under the DtOsgRenderer::propsRoot or under DtOsgR...
Definition: DtLight.h:227
DtColorValue myAmbientColor
Definition: DtLight.h:187
bool isOn(void) const
Turn light on or off.
Definition: DtLight.h:60
AxisAlignedBoundingBox_64 myWorldAABB
Definition: DtLight.h:217
bool myUpdateSignalEnabled
Definition: DtLight.h:222
#define FORWARD_DECLARE_DIFFERENT_SUFFIX(T, U)
Definition: DtForwardDeclare.h:31
float32 myfSquaredRange
Definition: DtLight.h:197
double float64
Definition: DtCommonTypes.h:34
void * myOctreeNode
Definition: DtLight.h:214
bool mySignalsEnabled
Definition: DtLight.h:221
DtDegrees myfInnerAngle
Angle of a spotlight's inner cone - that is, the fully illuminated spotlight cone.
Definition: DtLight.h:204
static const std::string mystrReservedBinding
Definition: DtLight.h:219
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
Axis Aligned Bounding Box class.
Forward declarations for Vectors.
LightType myLightType
Definition: DtLight.h:185
static const std::string & getReservedBindingKey(void)
Definition: DtLight.h:162
LightType
Definition: DtLight.h:32
float32 myfLinearAttenuation
Definition: DtLight.h:200
DtColorValue myDiffuseColor
Definition: DtLight.h:188
float float32
Definition: DtCommonTypes.h:33
DtColorValue mySpecularColor
Definition: DtLight.h:189
float64 myTempValue
Definition: DtLight.h:160
LightSignal signal_LightBoundsUpdated
Light signals.
Definition: DtLight.h:143
DtUserObjectBindings myUserObjectBindings
Definition: DtLight.h:213
float32 myfQuadraticAttenuation
Definition: DtLight.h:201
Class for generic lights.
Definition: DtLight.h:48
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
bool mybIsInitted
init bit to keep track if it's really safe to add to the octtree
Definition: DtLight.h:212
Vector3_64 myVecDirection
Applicable only to directional lights.
Definition: DtLight.h:194
Helpers to easily define forward declarations.
void * octreeNode() const
octree Data
Definition: DtLight.h:137
Template for Color values in [0,1] range.
Definition: DtColorValue.h:18
Class to store a set of keys mapping to a set of any objects.
Definition: DtUserObjectBindings.h:23
boost::signal< void(const DtLight *) > LightSignal
Definition: DtLight.h:29
LightGroup
Definition: DtLight.h:39
DtLightManager * myLightManager
Definition: DtLight.h:228