11 #pragma warning( push )
12 #pragma warning( disable : 4251 )
23 #include <vrvUtil/signalslib.h>
32 typedef boost::signalslib::signal< void(const DtLight*) >
LightSignal;
73 virtual void setOn(
bool bOn);
75 virtual bool isOn(
void)
const;
79 virtual void setLightType(
LightType lightType);
92 virtual void setSpecularColor(
const DtColorValue& color);
103 virtual void setPosition(
const Vector3_64& vPosition);
104 virtual const Vector3_64& position(
void)
const;
107 virtual void setDirection(
const Vector3_64& vDirection);
108 virtual const Vector3_64& direction(
void)
const;
111 virtual void setRange(
float32 fRange);
113 virtual float32 range(
void)
const;
114 virtual float32 squaredRange(
void)
const;
121 virtual float32 constantAttenuation(
void)
const;
122 virtual float32 linearAttenuation(
void)
const;
123 virtual float32 quadraticAttenuation(
void)
const;
125 virtual void getAttenuation(
float32 attenuations[3])
const;
130 virtual void setSpotLightParameters(
const DtDegrees& fInnerAngleDegrees
135 virtual void setSpotLightAngles(
const DtDegrees& fInnerAngleDegrees,
const DtDegrees& fOuterAngleDegrees);
136 virtual void spotLightAngles(
DtDegrees& fInnerAngleDegrees,
DtDegrees& fOuterAngleDegrees);
138 virtual DtDegrees innerAngle(
void)
const;
139 virtual DtDegrees outerAngle(
void)
const;
140 virtual float32 falloff(
void)
const;
150 virtual void setOctreeNode(
void* pUserData);
152 virtual void* octreeNode()
const;
165 virtual bool isInitted()
const;
169 virtual void setLightSourceTypeId(
unsigned int lightSourceTypeId);
172 virtual unsigned int lightSourceTypeId()
const;
175 virtual void printDetails(
void)
const;
178 virtual void setUserValue(
float64 val);
181 virtual float64 userValue(
void)
const;
184 static const std::string& reservedBindingKey(
void);
193 virtual void getArbitraryBasisPoints(
float distance, std::array<Vector3_64, 4>& point)
const;
195 virtual float getAngleFactor()
const;
201 virtual void UpdateBounds(
void);
266 #pragma warning( pop )
bool mybIsOn
Definition: DtLight.h:230
float32 myfConstantAttenuation
Definition: DtLight.h:219
float32 myfFallOff
Decrease in illumination between a spotlight's inner cone and the outer edge of the outer cone...
Definition: DtLight.h:228
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
DtReusableMemoryVector< DtLight *, DtLightPointerInitializer > LightReusableVector
Definition: DtLight.h:262
unsigned int myLightSourceTypeId
Definition: DtLight.h:244
float32 myfRange
Definition: DtLight.h:216
DtDegrees myfOuterAngle
Angle defining the outer edge of the spotlight's outer cone. Points outside this cone are not lit by ...
Definition: DtLight.h:226
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:212
LightGroup myLightGroup
For switching on and off lights Is this light node under the DtOsgRenderer::propsRoot or under DtOsgR...
Definition: DtLight.h:241
DtColorValue myAmbientColor
Definition: DtLight.h:207
AxisAlignedBoundingBox_64 myWorldAABB
Definition: DtLight.h:236
#define FORWARD_DECLARE_DIFFERENT_SUFFIX(T, U)
Definition: DtForwardDeclare.h:31
float32 myfSquaredRange
Definition: DtLight.h:217
boost::signalslib::signal< void(const DtLight *) > LightSignal
Definition: DtLight.h:30
void * myOctreeNode
Definition: DtLight.h:234
DtDegrees myfInnerAngle
Angle of a spotlight's inner cone - that is, the fully illuminated spotlight cone.
Definition: DtLight.h:224
static const std::string theStrReservedBinding
Definition: DtLight.h:248
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.
LightType myLightType
Definition: DtLight.h:205
LightType
Definition: DtLight.h:34
float32 myfLinearAttenuation
Definition: DtLight.h:220
DtColorValue myDiffuseColor
Definition: DtLight.h:208
float float32
Definition: DtCommonTypes.h:33
DtColorValue mySpecularColor
Definition: DtLight.h:209
DtUserObjectBindings myUserObjectBindings
Definition: DtLight.h:233
float32 myfQuadraticAttenuation
Definition: DtLight.h:221
Contains makVrv::DtReusableMemoryVector class.
Class for generic lights This holds per-light data such as range, attenuation factors, colors, etc.
Definition: DtLight.h:52
#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:232
Definition: DtLight.h:252
Vector3_64 myVecDirection
Applicable only to directional lights.
Definition: DtLight.h:214
Helpers to easily define forward declarations.
void operator()(DtLight *&light)
Definition: DtLight.h:255
float64 myUserValue
Definition: DtLight.h:246
Template for Color values in [0,1] range.
Definition: DtColorValue.h:20
Class to store a set of keys mapping to a set of any objects.
Definition: DtUserObjectBindings.h:23
LightGroup
Definition: DtLight.h:41
DtLightManager * myLightManager
Definition: DtLight.h:242