示例#1
0
        //
        // Summary:
        //     Constructs a new non-uniform scaling transformation with a specified scaling
        //     anchor point.
        //
        // Parameters:
        //   plane:
        //     Defines the center and orientation of the scaling operation.
        //
        //   xScaleFactor:
        //     Scaling factor along the anchor plane X-Axis direction.
        //
        //   yScaleFactor:
        //     Scaling factor along the anchor plane Y-Axis direction.
        //
        //   zScaleFactor:
        //     Scaling factor along the anchor plane Z-Axis direction.
        //
        // Returns:
        //     A transformation matrix which scales geometry non-uniformly.
        public static Transform3D Scale(Plane3D plane, double xScaleFactor, double yScaleFactor, double zScaleFactor)
        {
            Transform3D Xform = Identity;

            Xform.M00 = xScaleFactor;
            Xform.M11 = yScaleFactor;
            Xform.M22 = zScaleFactor;
            return(Xform);
        }
示例#2
0
 //
 // Summary:
 //     Computes the angle on a plane between two vectors.
 //
 // Parameters:
 //   a:
 //     First vector.
 //
 //   b:
 //     Second vector.
 //
 //   plane:
 //     Two-dimensional plane on which to perform the angle measurement.
 //
 // Returns:
 //     On success, the angle (in radians) between a and b as projected onto the plane;
 //     UnsetValue on failure.
 public static double VectorAngle(Vector3D a, Vector3D b, Plane3D plane)
 {
     return(VectorAngle(a, b, plane.Normal));
 }
示例#3
0
 //
 // Summary:
 //     Constructs a Shear transformation.
 //
 // Parameters:
 //   plane:
 //     Base plane for shear.
 //
 //   x:
 //     Shearing vector along plane x-axis.
 //
 //   y:
 //     Shearing vector along plane y-axis.
 //
 //   z:
 //     Shearing vector along plane z-axis.
 //
 // Returns:
 //     A transformation matrix which shear geometry.
 public static Transform3D Shear(Plane3D plane, Vector3D x, Vector3D y, Vector3D z)
 {
     return(Identity);
 }
示例#4
0
 //
 // Summary:
 //     Construct a projection onto a plane along a specific direction.
 //
 // Parameters:
 //   plane:
 //     Plane to project onto.
 //
 //   direction:
 //     Projection direction, must not be parallel to the plane.
 //
 // Returns:
 //     Projection transformation or identity transformation if projection could not
 //     be calculated.
 public static Transform3D ProjectAlong(Plane3D plane, Vector3D direction)
 {
     return(Identity);
 }
示例#5
0
 //
 public static Transform3D PlaneToPlane(Plane3D plane0, Plane3D plane1)
 {
     return(Identity);
 }
示例#6
0
 //
 // Summary:
 //     Constructs a projection transformation.
 //
 // Parameters:
 //   plane:
 //     Plane onto which everything will be perpendicularly projected.
 //
 // Returns:
 //     A transformation matrix which projects geometry onto a specified plane.
 public static Transform3D PlanarProjection(Plane3D plane)
 {
     return(Identity);
 }
示例#7
0
 //
 // Summary:
 //     Constructs a new Mirror transformation.
 //
 // Parameters:
 //   mirrorPlane:
 //     Plane that defines the mirror orientation and position.
 //
 // Returns:
 //     A transformation matrix which mirrors geometry in a specified plane.
 public static Transform3D Mirror(Plane3D mirrorPlane)
 {
     return(Identity);
 }
示例#8
0
 //
 // Summary:
 //     Computes a change of basis transformation. A basis change is essentially a remapping
 //     of geometry from one coordinate system to another.
 //
 // Parameters:
 //   plane0:
 //     Coordinate system in which the geometry is currently described.
 //
 //   plane1:
 //     Target coordinate system in which we want the geometry to be described.
 //
 // Returns:
 //     A transformation matrix which orients geometry from one coordinate system to
 //     another on success. Transform3D.Unset on failure.
 public static Transform3D ChangeBasis(Plane3D plane0, Plane3D plane1)
 {
     return(Identity);
 }