Drag[en]gine Game Engine  1.0
deNavigationBlocker Class Reference

Blocker for navigation spaces. More...

#include <deNavigationBlocker.h>

Inheritance diagram for deNavigationBlocker:
deResource deObject

Public Member Functions

Management
const decDVectorGetPosition () const
 Retrieves the position. More...
 
void SetPosition (const decDVector &position)
 Sets the position. More...
 
const decQuaternionGetOrientation () const
 Retrieves the orientation. More...
 
void SetOrientation (const decQuaternion &orientation)
 Sets the orientation. More...
 
const decVectorGetScaling () const
 Retrieves the scaling. More...
 
void SetScaling (const decVector &scaling)
 Sets the scaling. More...
 
int GetLayer () const
 Retrieves the layer number. More...
 
void SetLayer (int layer)
 Sets the layer number. More...
 
deNavigationSpace::eSpaceTypes GetSpaceType () const
 Retrieves the space type to navigate. More...
 
void SetSpaceType (deNavigationSpace::eSpaceTypes spaceType)
 Sets the space type to navigate. More...
 
int GetBlockingPriority () const
 Blocking priority. More...
 
void SetBlockingPriority (int priority)
 Set blocking priority. More...
 
bool GetEnabled () const
 Determines if the blocker is enabled. More...
 
void SetEnabled (bool enabled)
 Sets if the blocker is enabled. More...
 
decShapeListGetShapeList ()
 Retrieves the shape list. More...
 
const decShapeListGetShapeList () const
 
void NotifyShapeListChanged ()
 Notifies the peers that the shape list changed. More...
 
System Peers
deBaseAINavigationBlockerGetPeerAI () const
 Retrieves the AI system peer. More...
 
void SetPeerAI (deBaseAINavigationBlocker *peer)
 Sets the AI system peer. More...
 
Linked List
deWorldGetParentWorld () const
 Retrieves the parent world or NULL. More...
 
void SetParentWorld (deWorld *world)
 Sets the parent world or NULL. More...
 
deNavigationBlockerGetLLWorldPrev () const
 Retrieves the previous blocker in the parent world linked list. More...
 
void SetLLWorldPrev (deNavigationBlocker *blocker)
 Sets the next blocker in the parent world linked list. More...
 
deNavigationBlockerGetLLWorldNext () const
 Retrieves the next blocker in the parent world linked list. More...
 
void SetLLWorldNext (deNavigationBlocker *blocker)
 Sets the next blocker 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

 deNavigationBlocker (deNavigationBlockerManager *manager)
 Creates a new blocker. More...
 
virtual ~deNavigationBlocker ()
 Cleans up the blocker. 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

Blocker for navigation spaces.

Blockers are used to restrict navigation spaces. This can be used to modify naviagion spaces without having to modify their meshes which is the case for placing props in scenes while the navigation space defines the general layout of a room. Blockers can also be used to dynamically alter navigation like doors temporarily blocking off rooms. In this case AI automatically picks new path and the blocker can be disabled later on. Blockers can be moved while active. This should be done moderately since changing the navigation layout all time can be potentially expensive and AI might be confused if path is constantly changing. The already calculates path are not affected by a change. The game scripts have to react to the changes at their own discretion.

Author
Pl├╝ss Roland
Version
1.0
Date
2014

Constructor & Destructor Documentation

◆ deNavigationBlocker()

deNavigationBlocker::deNavigationBlocker ( deNavigationBlockerManager manager)

Creates a new blocker.

◆ ~deNavigationBlocker()

virtual deNavigationBlocker::~deNavigationBlocker ( )
protectedvirtual

Cleans up the blocker.

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

◆ GetBlockingPriority()

int deNavigationBlocker::GetBlockingPriority ( ) const
inline

Blocking priority.

Blocks navigation meshes with a smaller or equal blocking priority.

References SetBlockingPriority().

◆ GetEnabled()

bool deNavigationBlocker::GetEnabled ( ) const
inline

Determines if the blocker is enabled.

References SetEnabled().

