se_core::ZoneAreaComponent Class Reference

#include <ZoneAreaComponent.hpp>

Inheritance diagram for se_core::ZoneAreaComponent:

se_core::RootChildComponent se_core::NodeComponent se_core::Component List of all members.

Public Types

typedef ComponentPtr< ZoneAreaComponent,
sct_ZONE > 
Ptr

Public Member Functions

 ZoneAreaComponent (Composite *owner, const ComponentFactory *factory=0)
 Constructor.
 ~ZoneAreaComponent ()
void setActive (bool state)
 Called by Composite.
const char * name () const
 By default returns name of composite, which returns name of composite factory.
void offset (const ZoneAreaComponent &other, Page &dest) const
bool offset (const ZoneAreaComponent &other, const Vector3 &size, Vector3 &dest) const
Page & page ()
const Page & page () const
bool addNeighbour (ZoneAreaComponent &other)
int neighbourIndex (const Page &rel) const
ZoneAreaComponent * neighbour (int relX, int relY, int relZ)
const ZoneAreaComponent * neighbour (int relX, int relY, int relZ) const
void addLink (ZoneAreaComponent &link)
ComponentList & links ()
void setExits (Exit *exits, int count)
Exit & exit (int id)
const Exit & exit (int id) const
int exitCount () const
bool hasParent () const
 Does the Pos have a parent?
NodeComponent * parent ()
 Get parent.
const NodeComponent * parent () const
 Get parent.
void resetParent ()
 Set parent to none.
void setParent (NodeComponent &p)
NodeComponentList & children ()
Composite * owner ()
const Composite * owner () const
 Component type.
Component * component (int type)
const Component * component (int type) const
int type () const
const ComponentFactory * factory ()
bool isActive ()
bool isDead () const

Protected Member Functions

void parentChanged (Composite *newParent, Composite *oldParent)
 Called by Composite.
void cleanup ()
 Called by Composite.
void addChild (NodeComponent &node)
 Add a NodeComponent as a child.
void removeChild (NodeComponent &node)
 Add a NodeComponent from the child list.
virtual void setDead ()
 Called by Composite.
virtual void zoneChanged (int type, Composite *newArea, Composite *oldArea)
 Called by Composite.
virtual void init ()
 Called by Composite.

Protected Attributes

Page page_
ComponentList links_
ZoneAreaComponent * neighbours_ [MAX_NEIGHBOURS]
int exitCount_
Exit * exits_
NodeComponent * parent_
 The parent of this position.
NodeComponentList children_
 List of child NodeComponents.
int type_
 The type of Component.
Composite * owner_
const ComponentFactory * factory_

Static Protected Attributes

const int MAX_NEIGHBOURS = 3 * 3 * 3

Friends

class ZoneAreaComponentFactory
class Composite

Member Typedef Documentation

typedef ComponentPtr<ZoneAreaComponent, sct_ZONE> se_core::ZoneAreaComponent::Ptr
 

Definition at line 89 of file ZoneAreaComponent.hpp.


Constructor & Destructor Documentation

se_core::ZoneAreaComponent::ZoneAreaComponent (  Composite *  owner,
const ComponentFactory *  factory = 0
) 
 

Constructor.

Definition at line 36 of file ZoneAreaComponent.cpp.

References se_core::sct_ZONE.

se_core::ZoneAreaComponent::~ZoneAreaComponent (   ) 
 

Definition at line 49 of file ZoneAreaComponent.cpp.


Member Function Documentation

void se_core::NodeComponent::addChild (  NodeComponent &  node  )  [protected, inherited]
 

Add a NodeComponent as a child.

Called by setParent of child.

Definition at line 60 of file NodeComponent.cpp.

Referenced by se_core::NodeComponent::setParent().

void se_core::ZoneAreaComponent::addLink (  ZoneAreaComponent &  link  ) 
 

Definition at line 105 of file ZoneAreaComponent.cpp.

