//Transforms direction from world space to local space.
        public Fix64Vec3 InverseTransfromDirction(Fix64Vec3 direction)
        {
            Fix64Mat4x4 m = worldToLocalMatrix;
            Fix64Vec3   p = m.MultiplyVector(direction);

            return(p);
        }
        //Transforms position from world space to local space.
        public Fix64Vec3 InverseTransformPoint(Fix64Vec3 position)
        {
            Fix64Mat4x4 m = worldToLocalMatrix;
            Fix64Vec3   p = m.MultiplyPoint3x4(position);

            return(p);
        }
        public Fix64Vec3 TransformDirectionUnscaled(Fix64Vec3 direction)
        {
            Fix64Mat4x4 m = localToWorldMatrixUnscaled;
            Fix64Vec3   p = m.MultiplyVector(direction);

            return(p);
        }
        public Fix64Vec3 TransformPointUnscaled(Fix64Vec3 position)
        {
            Fix64Mat4x4 m = localToWorldMatrixUnscaled;
            Fix64Vec3   p = m.MultiplyPoint3x4(position);

            return(p);
        }