SceneSimpleZone
Engine/source/scene/zones/sceneSimpleZone.h
Abstract base class for a zone space that contains only a single zone.
Ambient Lighting
bool
Return true if the zone defines its own ambient light color.
setUseAmbientLightColor(bool value)
Set whether a custom ambient light color is active in this zone.
Return the ambient light color for this zone.
setAmbientLightColor(const LinearColorF & color)
Set the ambient light color for the zone.
bool
If this is true, then the zone defines its own ambient light color in #mAmbientColor.
Ambient light color in this zone.
Transforms
bool
Whether the zone has been rotated.
The OBB for the zone.
Inherited
Return a textual description of the object.
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Instructs this object to pack its state for transfer over the network.
unpackUpdate(NetConnection * conn, BitStream * stream)
Instructs this object to read state data previously packed with packUpdate.
prepRenderImage(SceneRenderState * state)
Called when the SceneManager is ready for the registration of render instances.
setTransform(const MatrixF & mat)
Sets the Object -> World transform.
getPointZone(const Point3F & p)
Returns the ID of the zone that are managed by this object that contains p.
bool
getOverlappingZones(const Box3F & aabb, U32 * outZones, U32 & outNumZones)
traverseZones(SceneTraversalState * state)
Traverse into the zones of this space.
bool
getZoneAmbientLightColor(U32 zone, LinearColorF & outColor)
Get the ambient light color of the given zone in this space or return false if the given zone does not have an ambient light color assigned to it.
traverseZones(SceneTraversalState * state, U32 startZoneId)
Traverse the zones in this space starting with the given zone.
Protected Types
_Anonymous_ { AmbientMask = Parent::NextFreeMask << 0 NextFreeMask = Parent::NextFreeMask << 1 }
Public Types
Parent
Protected Functions
Return the oriented bounding box for the zone.
Update the OBB for the zone.
bool
Called when this is added to a SceneManager.
Public Functions
Private Static Functions
bool
_setAmbientLightColor(void * object, const char * index, const char * data)
bool
_setUseAmbientLightColor(void * object, const char * index, const char * data)
Detailed Description
Abstract base class for a zone space that contains only a single zone.
Simple zones are required to be convex.
Ambient Lighting
useAmbientLightColor()
Return true if the zone defines its own ambient light color.
setUseAmbientLightColor(bool value)
Set whether a custom ambient light color is active in this zone.
getAmbientLightColor()
Return the ambient light color for this zone.
setAmbientLightColor(const LinearColorF & color)
Set the ambient light color for the zone.
note:This only takes effect if useAmbientLightColor() return true.
bool mUseAmbientLightColor
If this is true, then the zone defines its own ambient light color in #mAmbientColor.
LinearColorF mAmbientLightColor
Ambient light color in this zone.
Transforms
bool mIsRotated
Whether the zone has been rotated.
This is used to fasttrack overlap tests to avoid doing an OBB/AABB intersection test when we can simply use a much quicker AABB/AABB intersection test on the world boxes of both objects.
OrientedBox3F mOrientedWorldBox
The OBB for the zone.
Inherited
describeSelf()
Reimplemented from: NetObject
Reimplemented by: SceneRootZone, Portal
packUpdate(NetConnection * conn, U32 mask, BitStream * stream)
Reimplemented from: SceneZoneSpace
Reimplemented by: Portal, SceneAmbientSoundObject, ScenePolyhedralObject
unpackUpdate(NetConnection * conn, BitStream * stream)
Reimplemented from: SceneZoneSpace
Reimplemented by: Portal, SceneAmbientSoundObject, ScenePolyhedralObject
prepRenderImage(SceneRenderState * state)
Reimplemented from: SceneSpace
setTransform(const MatrixF & mat)
Reimplemented from: SceneSpace
Reimplemented by: ScenePolyhedralZone, Portal
getPointZone(const Point3F & p)
Reimplemented from: SceneZoneSpace
getOverlappingZones(const Box3F & aabb, U32 * outZones, U32 & outNumZones)
Reimplemented from: SceneZoneSpace
Reimplemented by: ScenePolyhedralZone, SceneRootZone
traverseZones(SceneTraversalState * state)
Reimplemented from: SceneZoneSpace
getZoneAmbientLightColor(U32 zone, LinearColorF & outColor)
Reimplemented from: SceneZoneSpace
traverseZones(SceneTraversalState * state, U32 startZoneId)
Reimplemented from: SceneZoneSpace
Reimplemented by: Portal
initPersistFields()
Protected Types
@160
Enumerator
- AmbientMask = Parent::NextFreeMask << 0
Ambient light color setting has changed.
- NextFreeMask = Parent::NextFreeMask << 1
Public Types
typedef SceneZoneSpace Parent
Protected Functions
_getOrientedWorldBox()
Return the oriented bounding box for the zone.
_updateOrientedWorldBox()
Update the OBB for the zone.
Reimplemented by: ScenePolyhedralZone
onSceneAdd()
Reimplemented from: SceneObject
Reimplemented by: SceneRootZone
Public Functions
SceneSimpleZone()
Private Static Functions
_setAmbientLightColor(void * object, const char * index, const char * data)
_setUseAmbientLightColor(void * object, const char * index, const char * data)