◆ GetLayer()

int deNavigationBlocker::GetLayer ( ) const
inline

Retrieves the layer number.

References SetLayer().

◆ GetLLWorldNext()

deNavigationBlocker* deNavigationBlocker::GetLLWorldNext ( ) const
inline

Retrieves the next blocker in the parent world linked list.

References SetLLWorldNext().

◆ GetLLWorldPrev()

deNavigationBlocker* deNavigationBlocker::GetLLWorldPrev ( ) const
inline

Retrieves the previous blocker in the parent world linked list.

References SetLLWorldPrev().

◆ GetOrientation()

const decQuaternion& deNavigationBlocker::GetOrientation ( ) const
inline

Retrieves the orientation.

References SetOrientation().

◆ GetParentWorld()

deWorld* deNavigationBlocker::GetParentWorld ( ) const
inline

Retrieves the parent world or NULL.

References SetParentWorld().

◆ GetPeerAI()

deBaseAINavigationBlocker* deNavigationBlocker::GetPeerAI ( ) const
inline

Retrieves the AI system peer.

References SetPeerAI().

◆ GetPosition()

const decDVector& deNavigationBlocker::GetPosition ( ) const
inline

Retrieves the position.

References SetPosition().

◆ GetScaling()

const decVector& deNavigationBlocker::GetScaling ( ) const
inline

Retrieves the scaling.

References SetScaling().

◆ GetShapeList() [1/2]

decShapeList& deNavigationBlocker::GetShapeList ( )
inline

Retrieves the shape list.

◆ GetShapeList() [2/2]

const decShapeList& deNavigationBlocker::GetShapeList ( ) const
inline

◆ GetSpaceType()

deNavigationSpace::eSpaceTypes deNavigationBlocker::GetSpaceType ( ) const
inline

Retrieves the space type to navigate.

References SetSpaceType().

◆ NotifyShapeListChanged()

void deNavigationBlocker::NotifyShapeListChanged ( )

Notifies the peers that the shape list changed.

Referenced by GetShapeList().

◆ SetBlockingPriority()

void deNavigationBlocker::SetBlockingPriority ( int  priority)

Set blocking priority.

Blocks navigation meshes with a smaller or equal blocking priority.

Referenced by GetBlockingPriority().

◆ SetEnabled()

void deNavigationBlocker::SetEnabled ( bool  enabled)

Sets if the blocker is enabled.

Referenced by GetEnabled().

◆ SetLayer()

void deNavigationBlocker::SetLayer ( int  layer)

Sets the layer number.

Referenced by GetLayer().

◆ SetLLWorldNext()

void deNavigationBlocker::SetLLWorldNext ( deNavigationBlocker blocker)

Sets the next blocker in the parent world linked list.

Referenced by GetLLWorldNext().

◆ SetLLWorldPrev()

void deNavigationBlocker::SetLLWorldPrev ( deNavigationBlocker blocker)

Sets the next blocker in the parent world linked list.

Referenced by GetLLWorldPrev().

◆ SetOrientation()

void deNavigationBlocker::SetOrientation ( const decQuaternion orientation)

Sets the orientation.

Referenced by GetOrientation().

◆ SetParentWorld()

void deNavigationBlocker::SetParentWorld ( deWorld world)

Sets the parent world or NULL.

Referenced by GetParentWorld().

◆ SetPeerAI()

void deNavigationBlocker::SetPeerAI ( deBaseAINavigationBlocker peer)

Sets the AI system peer.

Referenced by GetPeerAI().

◆ SetPosition()

void deNavigationBlocker::SetPosition ( const decDVector position)

Sets the position.

Referenced by GetPosition().

◆ SetScaling()

void deNavigationBlocker::SetScaling ( const decVector scaling)

Sets the scaling.

Referenced by GetScaling().

◆ SetSpaceType()

void deNavigationBlocker::SetSpaceType ( deNavigationSpace::eSpaceTypes  spaceType)

Sets the space type to navigate.

Referenced by GetSpaceType().


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