예제 #1
0
 public static RealtimeCSG.Plane[] TransformCopy(RealtimeCSG.Plane[] planes, Matrix by)
 {
     var r = new RealtimeCSG.Plane[planes.Length];
     for (int i = 0; i < planes.Length; ++i)
         r[i] = TransformCopy(planes[i], by);
     return r;
 }
예제 #2
0
        public static RealtimeCSG.Plane[] TransformCopy(RealtimeCSG.Plane[] planes, Matrix by)
        {
            var r = new RealtimeCSG.Plane[planes.Length];

            for (int i = 0; i < planes.Length; ++i)
            {
                r[i] = TransformCopy(planes[i], by);
            }
            return(r);
        }
예제 #3
0
        public static RealtimeCSG.Plane TransformCopy(RealtimeCSG.Plane plane, Matrix by)
        {
            var lv = new Vector4(plane.A, plane.B, plane.C, plane.D);

            lv = Vector4.Transform(lv, by);
            var lv3 = new Vector3(lv.X, lv.Y, lv.Z);

            lv.W *= lv3.Length();
            lv3.Normalize();
            lv.X = lv3.X;
            lv.Y = lv3.Y;
            lv.Z = lv3.Z;
            return(new RealtimeCSG.Plane(lv.X, lv.Y, lv.Z, lv.W));
        }
예제 #4
0
 public PlanarProjection(RealtimeCSG.Plane plane, Vector3 upHint, float Scale)
 {
     this.plane  = plane;
     this.upHint = upHint;
     this.Scale  = Scale;
 }
예제 #5
0
 public PlanarProjection(RealtimeCSG.Plane plane, Vector3 upHint, float Scale)
 {
     this.plane = plane;
     this.upHint = upHint;
     this.Scale = Scale;
 }