/**
         *  @brief Rotates game object based on provided axis, point and angle of rotation.
         **/
        public void RotateAround(FPVector point, FPVector axis, FP angle)
        {
            FPVector vector  = this.position;
            FPVector vector2 = vector - point;

            vector2       = FPVector.Transform(vector2, FPMatrix.AngleAxis(angle * FP.Deg2Rad, axis));
            vector        = point + vector2;
            this.position = vector;

            Rotate(axis, angle);
        }