Drag[en]gine Game Engine  1.21
deSoundLevelMeter Class Reference

Sound level meter Resource. More...

#include <deSoundLevelMeter.h>

Inheritance diagram for deSoundLevelMeter:
deResource deObject

Classes

class  cAudibleSpeaker
 Audible speaker. More...
 

Public Types

enum  eMeterTypes { emtPoint , emtDirected }
 Meter type. More...
 
typedef deTObjectReference< deSoundLevelMeterRef
 Type holding strong reference. More...
 
- Public Types inherited from deResource
typedef deTObjectReference< deResourceRef
 Type holding strong reference. More...
 
- Public Types inherited from deObject
typedef deTObjectReference< deObjectRef
 Type holding strong reference. More...
 

Public Member Functions

Management
eMeterTypes GetType () const
 Type. More...
 
void SetType (eMeterTypes type)
 Set type. More...
 
const decDVectorGetPosition () const
 Position. More...
 
void SetPosition (const decDVector &position)
 Set position. More...
 
const decQuaternionGetOrientation () const
 Orientation. More...
 
void SetOrientation (const decQuaternion &orientation)
 Set orientation. More...
 
float GetConeAngle () const
 Cone angle in radians measured from cone center to outer hull. More...
 
void SetConeAngle (float angle)
 Set cone angle in radians measured from cone center to outer hull. More...
 
float GetAudibleDistance () const
 Audible distance in meters. More...
 
void SetAudibleDistance (float audibleDistance)
 Set audible distance in meters. More...
 
const decLayerMaskGetLayerMask () const
 Layer mask. More...
 
void SetLayerMask (const decLayerMask &layerMask)
 Set layer mask. More...
 
bool GetEnabled () const
 Measuring is enabled. More...
 
void SetEnabled (bool enabled)
 Set if measuring is enabled. More...
 
Measuring
int GetAudibleSpeakerCount () const
 Number of audible speakers. More...
 
const cAudibleSpeakerGetAudibleSpeakerAt (int index) const
 Audible speaker at index. More...
 
void NotifySpeakerAudible (const cAudibleSpeaker &speaker)
 Notify scripting module speaker became audible. More...
 
void NotifySpeakerInaudible (deSpeaker *speaker)
 Notify scripting module speaker became inaudible. More...
 
System Peers
deBaseAudioSoundLevelMeterGetPeerAudio () const
 Audio system peer. More...
 
void SetPeerAudio (deBaseAudioSoundLevelMeter *peer)
 Set audio system peer. More...
 
deBaseScriptingSoundLevelMeterGetPeerScripting () const
 Scripting system peer. More...
 
void SetPeerScripting (deBaseScriptingSoundLevelMeter *peer)
 Set scripting system peer. More...
 
Linked List
deWorldGetParentWorld () const
 Parent world or NULL. More...
 
void SetParentWorld (deWorld *world)
 Set parent world or NULL. More...
 
deSoundLevelMeterGetLLWorldPrev () const
 Previous lumimeter in the parent world linked list. More...
 
void SetLLWorldPrev (deSoundLevelMeter *lumimeter)
 Set next lumimeter in the parent world linked list. More...
 
deSoundLevelMeterGetLLWorldNext () const
 Next lumimeter in the parent world linked list. More...
 
void SetLLWorldNext (deSoundLevelMeter *lumimeter)
 Set next lumimeter in the parent world linked list. More...
 
- 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

 deSoundLevelMeter (deSoundLevelMeterManager *manager)
 Create new lumimeter. More...
 
virtual ~deSoundLevelMeter ()
 Clean up lumimeter. 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

Sound level meter Resource.

Sound level meters are sensors to measure the sound level present in a specific spot in the game world. The meter also stores a list of all speakers contributing to the sound level. Sound level meters allow adding sound sensing capabilities to game entities.

To use a sound level meter place the resource in the game world and set the desired audible range and directivity. The audio module updates the metering results as soon as possible. This can happen the next frame or a couple of frames later depending on how the audio module operates internally.

Sound level meters are only affected by speakers and components matching the layer mask set in the meter. Furthermore meters can be enabled and disabled to stop measuring while not in use without needing to remove and add the meter from the game all the time.

Member Typedef Documentation

◆ Ref

Type holding strong reference.

Member Enumeration Documentation

◆ eMeterTypes

Meter type.

Enumerator
emtPoint 

Meter senses sound all directions.

emtDirected 

Meter senses sound in a cone along Z axis.

Constructor & Destructor Documentation

