package actor;
public class MotionChange
{
Point3D oldDirection, oldPosition, oldVelocity;
Point3D newDirection = null;
Point3D newPosition = null;
Point3D newVelocity = null;
public MotionChange() {}
public MotionChange(InvariantActor actor)
{
this(actor, null, null, null);
}
public MotionChange(
InvariantActor actor,
Point3D newPosition,
Point3D newDirection,
Point3D newVelocity)
{
this(
actor.getPosition(),
actor.getDirection(),
actor.getVelocity(),
newPosition,
newDirection,
newDirection);
}
public MotionChange(
Point3D oldPosition,
Point3D oldDirection,
Point3D oldVelocity,
Point3D newPosition,
Point3D newDirection,
Point3D newVelocity)
{
this.oldPosition = oldPosition;
this.oldDirection = oldDirection;
this.oldVelocity = oldVelocity;
this.newPosition = newPosition;
this.newDirection = newDirection;
this.newVelocity = newDirection;
}
public void setOldValues(InvariantActor actor)
{
this.oldPosition = actor.getPosition();
this.oldDirection = actor.getDirection();
this.oldVelocity = actor.getVelocity();
}
public Point3D getNewDirection()
{
return newDirection;
}
public void setNewDirection(Point3D newDirection)
{
this.newDirection = newDirection;
}
public Point3D getOldDirection()
{
return oldDirection;
}
public void setOldDirection(Point3D oldDirection)
{
this.oldDirection = oldDirection;
}
public Point3D getOldPosition()
{
return oldPosition;
}
public void setOldPosition(Point3D oldPosition)
{
this.oldPosition = oldPosition;
}
public Point3D getNewPosition()
{
return newPosition;
}
public void setNewPosition(Point3D newPosition)
{
this.newPosition = newPosition;
}
public void setNewPosition(double x, double y, double z)
{
setNewPosition(new Point3D(x, y, z));
}
public Point3D getNewVelocity()
{
return newVelocity;
}
public void setNewVelocity(Point3D newVelocity)
{
this.newVelocity = newVelocity;
}
}