bool se_core::ZoneAreaComponent::addNeighbour (  ZoneAreaComponent &  other  ) 
 

Definition at line 87 of file ZoneAreaComponent.cpp.

References AssertFatal, se_core::Composite::name(), se_core::Component::owner(), and page().

NodeComponentList& se_core::NodeComponent::children (   )  [inline, inherited]
 

Definition at line 63 of file NodeComponent.hpp.

Referenced by se_core::NodeComponentList::TreeIterator::next().

void se_core::NodeComponent::cleanup (   )  [inline, protected, virtual, inherited]
 

Called by Composite.

Reimplemented from se_core::Component.

Reimplemented in se_core::RootComponent, se_core::CutsceneComponent, se_core::SignalAreaComponent, se_core::SignalComponent, se_ogre::O3dAreaComponent, se_ogre::O3dThingComponent, and se_basic::NavMeshComponent.

Definition at line 70 of file NodeComponent.hpp.

const Component* se_core::Component::component (  int  type  )  const [inline, inherited]
 

Definition at line 71 of file Component.hpp.

References se_core::Component::component().

Component* se_core::Component::component (  int  type  )  [inline, inherited]
 

Definition at line 67 of file Component.hpp.

References se_core::Composite::component().

Referenced by se_core::Component::component(), se_core::Component::ComponentPtr< T, type >::ComponentPtr(), se_ogre::O3dThingComponent::get(), se_ogre::O3dNodeComponent::get(), and se_ogre::O3dAreaComponent::get().

const Exit & se_core::ZoneAreaComponent::exit (  int  id  )  const
 

Definition at line 172 of file ZoneAreaComponent.cpp.

References Assert.

Exit & se_core::ZoneAreaComponent::exit (  int  id  ) 
 

Definition at line 166 of file ZoneAreaComponent.cpp.

References AssertFatal.

int se_core::ZoneAreaComponent::exitCount (   )  const [inline]
 

Definition at line 117 of file ZoneAreaComponent.hpp.

const ComponentFactory* se_core::Component::factory (   )  [inline, inherited]
 

Definition at line 81 of file Component.hpp.

Referenced by se_core::Composite::releaseComponents().

bool se_core::NodeComponent::hasParent (   )  const [inline, inherited]
 

Does the Pos have a parent?

Definition at line 41 of file NodeComponent.hpp.

void se_core::Component::init (   )  [protected, virtual, inherited]
 

Called by Composite.

Reimplemented in se_core::RootComponent, se_core::SignalAreaComponent, se_ogre::O3dAreaComponent, and se_ogre::O3dThingComponent.

Definition at line 42 of file Component.cpp.

Referenced by se_core::Composite::init().

bool se_core::Component::isActive (   )  [inherited]
 

Definition at line 26 of file Component.cpp.

bool se_core::Component::isDead (   )  const [inherited]
 

Definition at line 31 of file Component.cpp.

Referenced by se_core::Actor::affect().

ComponentList& se_core::ZoneAreaComponent::links (   )  [inline]
 

Definition at line 113 of file ZoneAreaComponent.hpp.

const char* se_core::ZoneAreaComponent::name (   )  const [inline, virtual]
 

By default returns name of composite, which returns name of composite factory.

Reimplemented from se_core::Component.

Definition at line 99 of file ZoneAreaComponent.hpp.

const ZoneAreaComponent * se_core::ZoneAreaComponent::neighbour (  int  relX,
int  relY,
int  relZ
)  const
 

Definition at line 134 of file ZoneAreaComponent.cpp.

References se_core::Page::clampToNeighbourOffset(), se_core::Page::isNeighbourOffset(), neighbour(), se_core::Page::x_, se_core::Page::y_, and se_core::Page::z_.

ZoneAreaComponent * se_core::ZoneAreaComponent::neighbour (  int  relX,
int  relY,
int  relZ
) 
 

Definition at line 119 of file ZoneAreaComponent.cpp.

