| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# 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:

- igeom/path.h