Torque3D Documentation / _generateds / SceneSimpleZone

SceneSimpleZone

Engine/source/scene/zones/sceneSimpleZone.h

Abstract base class for a zone space that contains only a single zone.

More...

Ambient Lighting

bool

Return true if the zone defines its own ambient light color.

Set whether a custom ambient light color is active in this zone.

Return the ambient light color for this zone.

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.

Instructs this object to read state data previously packed with packUpdate.

Called when the SceneManager is ready for the registration of render instances.

Sets the Object -> World transform.

Returns the ID of the zone that are managed by this object that contains p.

bool
getOverlappingZones(const Box3F & aabb, U32 * outZones, U32 & outNumZones)

Traverse into the zones of this space.

bool

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

enum
_Anonymous_ {
  AmbientMask = Parent::NextFreeMask << 0
  NextFreeMask = Parent::NextFreeMask << 1
}

Public Types

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)