Planeshift
Waypoint Class Reference

A waypoint is a specified circle on the map with a name, location, and a list of waypoints it is connected to. More...

#include <waypoint.h>

Public Member Functions

WaypointAliasAddAlias (int id, csString aliasName, float rotationAngle)
 Add a new alias to this waypoint. More...
 
void AddLink (psPath *path, Waypoint *wp, psPath::Direction direction, float distance)
 
bool Adjust (iDataConnection *db, csVector3 &pos, csString sector)
 
void Adjust (csVector3 &pos, csString sector)
 
void Adjust (csVector3 &pos, iSector *sector)
 
bool CheckWithin (iEngine *engine, const csVector3 &pos, const iSector *sector)
 
int Create (iDataConnection *db)
 
WaypointAliasCreateAlias (iDataConnection *db, csString alias, float rotationAngle)
 
const WaypointAliasFindAlias (const csString &aliasName) const
 Locate the WaypointAlias struct for a alias by alias name. More...
 
WaypointAliasFindAlias (const csString &aliasName)
 Locate the WaypointAlias struct for a alias by alias name. More...
 
csString GetAliases ()
 Get a string with aliases for this waypoint. More...
 
uint32_t GetEffectID (iEffectIDAllocator *allocator)
 Return the effect ID for this waypoint or assign a new ID. More...
 
csString GetFlags () const
 
const char * GetGroup ()
 Get the group name of this waypoint. More...
 
int GetID () const
 Get the id of this waypoint. More...
 
const char * GetName () const
 Get the name of this waypoint. More...
 
const csVector3 & GetPosition () const
 
float GetRadius () const
 
EdgeGetRandomEdge (const psPathNetwork::RouteFilter *routeFilter)
 
iSector * GetSector (iEngine *engine)
 Get the sector from the location. More...
 
iSector * GetSector (iEngine *engine) const
 
bool Import (iDocumentNode *node, iEngine *engine, iDataConnection *db)
 
bool Load (iDocumentNode *node, iEngine *engine)
 
bool Load (iResultRow &row, iEngine *engine)
 
bool operator< (Waypoint &other) const
 
bool operator== (Waypoint &other) const
 
void RecalculateEdges (psWorld *world, iEngine *engine)
 
void RemoveAlias (csString aliasName)
 Remove a alias from this waypoint. More...
 
bool RemoveAlias (iDataConnection *db, csString alias)
 
void RemoveLink (psPath *path)
 
bool Rename (iDataConnection *db, const char *name)
 Rename the waypoint and update the db. More...
 
void Rename (const char *name)
 Rename the waypoint. More...
 
bool SetFlag (iDataConnection *db, const csString &flagstr, bool enable)
 Enable/Disable the listed flags. More...
 
bool SetFlag (const csString &flagstr, bool enable)
 Enable/Disable the listed flags. More...
 
void SetFlags (const csString &flagStr)
 Set all flags based on the string. More...
 
void SetID (int id)
 
bool SetRadius (float radius)
 
bool SetRadius (iDataConnection *db, float radius)
 
bool SetRotationAngle (const csString &aliasName, float rotationAngle)
 Set the rotation angle for an alias. More...
 
 Waypoint ()
 
 Waypoint (const char *name)
 
 Waypoint (csString &name, csVector3 &pos, csString &sectorName, float radius, csString &flags)
 

Public Attributes

csPDelArray< WaypointAliasaliases
 Hold aliases for this waypoint. More...
 
bool allowReturn
 This prevents the link back to the prior waypoint < from being chosen, if true. More...
 
bool city
 True if this waypoint is in a city. More...
 
float distance
 Data used in the dijkstra's algorithm to find waypoint path. More...
 
csArray< floatdists
 Distances of each link. More...
 
csPDelArray< Edgeedges
 Edges for each link. More...
 
uint32_t effectID
 When displayed in a client this is the effect id. More...
 
bool excluded
 Predecessor WP to track shortest way back to start. More...
 
bool ground
 True if this waypoint is ground. More...
 
csString group
 Hold group name for this waypoint if any. More...
 
