|
Planeshift
|
#include <pspath.h>
Public Types | |
| enum | Direction { FORWARD, REVERSE } |
| typedef csPDelArray< psPathPoint > | PathPointArray |
Public Member Functions | |
| psPathPoint * | AddPoint (Location *loc, bool first=false) |
| Add a new point to the path. More... | |
| psPathPoint * | AddPoint (iDataConnection *db, const csVector3 &pos, const char *sectorName, bool first=false) |
| Add a new point to the path and update db. More... | |
| psPathPoint * | AddPoint (const csVector3 &pos, float radius, const char *sectorName, bool first=false) |
| Add a new point to the path. More... | |
| bool | Adjust (iDataConnection *db, int index, csVector3 &pos, csString sector) |
| Adjust a point in the path. More... | |
| float | CalculateIncidentAngle (csVector3 &pos, csVector3 &dest) |
| Utility function to calcualte angle to point between to points. More... | |
| bool | Create (iDataConnection *db) |
| Create a path in the db. More... | |
| virtual psPathAnchor * | CreatePathAnchor () |
| Return a path anchor to this path. More... | |
| virtual float | Distance (psWorld *world, iEngine *engine, const csVector3 &pos, const iSector *sector, int *index=NULL, float *fraction=NULL) const |
| Calculate distance from point to path. More... | |
| virtual float | DistancePoint (psWorld *world, iEngine *engine, const csVector3 &pos, const iSector *sector, int *index=NULL, bool include_ends=false) const |
| Calculate distance from point to path points. More... | |
| psPathPoint * | FindPoint (int id) |
| Get Path Point by id. More... | |
| int | FindPointIndex (int id) const |
| Get Path Point index by id. More... | |
| int | FindPointIndex (const psPathPoint *point) const |
| Get Path Point index by point. More... | |
| size_t | FindPointsInSector (iEngine *engine, iSector *sector, csList< psPathPoint * > &list) |
| Get all points in the given sector for this path. More... | |
| psPathPoint * | GetEndPoint (Direction direction) |
| Get the end point. More... | |
| csVector3 | GetEndPos (Direction direction) |
| Get the end point position. More... | |
| float | GetEndRot (Direction direction) |
| Get the end rotation. More... | |
| iSector * | GetEndSector (iEngine *engine, Direction direction) |
| Get the end sector. More... | |
| Waypoint * | GetEndWaypoint (Direction direction) |
| Get the end waypoint. More... | |
| csString | GetFlags () const |
| Return a string of flags. More... | |
| int | GetID () const |
| Get ID of the path. More... | |
| virtual float | GetLength (psWorld *world, iEngine *engine, int index) |
| Get the length of one segment of the path. More... | |
| virtual float | GetLength (psWorld *world, iEngine *engine) |
| Get the total length of all path segments. More... | |
| virtual const char * | GetName () const |
| Get name of the path. More... | |
| virtual int | GetNumPoints () const |
| Get number of points in path. More... | |
| psPathPoint * | GetPoint (int index) |
| const psPathPoint * | GetPoint (int index) const |
| psPathPoint * | GetStartPoint (Direction direction) |
| Get the start point. More... | |
| Waypoint * | GetStartWaypoint (Direction direction) |
| Get the start waypoint. More... | |
| psPathPoint * | InsertPoint (iDataConnection *db, int index, const csVector3 &pos, const char *sectorName) |
| Insert a new point to the path and update db. More... | |
| bool | Load (iDataConnection *db, iEngine *engine) |
| Load the path from the db. More... | |
| virtual void | Precalculate (psWorld *world, iEngine *engine, bool forceUpdate=false) |
| Precalculate values needed for anchors. More... | |
| psPath (csString name, Waypoint *wp1, Waypoint *wp2, psString flagStr) | |
| psPath (int pathID, csString name, psString flagStr) | |
| bool | RemovePoint (iDataConnection *db, int index) |
| Remova a point from the path and update db. More... | |
| bool | RemovePoint (int index) |
| Remova a point from the path. More... | |
| bool | RemovePoint (iDataConnection *db, psPathPoint *point) |
| Remova a point from the path and update db. More... | |
| bool | Rename (iDataConnection *db, const char *name) |
| Rename the path and update the db. More... | |
| void | Rename (const char *name) |
| Rename the path. More... | |
| void | SetEnd (Waypoint *wp) |
| Set the end of the path. More... | |
| bool | SetFlag (iDataConnection *db, const csString &flagstr, bool enable) |
| Set the flags from a string and update the db. More... | |
| bool | SetFlag (const csString &flagstr, bool enable) |
| Set the flags from a string. More... | |
| void | SetFlags (const psString &flagStr) |
| Set the flags from a string. More... | |
| void | SetStart (Waypoint *wp) |
| Set the start of the path. More... | |
| bool | UpdatePrevPointIndexes (iDataConnection *db) |
| Update the indexes, after insert and removal of points. More... | |
| virtual | ~psPath () |
Public Attributes | |
| Waypoint * | end |
| This path end waypoint. More... | |
| int | id |
| csString | name |
| bool | noWander |
| bool | oneWay |
| Flags. More... | |
| PathPointArray | points |
| The points this path consists of including start wp and end wp. More... | |
| bool | precalculationValid |
| Waypoint * | start |
| This path start waypoint. More... | |
| bool | teleport |
| Teleport between the waypoints. More... | |
| float | totalDistance |
Protected Member Functions | |
| virtual void | GetInterpolatedForward (int index, float fraction, csVector3 &forward)=0 |
| Get the interpolated forward vector. More... | |
| virtual void | GetInterpolatedPosition (int index, float fraction, csVector3 &pos)=0 |
| Get the interpolated position. More... | |
| virtual void | GetInterpolatedUp (int index, float fraction, csVector3 &up)=0 |
| Get the interpolated up vector. More... | |
| virtual void | PrecalculatePath (psWorld *world, iEngine *engine)=0 |
| Do the actual precalculate work. More... | |
| typedef csPDelArray<psPathPoint> psPath::PathPointArray |
| enum psPath::Direction |
|
virtual |
| psPathPoint* psPath::AddPoint | ( | Location * | loc, |
| bool | first = false |
||
| ) |
Add a new point to the path.
| psPathPoint* psPath::AddPoint | ( | iDataConnection * | db, |
| const csVector3 & | pos, | ||
| const char * | sectorName, | ||
| bool | first = false |
||
| ) |
Add a new point to the path and update db.
| psPathPoint* psPath::AddPoint | ( | const csVector3 & | pos, |
| float | radius, | ||
| const char * | sectorName, | ||
| bool | first = false |
||
| ) |
Add a new point to the path.
| bool psPath::Adjust | ( | iDataConnection * | db, |
| int | index, | ||
| csVector3 & | pos, | ||
| csString | sector | ||
| ) |
Adjust a point in the path.
| float psPath::CalculateIncidentAngle | ( | csVector3 & | pos, |
| csVector3 & | dest | ||
| ) |
Utility function to calcualte angle to point between to points.
| bool psPath::Create | ( | iDataConnection * | db | ) |
Create a path in the db.
|
virtual |
Return a path anchor to this path.
|
virtual |
Calculate distance from point to path.
|
virtual |
Calculate distance from point to path points.
| psPathPoint* psPath::FindPoint | ( | int | id | ) |
Get Path Point by id.
| int psPath::FindPointIndex | ( | const psPathPoint * | point | ) | const |
Get Path Point index by point.
| size_t psPath::FindPointsInSector | ( | iEngine * | engine, |
| iSector * | sector, | ||
| csList< psPathPoint * > & | list | ||
| ) |
Get all points in the given sector for this path.
| psPathPoint* psPath::GetEndPoint | ( | Direction | direction | ) |
Get the end point.
| csVector3 psPath::GetEndPos | ( | Direction | direction | ) |
Get the end point position.
| iSector* psPath::GetEndSector | ( | iEngine * | engine, |
| Direction | direction | ||
| ) |
Get the end sector.
| csString psPath::GetFlags | ( | ) | const |
Return a string of flags.
|
protectedpure virtual |
Get the interpolated forward vector.
Implemented in psLinearPath.
|
protectedpure virtual |
Get the interpolated position.
Implemented in psLinearPath.
|
protectedpure virtual |
Get the interpolated up vector.
Implemented in psLinearPath.
Get the length of one segment of the path.
Get the total length of all path segments.
|
inlinevirtual |
|
inlinevirtual |
| psPathPoint* psPath::GetPoint | ( | int | index | ) |
| const psPathPoint* psPath::GetPoint | ( | int | index | ) | const |
| psPathPoint* psPath::GetStartPoint | ( | Direction | direction | ) |
Get the start point.
| psPathPoint* psPath::InsertPoint | ( | iDataConnection * | db, |
| int | index, | ||
| const csVector3 & | pos, | ||
| const char * | sectorName | ||
| ) |
Insert a new point to the path and update db.
| bool psPath::Load | ( | iDataConnection * | db, |
| iEngine * | engine | ||
| ) |
Load the path from the db.
|
virtual |
Precalculate values needed for anchors.
|
protectedpure virtual |
Do the actual precalculate work.
Implemented in psLinearPath.
| bool psPath::RemovePoint | ( | iDataConnection * | db, |
| int | index | ||
| ) |
Remova a point from the path and update db.
| bool psPath::RemovePoint | ( | int | index | ) |
Remova a point from the path.
| bool psPath::RemovePoint | ( | iDataConnection * | db, |
| psPathPoint * | point | ||
| ) |
Remova a point from the path and update db.
| bool psPath::Rename | ( | iDataConnection * | db, |
| const char * | name | ||
| ) |
Rename the path and update the db.
| void psPath::Rename | ( | const char * | name | ) |
Rename the path.
| void psPath::SetEnd | ( | Waypoint * | wp | ) |
Set the end of the path.
| bool psPath::SetFlag | ( | iDataConnection * | db, |
| const csString & | flagstr, | ||
| bool | enable | ||
| ) |
Set the flags from a string and update the db.
| bool psPath::SetFlag | ( | const csString & | flagstr, |
| bool | enable | ||
| ) |
Set the flags from a string.
| void psPath::SetFlags | ( | const psString & | flagStr | ) |
Set the flags from a string.
| void psPath::SetStart | ( | Waypoint * | wp | ) |
Set the start of the path.
| bool psPath::UpdatePrevPointIndexes | ( | iDataConnection * | db | ) |
Update the indexes, after insert and removal of points.
| PathPointArray psPath::points |