public Transformation(ATN.Utils.MathExt.Numerical.Coordinate pos, Rotation rm, string order = "xyz")
        {
            position = pos;

            rotationMatrix = rm.ToRotationMatrices(order);

            hasMatrix = true;
        }
        public Transformation(ATN.Utils.MathExt.Numerical.Coordinate pos, RotationMatrix rm)
        {
            position = pos;

            rotationMatrix = rm;

            hasMatrix = true;
        }
        public Transformation(double X, double Y, double Z, double Phi, double Teta, double Psi, string order = "xyz")
        {
            position = new ATN.Utils.MathExt.Numerical.Coordinate(X, Y, Z);
            rotation = new ATN.Utils.MathExt.Numerical.Rotation(Phi, Teta, Psi);

            rotationMatrix = new RotationMatrix(rotation, order);

            hasEuler  = true;
            hasMatrix = true;
        }