Drag[en]gine Game Engine  1.0
deEnvMapProbe Class Reference

Environment Map Probe Resource. Environment map probes tell the Graphic Module about a good place for a local environment map probe. Environment map probes define a shape list of influence, a shape list of reflection border, an influence border size and an influence priority. The influence shape list defines the shape inside which this environment map probe is best used. The influence border size defines the distance in meters form the border of the influence shape list where the influence gradually fades. Inside this border the influence is at the maximum. If multiple environment map probes overlap with full influence the influence priority defines which environment map wins over the others. The environment map probe with the highest influence priorty receives the full influence. All others are blended accordingly. This allows to place smaller environment maps inside larger ones to refine the result in places where a more narrow sampling is useful without having to construct complex influence shape lists excluding each other properly.The reflection border shape list defines the shape where the reflection maps to. Typically this is a box and should line up with the reflected map geometry as well as possible. Avoid complex shape lists for the reflection border as this is usually better for Graphic Modules to handle. More...

#include <deEnvMapProbe.h>

Inheritance diagram for deEnvMapProbe:
deResource deObject

Public Member Functions

Management
const decDVectorGetPosition () const
 
void SetPosition (const decDVector &position)
 
const decQuaternionGetOrientation () const
 
void SetOrientation (const decQuaternion &orientation)
 
const decVectorGetScaling () const
 
void SetScaling (const decVector &scaling)
 
decShapeListGetShapeListInfluence ()
 
const decShapeListGetShapeListInfluence () const
 
void NotifyShapeListInfluenceChanged ()
 
decShapeGetShapeReflection () const
 
void SetShapeReflection (decShape *shape)
 
decShapeListGetShapeListReflectionMask ()
 
const decShapeListGetShapeListReflectionMask () const
 
void NotifyShapeReflectionChanged ()
 
float GetInfluenceBorderSize () const
 
void SetInfluenceBorderSize (float borderSize)
 
int GetInfluencePriority () const
 
void SetInfluencePriority (int priority)
 
decLayerMaskGetLayerMask ()
 
const decLayerMaskGetLayerMask () const
 
void NotifyLayerMaskChanged ()
 
const decStringGetGroupEnvMap () const
 
void SetGroupEnvMap (const char *name)
 
deImageGetImage () const
 
void SetImage (deImage *image)
 
System Peers
deBaseGraphicEnvMapProbeGetGraphicPeer () const
 
void SetGraphicPeer (deBaseGraphicEnvMapProbe *peer)
 
Linked List
deWorldGetParentWorld () const
 
void SetParentWorld (deWorld *world)
 
deEnvMapProbeGetLLWorldPrev () const
 
void SetLLWorldPrev (deEnvMapProbe *instance)
 
deEnvMapProbeGetLLWorldNext () const
 
void SetLLWorldNext (deEnvMapProbe *instance)
 
- Public Member Functions inherited from deResource
deResourceManagerGetResourceManager () const
 Resource manager or NULL if resource is leaking. More...
 
deEngineGetEngine () const
 Game engine object from resource manager. More...
 
deResourceGetLLManagerPrev () const
 Previous resource in the resource manager linked list. More...
 
