Пример #1
0
 public static BoxPosition Transform(BoxPosition boxPosition, Transform3D transform)
 {
     if (!boxPosition.IsValid)
         throw new Exception("Invalid box position : can not transform");
     return new BoxPosition(
         transform.transform(boxPosition.Position)
         , HalfAxis.ToHalfAxis(transform.transformRot(HalfAxis.ToVector3D(boxPosition.DirectionLength)))
         , HalfAxis.ToHalfAxis(transform.transformRot(HalfAxis.ToVector3D(boxPosition.DirectionWidth)))
         );
 }
Пример #2
0
 public CylPosition Transform(Transform3D transf)
 {
     return new CylPosition(
         transf.transform(_vPosition),
         HalfAxis.ToHalfAxis(transf.transformRot(HalfAxis.ToVector3D(_axis)))
         );
 }
 public static CylPosition Transform(CylPosition cylPosition, Transform3D transform)
 {
     return new CylPosition(
         transform.transform(cylPosition._vPosition),
         HalfAxis.ToHalfAxis(
             transform.transformRot(HalfAxis.ToVector3D(cylPosition._axis))
             )
         );
 }
Пример #4
0
 public static HAxis Transform(HAxis axis, Transform3D transform)
 {
     return HalfAxis.ToHalfAxis(transform.transformRot(HalfAxis.ToVector3D(axis)));
 }
Пример #5
0
 public static DimensionCube Transform(DimensionCube dimCube, Transform3D transform)
 {
     Vector3D pos = transform.transform(dimCube._position);
     Vector3D dim = transform.transformRot(new Vector3D(dimCube._dim) );
     if (dim.X < 0) { pos.X += dim.X; dim.X = -dim.X; }
     if (dim.Y < 0) { pos.Y += dim.Y; dim.Y = -dim.Y; }
     if (dim.Z < 0) { pos.Z += dim.Z; dim.Z = -dim.Z; }
     return new DimensionCube(pos, dim.X, dim.Y, dim.Z, dimCube.Color, dimCube._above);
 }