#include <NavMeshArea.hpp>
Inheritance diagram for se_basic::NavMeshArea:
Public Types | |
typedef ComponentPtr< NavMeshArea, se_core::sct_BLOB > | Ptr |
enum | TerrainStyle { TS_VOID = se_core::Pos::TS_VOID, TS_WALKABLE } |
Public Member Functions | |
NavMeshArea (se_core::Composite *owner, const se_core::ComponentFactory *factory, coor_tile_t w, coor_tile_t h, const NavMesh *navMesh) | |
virtual | ~NavMeshArea () |
short | index (const se_core::Point3 &coor, short oldIndex=-1) const |
coor_t | groundHeight (const se_core::Point3 &coor, short index=-1) const |
void | force (const se_core::Point3 &coor, se_core::Vector3 &dest) const |
short | terrainStyle (const se_core::Point3 &coor, short index=-1) const |
short | nextTerrainStyle (bray_t direction, const se_core::Point3 &coor) |
bool | isLineOfSight (const se_core::Pos &from, const se_core::Pos &to) |
coor_t | farthestLineOfSight (const se_core::Pos &from, bray_t yaw, coor_t maxLen, coor_t maxOffNavMesh, se_core::Point3 &dest) const |
coor_t | farthestLineOfSight (const se_core::Point3 &fromPoint, short fromIndex, bray_t yaw, coor_t maxLen, coor_t maxOffNavMesh) const |
void | farthestLineOfSight (const se_core::Pos &from, const se_core::Pos &to, se_core::Point3 &dest) const |
void | path (const se_core::Pos &from, const se_core::Pos &to, se_core::Point3 &out) const |
bool | isNeighbour (const Area &area) const |
bray_t | slideAngle (const se_core::Pos &from, const se_core::Point3 &to) const |
bray_t | wallAngle (const se_core::Pos &from, const se_core::Point3 &to) const |
bool | doesTouchVoid (const se_core::Point3 &wc, short index, coor_t radius) const |
coor_double_t | findNearest (const se_core::Point3 &p, se_core::Point3 &out) const |
virtual coor_t | groundHeight (const Point3 &coor, short index=-1) const =0 |
Height of ground (y-coordinate) at given (coor.x_, coor.z_). | |
virtual short | index (const Point3 &wc, short oldIndex=-1) const =0 |
Some area types maintain an index with positions. | |
virtual bool | doesTouchVoid (const Point3 &wc, short index, coor_t radius) const =0 |
void | saveThings () |
Save area to a stream. | |
virtual void | force (const Point3 &coor, Vector3 &dest) const =0 |
coor_tile_t | width () const |
coor_tile_t | height () const |
coor_world_t | pagePosX () const |
coor_world_t | pagePosZ () const |
bool | isLegalCoor (coor_tile_t x, coor_tile_t y) const |
bool | isLegalLocalCoor (const Point3 &localCoor) const |
bool | isLegalWorldCoor (const Point3 &worldCoor) const |
virtual short | terrainStyle (const Point3 &coor, short index=-1) const =0 |
virtual short | nextTerrainStyle (bray_t direction, const Point3 &coor)=0 |
virtual long | touchedTerrain (const Point3 ¢re, coor_t radius) const |
Wall collision utility method. | |
virtual long | touchedTerrain (const Point3 &from, const Point3 &to) const |
Line of sight utility method. | |
Composite * | findTarget (const char *factoryName, const Point3 &worldCoor) const |
void | reset () |
Area * | neighbour (short relX, short relY, short relZ) |
Get neighbour. | |
const Area * | neighbour (short relX, short relY, short relZ) const |
Area * | neighbour (const Point3 &worldCoor) |
const Area * | neighbour (const Point3 &worldCoor) const |
bool | addNeighbour (Area *area) |
Check if the area passed in is a neighbour, and if so, register it as such. | |
void | flipSpawns (void) |
Flip all moving things in this area, making their nextPos() their pos(). | |
Composite * | spawn (const char *thingName, const ViewPoint &coor, long deniedTsMask=0, PosComponent *parent=0) |
Spawn a new thing in this area. | |
virtual const char * | name () const |
By default returns name of composite, which returns name of composite factory. | |
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 |
Static Public Member Functions | |
long | tsMask (short ts) |
Protected Member Functions | |
virtual void | setActive (bool state) |
Called by Composite. | |
virtual void | setDead () |
Called by Composite. | |
virtual void | parentChanged (Composite *newParent, Composite *oldParent) |
Called by Composite. | |
virtual void | zoneChanged (int type, Composite *newArea, Composite *oldArea) |
Called by Composite. | |
virtual void | init () |
Called by Composite. | |
virtual void | cleanup () |
Called by Composite. | |
Protected Attributes | |
coor_tile_t | width_ |
coor_tile_t | height_ |
PosComponent * | posComponent_ |
SpawnAreaComponent * | spawnAreaComponent_ |
ScriptComponent * | scriptComponent_ |
ActionComponent * | actionComponent_ |
CollisionAreaComponent * | collisionAreaComponent_ |
PhysicsAreaComponent * | physicsAreaComponent_ |
SignalAreaComponent * | signalAreaComponent_ |
ZoneAreaComponent * | zoneAreaComponent_ |
int | type_ |
The type of Component. | |
Composite * | owner_ |
const ComponentFactory * | factory_ |
Friends | |
class | Composite |
|
Reimplemented from se_core::Area. Definition at line 12 of file NavMeshArea.hpp. |
|
Definition at line 13 of file NavMeshArea.hpp. |
|
Definition at line 11 of file NavMeshArea.cpp. |
|
Definition at line 19 of file NavMeshArea.cpp. |
|
Check if the area passed in is a neighbour, and if so, register it as such.
Definition at line 266 of file Area.cpp. References Assert, AssertWarning, coor_t, se_core::Area::isNeighbour(), se_core::Component::name(), se_core::ZoneAreaComponent::page(), se_core::AreaEdge::removeLink(), se_core::Page::x_, se_core::Page::z_, and se_core::Area::zoneAreaComponent_. Referenced by se_core::AreaManager::addArea(). |
|
Called by Composite.
Reimplemented in se_core::NodeComponent, se_core::RootComponent, se_core::ActionComponent, se_core::CutsceneComponent, se_core::PosComponent, se_core::ScriptComponent, se_core::SignalAreaComponent, se_core::SignalComponent, se_core::SpawnComponent, se_ogre::O3dAreaComponent, se_ogre::O3dThingComponent, and se_basic::NavMeshComponent. Definition at line 47 of file Component.cpp. Referenced by se_core::Composite::cleanup(). |
|
Definition at line 71 of file Component.hpp. References se_core::Component::component(). |
|
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(). |
|
|
|
Definition at line 78 of file NavMeshArea.cpp. References se_core::Tuple3::sub(). |
|
Definition at line 81 of file Component.hpp. Referenced by se_core::Composite::releaseComponents(). |
|
Definition at line 245 of file NavMeshArea.cpp. References se_core::Pos::index(), se_core::Tuple3::sub(), se_core::Pos::worldCoor(), se_core::Tuple2::x_, se_core::Tuple3::x_, se_core::Tuple2::y_, and se_core::Tuple3::z_. |
|
|
Definition at line 230 of file NavMeshArea.cpp. References se_core::Tuple3::add(), coor_t, se_core::Pos::index(), se_core::Vector3::setForward(), se_core::Pos::worldCoor(), se_core::Tuple3::x_, se_core::Point3::xzDistanceSquared(), and se_core::Tuple3::z_. |
|
Definition at line 369 of file NavMeshArea.cpp. References se_core::Tuple3::sub(). |
|
Definition at line 158 of file Area.cpp. References coor_double_t, se_core::Point3::distanceSquared(), se_core::CompositeList::Iterator::hasNext(), se_core::Composite::name(), and se_core::CompositeList::Iterator::next(). |
|
Flip all moving things in this area, making their nextPos() their pos(). This method is called on active areas by the SimEngine class in the beginning of each step. Definition at line 360 of file Area.cpp. Referenced by se_basic::SimpleAreaThingParser::parse(). |
|
|
|
Definition at line 87 of file NavMeshArea.cpp. References se_core::Tuple3::set(). |
|
Height of ground (y-coordinate) at given (coor.x_, coor.z_).
|
|
Definition at line 42 of file NavMeshArea.cpp. References AssertFatal, se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
Definition at line 84 of file Area.hpp. References coor_tile_t. Referenced by se_core::AreaManager::addArea(), se_basic::SimpleAreaFactory::create(), and se_basic::NavMeshAreaFactory::create(). |
|
Some area types maintain an index with positions.
|
|
Definition at line 55 of file NavMeshArea.cpp. References se_core::Tuple3::x_, and se_core::Tuple3::z_. Referenced by farthestLineOfSight(). |
|
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(). |
|
Definition at line 26 of file Component.cpp. |
|
Definition at line 31 of file Component.cpp. Referenced by se_core::Actor::affect(). |
|
|
|
Definition at line 99 of file Area.hpp. References se_core::Tuple3::x_, se_core::Point3::xTile(), se_core::Tuple3::z_, and se_core::Point3::zTile(). |
|
Definition at line 108 of file Area.hpp. References se_core::Tuple3::x_, se_core::Point3::xTile(), se_core::Tuple3::z_, and se_core::Point3::zTile(). |
|
Definition at line 117 of file NavMeshArea.cpp. References se_core::Pos::area(), Assert, se_core::Pos::index(), se_core::Tuple3::sub(), and se_core::Pos::worldCoor(). |
|
Reimplemented from se_core::Area. Definition at line 25 of file NavMeshArea.cpp. |
|
By default returns name of composite, which returns name of composite factory.
Reimplemented in se_core::CutsceneAreaComponent, se_core::CutsceneComponent, se_core::CutsceneManager, se_core::CollisionAreaComponent, se_core::SignalAreaComponent, se_core::SignalComponent, se_core::SpawnAreaComponent, se_core::SpawnManager, se_core::ZoneAreaComponent, se_core::ZoneComponent, se_core::ZoneManager, se_basic::NavMeshAreaComponent, se_basic::NavMeshComponent, and se_basic::NavMeshManager. Definition at line 21 of file Component.cpp. Referenced by se_core::Area::addNeighbour(), se_core::DefaultTC::collide(), se_core::CoDefault::collide(), se_basic::Say::perform(), and se_ogre::SpeechBubble::speechEvent(). |
|
Definition at line 339 of file Area.cpp. References coor_t, se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
Definition at line 318 of file Area.cpp. References coor_t, se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
|
|
Get neighbour.
|
|
|
|
Definition at line 109 of file NavMeshArea.cpp. References LogFatal. |
|
Component type.
Definition at line 62 of file Component.hpp. |
|
|
Definition at line 86 of file Area.hpp. References coor_world_t. |
|
Definition at line 90 of file Area.hpp. References coor_world_t. |
|
Called by Composite.
Reimplemented in se_core::AreaChildComponent, and se_core::NodeComponent. Definition at line 101 of file Component.hpp. Referenced by se_core::Composite::resetParent(), and se_core::Composite::setParent(). |
|
Definition at line 292 of file NavMeshArea.cpp. References se_core::Pos::area(), se_core::Pos::bounds_, se_core::Pos::hasArea(), se_core::Pos::index(), se_core::Pos::localCoor(), se_core::PosComponent::pos(), se_core::Tuple3::set(), se_core::Tuple3::sub(), and se_core::Pos::worldCoor(). |
|
Definition at line 239 of file Area.cpp. References se_core::CompositeList::TreeIterator::hasNext(), se_core::CompositeList::TreeIterator::next(), and se_core::Composite::scheduleForDestruction(). Referenced by se_core::AreaManager::resetThings(). |
|
Save area to a stream.
|
|
|
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(). |
|
Definition at line 349 of file NavMeshArea.cpp. References bray_t, se_core::Pos::index(), se_core::Tuple3::sub(), and se_core::Pos::worldCoor(). |
|
Spawn a new thing in this area. Spawning should be done this way, because a thing not belonging to an area will never be flip()'ed. Definition at line 367 of file Area.cpp. References se_core::ViewPoint::coor_, and LogDetail. |
|
|
|
Definition at line 94 of file NavMeshArea.cpp. References se_core::Tuple3::x_, and se_core::Tuple3::z_. |
|
Line of sight utility method.
Definition at line 408 of file Area.cpp. References abs, se_core::Point3::xTile(), and se_core::Point3::zTile(). |
|
Wall collision utility method.
Definition at line 379 of file Area.cpp. References se_core::Tuple3::add(), coor_t, and se_core::Tuple3::set(). |
|
|
|
Definition at line 76 of file Component.hpp. Referenced by se_core::Composite::component(). |
|
Definition at line 359 of file NavMeshArea.cpp. References bray_t, se_core::Pos::index(), se_core::Tuple3::sub(), and se_core::Pos::worldCoor(). |
|
Definition at line 83 of file Area.hpp. References coor_tile_t. Referenced by se_core::AreaManager::addArea(), se_basic::SimpleAreaFactory::create(), and se_basic::NavMeshAreaFactory::create(). |
|
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(). |
|
Definition at line 89 of file Component.hpp. |
|
|
|
|
|
Definition at line 120 of file Component.hpp. |
|
|
|
Definition at line 118 of file Component.hpp. |
|
|
|
Definition at line 169 of file Area.hpp. Referenced by farthestLineOfSight(). |
|
|
|
|
|
|
|
The type of Component.
Definition at line 117 of file Component.hpp. |
|
|
|
Definition at line 176 of file Area.hpp. Referenced by se_core::Area::addNeighbour(), and se_core::Area::isNeighbour(). |
Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:21 2007 by Doxygen version 1.3.9.1.