## Public API Reference

- Main Page
- Classes
- Files

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

# iPcMovable Struct Reference

Control moving an iPcMesh. More...

`#include <propclass/move.h>`

List of all members.

## Public Member Functions

virtual void | AddConstraint (iPcMovableConstraint *constraint)=0
| Add a constraint.
virtual iPcMesh * | GetMesh ()=0
| Get the current mesh on which we're working.
virtual int | Move (const csVector3 &relpos)=0
| Relative move.
virtual int | Move (iSector *sector, const csVector3 &pos)=0
| Move object while checking constraints.
virtual void | RemoveAllConstraints ()=0
| Remove all constraints.
virtual void | RemoveConstraint (iPcMovableConstraint *constraint)=0
| Remove a constraint.
virtual void | SetMesh (iPcMesh *mesh)=0
| Set mesh to move.

## Detailed Description

Control moving an iPcMesh.

Definition at line 46 of file move.h.

## Member Function Documentation

virtual void iPcMovable::AddConstraint | ( | iPcMovableConstraint * | constraint | ) | `[pure virtual]`

| Add a constraint.

virtual iPcMesh* iPcMovable::GetMesh | ( |  | ) | `[pure virtual]`

| Get the current mesh on which we're working.

virtual int iPcMovable::Move | ( | const csVector3 & | relpos | ) | `[pure virtual]`

Relative move.

Check constraints too. This function will correctly update the current sector if a portal is traversed. Returns:

- CEL_MOVE_FAIL: if no movement was possible.
- CEL_MOVE_SUCCEED: if movement was possible.
- CEL_MOVE_PARTIAL: if object could move partially.

virtual int iPcMovable::Move | ( | iSector * | sector,
|  | const csVector3 & | pos
| ) | `[pure virtual]`

Move object while checking constraints.

This routine will ignore the previous position and will just check if it is possible to move to the given position. Returns:

- CEL_MOVE_FAIL: if no movement was possible.
- CEL_MOVE_SUCCEED: if movement was possible.

virtual void iPcMovable::RemoveAllConstraints | ( |  | ) | `[pure virtual]`

| Remove all constraints.

virtual void iPcMovable::RemoveConstraint | ( | iPcMovableConstraint * | constraint | ) | `[pure virtual]`

| Remove a constraint.

virtual void iPcMovable::SetMesh | ( | iPcMesh * | mesh | ) | `[pure virtual]`

| Set mesh to move. If not set a default mesh will be found from the parent entity.

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

- propclass/move.h