References se_core::Page::clampToNeighbourOffset(), se_core::Page::isNeighbourOffset(), se_core::Page::x_, se_core::Page::y_, and se_core::Page::z_.

Referenced by neighbour().

int se_core::ZoneAreaComponent::neighbourIndex (  const Page &  rel  )  const
 

Definition at line 111 of file ZoneAreaComponent.cpp.

References AssertFatal, se_core::Page::isNeighbourOffset(), se_core::Page::w_, se_core::Page::x_, se_core::Page::y_, and se_core::Page::z_.

bool se_core::ZoneAreaComponent::offset (  const ZoneAreaComponent &  other,
const Vector3 &  size,
Vector3 &  dest
)  const
 

Definition at line 75 of file ZoneAreaComponent.cpp.

References page(), se_core::Tuple3::x_, se_core::Tuple3::y_, and se_core::Tuple3::z_.

void se_core::ZoneAreaComponent::offset (  const ZoneAreaComponent &  other,
Page &  dest
)  const
 

Definition at line 69 of file ZoneAreaComponent.cpp.

References page(), and se_core::Page::sub().

const Composite* se_core::Component::owner (   )  const [inline, inherited]
 

Component type.

Definition at line 62 of file Component.hpp.

Composite* se_core::Component::owner (   )  [inline, inherited]
 

Definition at line 54 of file Component.hpp.

Referenced by se_core::CollisionAreaComponent::_testCollisionCandidates(), se_core::CollisionAreaComponent::_testCollisionCandidates2(), se_core::HealthListeners::add(), addNeighbour(), se_basic::PhTrackingCamera::affect(), se_core::HealthListeners::castHealthChangedEvent(), se_core::Component::ComponentPtr< T, type >::ComponentPtr(), se_ogre::ThingMOManager::create(), se_basic::SimpleAreaThingEncoder::encode(), se_core::SpawnComponent::get(), se_core::SignalComponent::get(), se_core::SignalAreaComponent::get(), se_core::ScriptComponent::get(), se_core::PosComponent::get(), se_core::PhysicsComponent::get(), se_core::StatComponent::get(), se_ogre::O3dThingComponent::get(), se_ogre::O3dNodeComponent::get(), se_ogre::O3dAreaComponent::get(), se_core::Pos::hasArea(), se_core::CollisionGrid::insert(), se_core::CollisionComponent::isCollideable(), se_core::ZoneComponent::name(), se_core::Component::ComponentPtr< T, type >::operator=(), se_core::DefaultTC::pop(), se_core::CoDefault::pop(), se_core::DefaultTC::popAndDie(), se_core::CoDefault::popAndDie(), se_core::CollisionAreaComponent::removeCollideable(), se_core::AreaManager::resetThings(), se_core::Actor::scheduleForDestruction(), se_core::AreaManager::setActive(), se_core::AreaManager::setInactive(), and se_ogre::O3dManager::updateStats().

const Page& se_core::ZoneAreaComponent::page (   )  const [inline]
 

Definition at line 105 of file ZoneAreaComponent.hpp.

Page& se_core::ZoneAreaComponent::page (   )  [inline]
 

Definition at line 104 of file ZoneAreaComponent.hpp.

Referenced by addNeighbour(), se_core::Area::addNeighbour(), and offset().

const NodeComponent* se_core::NodeComponent::parent (   )  const [inline, inherited]
 

Get parent.

const version.

Definition at line 52 of file NodeComponent.hpp.

NodeComponent* se_core::NodeComponent::parent (   )  [inline, inherited]
 

Get parent.

Definition at line 46 of file NodeComponent.hpp.

void se_core::NodeComponent::parentChanged (  Composite *  newParent,
Composite *  oldParent
)  [protected, virtual, inherited]
 

Called by Composite.

Reimplemented from se_core::Component.

Reimplemented in se_core::AreaChildComponent.

Definition at line 74 of file NodeComponent.cpp.

References se_core::Composite::component().