bool indoor
 True if this waypoint is indoor. More...
 
csArray< Waypoint * > links
 Links to other waypoinst connected with paths from this node. More...
 
Location loc
 Id and position. More...
 
bool path
 True if this waypoint is a path. More...
 
csArray< psPath * > paths
 Path object for each of the links. More...
 
Waypointpi
 Hold current shortest distance to the start WP. More...
 
bool priv
 True if this waypoint is private. More...
 
bool pub
 True if this waypoint is public. More...
 
bool road
 True if this waypoint is a road/street. More...
 
bool underground
 True if this waypoint is underground. More...
 
bool underwater
 True if this waypoint is underwater. More...
 

Detailed Description

A waypoint is a specified circle on the map with a name, location, and a list of waypoints it is connected to.

With this class, a network of nodes can be created which will allow for pathfinding and path wandering by NPCs.

Definition at line 81 of file waypoint.h.

Constructor & Destructor Documentation

Waypoint::Waypoint ( )
Waypoint::Waypoint ( const char *  name)
Waypoint::Waypoint ( csString &  name,
csVector3 &  pos,
csString &  sectorName,
float  radius,
csString &  flags 
)

Member Function Documentation

WaypointAlias* Waypoint::AddAlias ( int  id,
csString  aliasName,
float  rotationAngle 
)

Add a new alias to this waypoint.

void Waypoint::AddLink ( psPath path,
Waypoint wp,
psPath::Direction  direction,
float  distance 
)
bool Waypoint::Adjust ( iDataConnection *  db,
csVector3 &  pos,
csString  sector 
)
void Waypoint::Adjust ( csVector3 &  pos,
csString  sector 
)
void Waypoint::Adjust ( csVector3 &  pos,
iSector *  sector 
)
bool Waypoint::CheckWithin ( iEngine *  engine,
const csVector3 &  pos,
const iSector *  sector 
)
int Waypoint::Create ( iDataConnection *  db)
WaypointAlias* Waypoint::CreateAlias ( iDataConnection *  db,
csString  alias,
float  rotationAngle 
)
const WaypointAlias* Waypoint::FindAlias ( const csString &  aliasName) const

Locate the WaypointAlias struct for a alias by alias name.

WaypointAlias* Waypoint::FindAlias ( const csString &  aliasName)

Locate the WaypointAlias struct for a alias by alias name.

csString Waypoint::GetAliases ( )

Get a string with aliases for this waypoint.

uint32_t Waypoint::GetEffectID ( iEffectIDAllocator allocator)

Return the effect ID for this waypoint or assign a new ID.

Parameters
allocator
csString Waypoint::GetFlags ( ) const
const char* Waypoint::GetGroup ( )
inline

Get the group name of this waypoint.

Definition at line 146 of file waypoint.h.

int Waypoint::GetID ( ) const
inline

Get the id of this waypoint.

Definition at line 134 of file waypoint.h.

const char* Waypoint::GetName ( ) const
inline

Get the name of this waypoint.

Definition at line 138 of file waypoint.h.

const csVector3& Waypoint::GetPosition ( ) const
inline

Definition at line 176 of file waypoint.h.

float Waypoint::GetRadius ( ) const
inline

Definition at line 171 of file waypoint.h.

Edge* Waypoint::GetRandomEdge ( const psPathNetwork::RouteFilter routeFilter)
iSector* Waypoint::GetSector ( iEngine *  engine)
inline

Get the sector from the location.

Definition at line 166 of file waypoint.h.

iSector* Waypoint::GetSector ( iEngine *  engine) const
inline

Definition at line 167 of file waypoint.h.

bool Waypoint::Import ( iDocumentNode *  node,
iEngine *  engine,
iDataConnection *  db 
)
bool Waypoint::Load ( iDocumentNode *  node,
iEngine *  engine 
)
bool Waypoint::Load ( iResultRow &  row,
iEngine *  engine 
)
bool Waypoint::operator< ( Waypoint other) const
inline

Definition at line 114 of file waypoint.h.

bool Waypoint::operator== ( Waypoint other) const
inline

