18 #ifndef INCLUDED_ICMPPOSITION
19 #define INCLUDED_ICMPPOSITION
179 #endif // INCLUDED_ICMPPOSITION
A simple fixed-point number class.
virtual CFixedVector3D GetPreviousPosition()=0
Returns the previous turn's x,y,z position (no interpolation).
virtual CFixedVector3D GetRotation()=0
Returns the current rotation (relative to the upwards axis), as Euler angles with X=pitch...
Represents an entity's position in the world (plus its orientation).
virtual CMatrix3D GetInterpolatedTransform(float frameOffset, bool forceFloating)=0
Get the current interpolated transform matrix, for rendering.
virtual bool IsInWorld()=0
Returns true if the entity currently exists at a defined position in the world.
virtual CFixedVector2D GetPreviousPosition2D()=0
Returns the previous turn's x,z position (no interpolation).
virtual void MoveOutOfWorld()=0
Causes IsInWorld to return false.
virtual fixed GetDistanceTravelled()=0
Returns the distance that the unit will be interpolated over, i.e.
virtual void SetYRotation(entity_angle_t y)=0
Rotate immediately to the given angle around the upwards axis.
virtual void TurnTo(entity_angle_t y)=0
Rotate smoothly to the given angle around the upwards axis.
virtual CFixedVector2D GetPosition2D()=0
Returns the current x,z position (no interpolation).
#define DECLARE_INTERFACE_TYPE(iname)
virtual void MoveTo(entity_pos_t x, entity_pos_t z)=0
Move smoothly to the given location.
virtual void GetInterpolatedPosition2D(float frameOffset, float &x, float &z, float &rotY)=0
Get the current interpolated 2D position and orientation, for rendering.
virtual CFixedVector3D GetPosition()=0
Returns the current x,y,z position (no interpolation).
virtual void JumpTo(entity_pos_t x, entity_pos_t z)=0
Move immediately to the given location, with no interpolation.
virtual entity_pos_t GetHeightOffset()=0
Returns the current vertical offset above the terrain/water surface.
virtual void SetHeightOffset(entity_pos_t dy)=0
Set the vertical offset above the terrain/water surface.
virtual void SetHeightFixed(entity_pos_t y)=0
Set the vertical position as a fixed, absolute value.
virtual void SetXZRotation(entity_angle_t x, entity_angle_t z)=0
Rotate immediately to the given angles around the X (pitch) and Z (roll) axes.
virtual bool IsFloating()=0
Returns whether the entity floats on water.