void se_core::NodeComponent::removeChild (  NodeComponent &  node  )  [protected, inherited]
 

Add a NodeComponent from the child list.

Called by setParent of child.

Definition at line 68 of file NodeComponent.cpp.

void se_core::NodeComponent::resetParent (   )  [inherited]
 

Set parent to none.

Parameters:
doKeepWorldCoor wether the local viewpoint should be updated to maintain the world viewpoint

Definition at line 41 of file NodeComponent.cpp.

void se_core::ZoneAreaComponent::setActive (  bool  state  )  [virtual]
 

Called by Composite.

Reimplemented from se_core::RootChildComponent.

Definition at line 55 of file ZoneAreaComponent.cpp.

References se_core::CompSchema::activeRoot(), and se_core::Composite::component().

virtual void se_core::Component::setDead (   )  [inline, protected, virtual, inherited]
 

Called by Composite.

Reimplemented in se_core::SignalComponent, and se_core::SpawnComponent.

Definition at line 97 of file Component.hpp.

Referenced by se_core::Composite::scheduleForDestruction().

void se_core::ZoneAreaComponent::setExits (  Exit *  exits,
int  count
) 
 

Definition at line 150 of file ZoneAreaComponent.cpp.

References LogWarning.

void se_core::NodeComponent::setParent (  NodeComponent &  p  )  [inherited]
 

Definition at line 50 of file NodeComponent.cpp.

References se_core::NodeComponent::addChild().

int se_core::Component::type (   )  const [inline, inherited]
 

Definition at line 76 of file Component.hpp.

Referenced by se_core::Composite::component().

void se_core::Component::zoneChanged (  int  type,
Composite *  newArea,
Composite *  oldArea
)  [protected, virtual, inherited]
 

Called by Composite.

Reimplemented in se_core::AreaChildComponent, se_core::CollisionComponent, and se_core::SignalComponent.

Definition at line 37 of file Component.cpp.

Referenced by se_core::Composite::zoneChanged().


Friends And Related Function Documentation

friend class Composite [friend, inherited]
 

Definition at line 89 of file Component.hpp.

friend class ZoneAreaComponentFactory [friend]
 

Definition at line 120 of file ZoneAreaComponent.hpp.


Member Data Documentation

NodeComponentList se_core::NodeComponent::children_ [protected, inherited]
 

List of child NodeComponents.

Definition at line 92 of file NodeComponent.hpp.

int se_core::ZoneAreaComponent::exitCount_ [protected]
 

Definition at line 126 of file ZoneAreaComponent.hpp.

Exit* se_core::ZoneAreaComponent::exits_ [protected]
 

Definition at line 127 of file ZoneAreaComponent.hpp.

const ComponentFactory* se_core::Component::factory_ [protected, inherited]
 

Definition at line 120 of file Component.hpp.

ComponentList se_core::ZoneAreaComponent::links_ [protected]
 

Definition at line 123 of file ZoneAreaComponent.hpp.

const int se_core::ZoneAreaComponent::MAX_NEIGHBOURS = 3 * 3 * 3 [static, protected]
 

Definition at line 124 of file ZoneAreaComponent.hpp.

ZoneAreaComponent* se_core::ZoneAreaComponent::neighbours_[MAX_NEIGHBOURS] [protected]
 

Definition at line 125 of file ZoneAreaComponent.hpp.

Composite* se_core::Component::owner_ [protected, inherited]
 

Definition at line 118 of file Component.hpp.

Page se_core::ZoneAreaComponent::page_ [protected]
 

Definition at line 122 of file ZoneAreaComponent.hpp.

NodeComponent* se_core::NodeComponent::parent_ [protected, inherited]
 

The parent of this position.

Definition at line 89 of file NodeComponent.hpp.

int se_core::Component::type_ [protected, inherited]
 

The type of Component.

Definition at line 117 of file Component.hpp.


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

Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:30 2007 by Doxygen version 1.3.9.1.

SourceForge.net Logo