Definition at line 112 of file waypoint.h.

void Waypoint::RecalculateEdges ( psWorld world,
iEngine *  engine 
)
void Waypoint::RemoveAlias ( csString  aliasName)

Remove a alias from this waypoint.

bool Waypoint::RemoveAlias ( iDataConnection *  db,
csString  alias 
)
void Waypoint::RemoveLink ( psPath path)
bool Waypoint::Rename ( iDataConnection *  db,
const char *  name 
)

Rename the waypoint and update the db.

void Waypoint::Rename ( const char *  name)

Rename the waypoint.

bool Waypoint::SetFlag ( iDataConnection *  db,
const csString &  flagstr,
bool  enable 
)

Enable/Disable the listed flags.

Will search the flagstr input to find the flag to enable or disable.

Parameters
dbNeed a pointer to the db to update flags
flagstrThe flag to modify.
enableSet to true to enable the flag.
Returns
True if flags where set.
bool Waypoint::SetFlag ( const csString &  flagstr,
bool  enable 
)

Enable/Disable the listed flags.

Will search the flagstr input to find the flag to enable or disable.

Parameters
flagstrThe flag to modify.
enableSet to true to enable the flag.
Returns
True if flags where set.
void Waypoint::SetFlags ( const csString &  flagStr)

Set all flags based on the string.

void Waypoint::SetID ( int  id)
bool Waypoint::SetRadius ( float  radius)
bool Waypoint::SetRadius ( iDataConnection *  db,
float  radius 
)
bool Waypoint::SetRotationAngle ( const csString &  aliasName,
float  rotationAngle 
)

Set the rotation angle for an alias.

Member Data Documentation

csPDelArray<WaypointAlias> Waypoint::aliases

Hold aliases for this waypoint.

Definition at line 86 of file waypoint.h.

bool Waypoint::allowReturn

This prevents the link back to the prior waypoint < from being chosen, if true.

Definition at line 93 of file waypoint.h.

bool Waypoint::city

True if this waypoint is in a city.

Definition at line 99 of file waypoint.h.

float Waypoint::distance

Data used in the dijkstra's algorithm to find waypoint path.

Definition at line 219 of file waypoint.h.

csArray<float> Waypoint::dists

Distances of each link.

Definition at line 89 of file waypoint.h.

csPDelArray<Edge> Waypoint::edges

Edges for each link.

Definition at line 90 of file waypoint.h.

uint32_t Waypoint::effectID

When displayed in a client this is the effect id.

Definition at line 105 of file waypoint.h.

bool Waypoint::excluded

Predecessor WP to track shortest way back to start.

Definition at line 221 of file waypoint.h.

bool Waypoint::ground

True if this waypoint is ground.

Definition at line 103 of file waypoint.h.

csString Waypoint::group

Hold group name for this waypoint if any.

Definition at line 85 of file waypoint.h.

bool Waypoint::indoor

True if this waypoint is indoor.

Definition at line 100 of file waypoint.h.

csArray<Waypoint*> Waypoint::links

Links to other waypoinst connected with paths from this node.

Definition at line 88 of file waypoint.h.

Location Waypoint::loc

Id and position.

Definition at line 84 of file waypoint.h.

bool Waypoint::path

True if this waypoint is a path.

Definition at line 101 of file waypoint.h.

csArray<psPath*> Waypoint::paths

Path object for each of the links.

Definition at line 91 of file waypoint.h.

Waypoint* Waypoint::pi

Hold current shortest distance to the start WP.

Definition at line 220 of file waypoint.h.

bool Waypoint::priv

True if this waypoint is private.

Definition at line 97 of file waypoint.h.

bool Waypoint::pub

True if this waypoint is public.

Definition at line 98 of file waypoint.h.

bool Waypoint::road

True if this waypoint is a road/street.

Definition at line 102 of file waypoint.h.

bool Waypoint::underground

True if this waypoint is underground.

Definition at line 95 of file waypoint.h.

bool Waypoint::underwater

True if this waypoint is underwater.

Definition at line 96 of file waypoint.h.


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