public static void SumRotation(this Matrix3D m1, Matrix3D m2)
        {
            var r1 = new RotMatrix(m1);
            var r2 = new RotMatrix(m2);

            (r2 * r1).SetRotation(m1);
        }
Exemple #2
0
 public ViewElm Read(BinaryReader br)
 {
     // read each field
     Ehdr               = new Elm_hdr().Read(br);
     ComponentCount     = br.ReadUInt32();
     Dummy1             = br.ReadUInt32();
     RMatrix            = new RotMatrix().Read(br);
     ViewportGlobalRect = new DRectangle().Read(br);
     Origin             = new DPoint3d().Read(br);
     Delta              = new DPoint3d().Read(br);
     Y = new double[5];
     for (int i = 0; i < 5; i++)
     {
         Y[i] = br.ReadDouble();
     }
     ActiveZ    = br.ReadDouble();
     PixelRect  = new SRectangle().Read(br);
     Flags      = new ViewFlags().Read(br);
     Dummy4     = br.ReadUInt32();
     ViewNumber = br.ReadUInt32();
     ModelId    = br.ReadUInt32();
     Z          = new UInt32[8];
     for (int i = 0; i < 8; i++)
     {
         Z[i] = br.ReadUInt32();
     }
     Linkages    = V8Linkages.V8GetLinkages(br, Ehdr);
     Name        = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Name);
     Description = V8Linkages.V8GetStringLinkage(Linkages, LinkageKeyValuesString.STRING_LINKAGE_KEY_Description);
     return(this);
 }
        public static void SubRotation(this Matrix3D m1, Matrix3D m2)
        {
            var r1 = new RotMatrix(m1);
            var r2 = new RotMatrix(m2);
            var r  = r1 * r2.Invert();

            r.SetRotation(m1);
        }
        public static void SubRotation(this Matrix3D m1, ref double x, ref double y, ref double z)
        {
            var r1 = new RotMatrix(m1).Invert();

            r1.Trasform(ref x, ref y, ref z);
        }