Example #1
0
        public Vec3 TransformInversed(RigidTransform3 transform)
        {
            transform.rotation = transform.rotation.Conjugate();
            Vec3 result = this.Transform(transform.rotation);

            return(result);
        }
Example #2
0
        public static AffineTransform3 FromRigidTransform(RigidTransform3 transform)
        {
            AffineTransform3 result;

            result.Translation = transform.position;
            result.Transform   = Mat3.FromQuaternion(transform.rotation);
            return(result);
        }
Example #3
0
        public RigidTransform3 Invert(ref RigidTransform3 transform)
        {
            RigidTransform3 result;

            result.rotation = transform.rotation.Conjugate();
            result.position = transform.position.Transform(result.rotation);
            return(result);
        }
Example #4
0
        public RigidTransform3 Transform(RigidTransform3 transform1, RigidTransform3 transform2)
        {
            RigidTransform3 result;

            result.position  = transform1.position.Transform(transform2.rotation);
            result.position += transform2.position;
            result.rotation  = transform1.rotation.Concatenate(transform2.rotation);
            return(result);
        }
Example #5
0
        public AffineTransform3 Multiply(RigidTransform3 transform)
        {
            AffineTransform3 result;

            result.Transform    = Mat3.FromQuaternion(transform.rotation);
            result.Transform    = result.Transform.Multiply(Transform);
            result.Translation  = transform.position.Transform(Transform);
            result.Translation += Translation;
            return(result);
        }
Example #6
0
 public Vec3 Transform(RigidTransform3 transform)
 {
     return(this.Transform(transform.rotation) + transform.position);
 }
Example #7
0
 public static Mat4 FromRigidTransform(RigidTransform3 transform)
 {
     return(Mat4.FromAffineTransform(Mat3.FromQuaternion(transform.rotation), transform.position));
 }