◆ deSoundLevelMeter()

deSoundLevelMeter::deSoundLevelMeter ( deSoundLevelMeterManager manager)

Create new lumimeter.

◆ ~deSoundLevelMeter()

virtual deSoundLevelMeter::~deSoundLevelMeter ( )
protectedvirtual

Clean up lumimeter.

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

◆ GetAudibleDistance()

float deSoundLevelMeter::GetAudibleDistance ( ) const
inline

Audible distance in meters.

◆ GetAudibleSpeakerAt()

const cAudibleSpeaker& deSoundLevelMeter::GetAudibleSpeakerAt ( int  index) const

Audible speaker at index.

◆ GetAudibleSpeakerCount()

int deSoundLevelMeter::GetAudibleSpeakerCount ( ) const

Number of audible speakers.

◆ GetConeAngle()

float deSoundLevelMeter::GetConeAngle ( ) const
inline

Cone angle in radians measured from cone center to outer hull.

◆ GetEnabled()

bool deSoundLevelMeter::GetEnabled ( ) const
inline

Measuring is enabled.

◆ GetLayerMask()

const decLayerMask& deSoundLevelMeter::GetLayerMask ( ) const
inline

Layer mask.

◆ GetLLWorldNext()

deSoundLevelMeter* deSoundLevelMeter::GetLLWorldNext ( ) const
inline

Next lumimeter in the parent world linked list.

◆ GetLLWorldPrev()

deSoundLevelMeter* deSoundLevelMeter::GetLLWorldPrev ( ) const
inline

Previous lumimeter in the parent world linked list.

◆ GetOrientation()

const decQuaternion& deSoundLevelMeter::GetOrientation ( ) const
inline

Orientation.

◆ GetParentWorld()

deWorld* deSoundLevelMeter::GetParentWorld ( ) const
inline

Parent world or NULL.

◆ GetPeerAudio()

deBaseAudioSoundLevelMeter* deSoundLevelMeter::GetPeerAudio ( ) const
inline

Audio system peer.

◆ GetPeerScripting()

deBaseScriptingSoundLevelMeter* deSoundLevelMeter::GetPeerScripting ( ) const
inline

Scripting system peer.

◆ GetPosition()

const decDVector& deSoundLevelMeter::GetPosition ( ) const
inline

Position.

◆ GetType()

eMeterTypes deSoundLevelMeter::GetType ( ) const
inline

Type.

◆ NotifySpeakerAudible()

void deSoundLevelMeter::NotifySpeakerAudible ( const cAudibleSpeaker speaker)

Notify scripting module speaker became audible.

◆ NotifySpeakerInaudible()

void deSoundLevelMeter::NotifySpeakerInaudible ( deSpeaker speaker)

Notify scripting module speaker became inaudible.

◆ SetAudibleDistance()

void deSoundLevelMeter::SetAudibleDistance ( float  audibleDistance)

Set audible distance in meters.

◆ SetConeAngle()

void deSoundLevelMeter::SetConeAngle ( float  angle)

Set cone angle in radians measured from cone center to outer hull.

◆ SetEnabled()

void deSoundLevelMeter::SetEnabled ( bool  enabled)

Set if measuring is enabled.

◆ SetLayerMask()

void deSoundLevelMeter::SetLayerMask ( const decLayerMask layerMask)

Set layer mask.

◆ SetLLWorldNext()

void deSoundLevelMeter::SetLLWorldNext ( deSoundLevelMeter lumimeter)

Set next lumimeter in the parent world linked list.

◆ SetLLWorldPrev()

void deSoundLevelMeter::SetLLWorldPrev ( deSoundLevelMeter lumimeter)

Set next lumimeter in the parent world linked list.

◆ SetOrientation()

void deSoundLevelMeter::SetOrientation ( const decQuaternion orientation)

Set orientation.

◆ SetParentWorld()

void deSoundLevelMeter::SetParentWorld ( deWorld world)

Set parent world or NULL.

◆ SetPeerAudio()

void deSoundLevelMeter::SetPeerAudio ( deBaseAudioSoundLevelMeter peer)

Set audio system peer.

◆ SetPeerScripting()

void deSoundLevelMeter::SetPeerScripting ( deBaseScriptingSoundLevelMeter peer)

Set scripting system peer.

◆ SetPosition()

void deSoundLevelMeter::SetPosition ( const decDVector position)

Set position.

◆ SetType()

void deSoundLevelMeter::SetType ( eMeterTypes  type)

Set type.


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