# iPath Struct Reference [Geometry utilities]

A path in 3D. More...

`#include <igeom/path.h>`

Inheritance diagram for iPath:

[legend]

List of all members.

## Public Member Functions

virtual void CalculateAtTime (float time)=0
Calculate internal values for this spline given some time value.
virtual int GetCurrentIndex ()=0
Get the index of the current point we are in (valid after Calculate()).
virtual void GetForwardVector (int idx, csVector3 &v)=0
Get one forward vector.
virtual void GetInterpolatedForward (csVector3 &pos)=0
Get the interpolated forward vector.
virtual void GetInterpolatedPosition (csVector3 &pos)=0
Get the interpolated position.
virtual void GetInterpolatedUp (csVector3 &pos)=0
Get the interpolated up vector.
virtual void GetPositionVector (int idx, csVector3 &v)=0
Get one position vector.
virtual float GetTime (int idx)=0
Get one time value.
virtual void GetUpVector (int idx, csVector3 &v)=0
Get one up vector.
virtual int Length ()=0
Return the number of points defining the path.
virtual void SetForwardVector (int idx, const csVector3 &v)=0
Set one forward vector.
virtual void SetForwardVectors (csVector3 *v)=0
Set the forward vectors (dimensions 6 to 8).
virtual void SetPositionVector (int idx, const csVector3 &v)=0
Set one position vector.
virtual void SetPositionVectors (csVector3 *v)=0
Set the position vectors (first three dimensions of the cubic spline).
virtual void SetTime (int idx, float t)=0
Set one time value.
virtual void SetUpVector (int idx, const csVector3 &v)=0
Set one up vector.
virtual void SetUpVectors (csVector3 *v)=0
Set the up vectors (dimensions 3 to 5).

## Detailed Description

A path in 3D.

An object or camera can use this object to trace a path in 3D. This is particularly useful in combination with csReversibleTransform::LookAt().

Definition at line 39 of file path.h.

## Member Function Documentation

 virtual void iPath::CalculateAtTime ( float time ) ` [pure virtual]`

Calculate internal values for this spline given some time value.

Implemented in csPath.

 virtual int iPath::GetCurrentIndex ( ) ` [pure virtual]`

Get the index of the current point we are in (valid after Calculate()).

Implemented in csPath.

 virtual void iPath::GetForwardVector ( int idx, csVector3 & v ) ` [pure virtual]`

Get one forward vector.

Implemented in csPath.

 virtual void iPath::GetInterpolatedForward ( csVector3 & pos ) ` [pure virtual]`

Get the interpolated forward vector.

Implemented in csPath.

 virtual void iPath::GetInterpolatedPosition ( csVector3 & pos ) ` [pure virtual]`

Get the interpolated position.

Implemented in csPath.

 virtual void iPath::GetInterpolatedUp ( csVector3 & pos ) ` [pure virtual]`

Get the interpolated up vector.

Implemented in csPath.

 virtual void iPath::GetPositionVector ( int idx, csVector3 & v ) ` [pure virtual]`

Get one position vector.

Implemented in csPath.

 virtual float iPath::GetTime ( int idx ) ` [pure virtual]`

Get one time value.

Implemented in csPath.

 virtual void iPath::GetUpVector ( int idx, csVector3 & v ) ` [pure virtual]`

Get one up vector.

Implemented in csPath.

 virtual int iPath::Length ( ) ` [pure virtual]`

Return the number of points defining the path.

Calling this GetPointCount as in the real classes causes MANY ambiguous function call errors in msvc7.

Implemented in csPath.

 virtual void iPath::SetForwardVector ( int idx, const csVector3 & v ) ` [pure virtual]`

Set one forward vector.

Implemented in csPath.

 virtual void iPath::SetForwardVectors ( csVector3 * v ) ` [pure virtual]`

Set the forward vectors (dimensions 6 to 8).

Implemented in csPath.

 virtual void iPath::SetPositionVector ( int idx, const csVector3 & v ) ` [pure virtual]`

Set one position vector.

Implemented in csPath.

 virtual void iPath::SetPositionVectors ( csVector3 * v ) ` [pure virtual]`

Set the position vectors (first three dimensions of the cubic spline).

Implemented in csPath.

 virtual void iPath::SetTime ( int idx, float t ) ` [pure virtual]`

Set one time value.

Implemented in csPath.

 virtual void iPath::SetUpVector ( int idx, const csVector3 & v ) ` [pure virtual]`

Set one up vector.

Implemented in csPath.

 virtual void iPath::SetUpVectors ( csVector3 * v ) ` [pure virtual]`

Set the up vectors (dimensions 3 to 5).

Implemented in csPath.

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

Generated for Crystal Space 1.2.1 by doxygen 1.5.3