void SetLLManagerPrev (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
deResourceGetLLManagerNext () const
 Next resource in the resource manager linked list. More...
 
void SetLLManagerNext (deResource *resource)
 Set next resource in the resource manager linked list. More...
 
void MarkLeaking ()
 Marks the resource leaking. More...
 
 deResource (deResourceManager *resourceManager)
 Create resource. More...
 
- Public Member Functions inherited from deObject
int GetRefCount () const
 Reference count. More...
 
void AddReference ()
 Add reference increasing reference count by 1. More...
 
void FreeReference ()
 Decrease reference count by one and delete object if count reaches 0. More...
 
 deObject ()
 Create object with reference count of 1. More...
 

Constructors and Destructors

 deEnvMapProbe (deEnvMapProbeManager *manager)
 
virtual ~deEnvMapProbe ()
 Clean up environment map probe. More...
 

Additional Inherited Members

- Protected Member Functions inherited from deResource
virtual ~deResource ()
 Clean up resource. More...
 
- Protected Member Functions inherited from deObject
virtual ~deObject ()
 Clean up object. More...
 

Detailed Description

Environment Map Probe Resource. Environment map probes tell the Graphic Module about a good place for a local environment map probe. Environment map probes define a shape list of influence, a shape list of reflection border, an influence border size and an influence priority. The influence shape list defines the shape inside which this environment map probe is best used. The influence border size defines the distance in meters form the border of the influence shape list where the influence gradually fades. Inside this border the influence is at the maximum. If multiple environment map probes overlap with full influence the influence priority defines which environment map wins over the others. The environment map probe with the highest influence priorty receives the full influence. All others are blended accordingly. This allows to place smaller environment maps inside larger ones to refine the result in places where a more narrow sampling is useful without having to construct complex influence shape lists excluding each other properly.The reflection border shape list defines the shape where the reflection maps to. Typically this is a box and should line up with the reflected map geometry as well as possible. Avoid complex shape lists for the reflection border as this is usually better for Graphic Modules to handle.

Author
Pl├╝ss Roland
Version
1.0
Date
2013

Constructor & Destructor Documentation

◆ deEnvMapProbe()

deEnvMapProbe::deEnvMapProbe ( deEnvMapProbeManager manager)

Creates a new environment map probe.

◆ ~deEnvMapProbe()

virtual deEnvMapProbe::~deEnvMapProbe ( )
protectedvirtual

Clean up environment map probe.

Note
Subclasses should set their destructor protected too to avoid users accidently deleting a reference counted object through the object pointer. Only FreeReference() is allowed to delete the object.

Member Function Documentation

◆ GetGraphicPeer()

deBaseGraphicEnvMapProbe* deEnvMapProbe::GetGraphicPeer ( ) const
inline

Retrieves the graphics system peer.

References SetGraphicPeer().

◆ GetGroupEnvMap()

const decString& deEnvMapProbe::GetGroupEnvMap ( ) const
inline

Retrieves the environment map group name or an empty string if not set.

References SetGroupEnvMap().

◆ GetImage()

deImage* deEnvMapProbe::GetImage ( ) const
inline

Retrieves the explicit environment map image to use or NULL to auto-generate.

References SetImage().

◆ GetInfluenceBorderSize()

float deEnvMapProbe::GetInfluenceBorderSize ( ) const
inline

Retrieves the influence border size.

References SetInfluenceBorderSize().

◆ GetInfluencePriority()

int deEnvMapProbe::GetInfluencePriority ( ) const
inline

Retrieves the influence priority.

References SetInfluencePriority().

◆ GetLayerMask() [1/2]

decLayerMask& deEnvMapProbe::GetLayerMask ( )
inline

Retrieves the layer mask. Call NotifyLayerMaskChanged afterwards.

◆ GetLayerMask() [2/2]

const decLayerMask& deEnvMapProbe::GetLayerMask ( ) const
inline

◆ GetLLWorldNext()

deEnvMapProbe* deEnvMapProbe::GetLLWorldNext ( ) const
inline

Retrieves the next environment map probe in the parent world linked list.

References SetLLWorldNext().

◆ GetLLWorldPrev()

deEnvMapProbe* deEnvMapProbe::GetLLWorldPrev ( ) const
inline

Retrieves the previous environment map probe in the parent world linked list.

References SetLLWorldPrev().

◆ GetOrientation()

const decQuaternion& deEnvMapProbe::GetOrientation ( ) const
inline

Retrieves the orientation.

References SetOrientation().

◆ GetParentWorld()

deWorld* deEnvMapProbe::GetParentWorld ( ) const
inline

Retrieves the parent world or NULL.

References SetParentWorld().

◆ GetPosition()

const decDVector& deEnvMapProbe::GetPosition ( ) const
inline

Retrieves the position.

References SetPosition().

◆ GetScaling()

const decVector& deEnvMapProbe::GetScaling ( ) const
inline

Retrieves the scaling.

References SetScaling().

◆ GetShapeListInfluence() [1/2]

decShapeList& deEnvMapProbe::GetShapeListInfluence ( )
inline

Retrieves the influence shape list.

◆ GetShapeListInfluence() [2/2]

const decShapeList& deEnvMapProbe::GetShapeListInfluence ( ) const
inline

◆ GetShapeListReflectionMask() [1/2]

decShapeList& deEnvMapProbe::GetShapeListReflectionMask ( )
inline

Retrieves the reflection mask shape list.

◆ GetShapeListReflectionMask() [2/2]

const decShapeList& deEnvMapProbe::GetShapeListReflectionMask ( ) const
inline

◆ GetShapeReflection()

decShape* deEnvMapProbe::GetShapeReflection ( ) const
inline

Retrieves the reflection shape or NULL if the environment map is global.

References SetShapeReflection().

◆ NotifyLayerMaskChanged()

void deEnvMapProbe::NotifyLayerMaskChanged ( )

Notifies the peers that the layer mask changed.

Referenced by GetLayerMask().

◆ NotifyShapeListInfluenceChanged()

void deEnvMapProbe::NotifyShapeListInfluenceChanged ( )

Notifies the peers that the influence shape list changed.

Referenced by GetShapeListInfluence().

◆ NotifyShapeReflectionChanged()

void deEnvMapProbe::NotifyShapeReflectionChanged ( )

Notifies the peers that the reflection shape changed.

Referenced by GetShapeListReflectionMask().

◆ SetGraphicPeer()

void deEnvMapProbe::SetGraphicPeer ( deBaseGraphicEnvMapProbe peer)

Sets the graphics system peer.

Referenced by GetGraphicPeer().

◆ SetGroupEnvMap()

void deEnvMapProbe::SetGroupEnvMap ( const char *  name)

Sets the environment map group name or an empty string if not set.

Referenced by GetGroupEnvMap().

◆ SetImage()

void deEnvMapProbe::SetImage ( deImage image)

Sets the explicit environment map image to use or NULL to auto-generate.

Referenced by GetImage().

◆ SetInfluenceBorderSize()

void deEnvMapProbe::SetInfluenceBorderSize ( float  borderSize)

Sets the influence border size.

Referenced by GetInfluenceBorderSize().

◆ SetInfluencePriority()

void deEnvMapProbe::SetInfluencePriority ( int  priority)

Sets the influence priority.

Referenced by GetInfluencePriority().

◆ SetLLWorldNext()

void deEnvMapProbe::SetLLWorldNext ( deEnvMapProbe instance)

Sets the next environment map probe in the parent world linked list.

Referenced by GetLLWorldNext().

◆ SetLLWorldPrev()

void deEnvMapProbe::SetLLWorldPrev ( deEnvMapProbe instance)

Sets the next environment map probe in the parent world linked list.

Referenced by GetLLWorldPrev().

◆ SetOrientation()

void deEnvMapProbe::SetOrientation ( const decQuaternion orientation)

Sets the orientation.

Referenced by GetOrientation().

◆ SetParentWorld()

void deEnvMapProbe::SetParentWorld ( deWorld world)

Sets the parent world or NULL.

Referenced by GetParentWorld().

◆ SetPosition()

void deEnvMapProbe::SetPosition ( const decDVector position)

Sets the position.

Referenced by GetPosition().

◆ SetScaling()

void deEnvMapProbe::SetScaling ( const decVector scaling)

Sets the scaling.

Referenced by GetScaling().

◆ SetShapeReflection()

void deEnvMapProbe::SetShapeReflection ( decShape shape)

Sets the reflection shape or NULL if the environment map is global.

Referenced by GetShapeReflection().


The documentation for this class was generated from the following file: