## Transform3Bvr Class

    public class Transform3Bvr extends Behavior {

        // Methods
        public Transform3Bvr inverse();
        public BooleanBvr    isSingular();
        public Transform2Bvr parallelTransform2();

        public static Transform3Bvr newUninitBvr();

    }

Just as a Transform2Bvr transforms a two-dimensional object into another two-dimensional object, a Transform3Bvr transforms a three-dimensional object into another three-dimensional object. Other transforms include the render method, which transforms three-dimensional objects into two-dimensional objects, and the project method, which transforms a three-dimensional point into a two-dimensional point.

For more information about behaviors, see the Behavior class.

- Transform3Bvr Methods
- Relevant Methods from the Statics Class
- Relevant Fields from the Statics Class

### Transform3Bvr Methods

inverse

isSingular

parallelTransform2

newUninitBvr

####

inverse

Transform3Bvr Class

Creates a transformation behavior that is the inverse of the original transformation.

public Transform3Bvr inverse( );

##### Return Values

Returns the Transform3Bvr object.

##### Remarks

The inverse transformation is useful for removing the effects of the original transformation from a three-dimensional object. To characterize transforms of an unknown type, use isSingular.

####

isSingular

Transform3Bvr Class

Creates a boolean behavior that indicates whether the transform is singular or not. A singular transform is one that has no inverse.

public BooleanBvr isSingular( );

##### Return Values

Returns the BooleanBvr object. This object's value is true if the transform is singular; otherwise, it is false.

####

parallelTransform2

Transform3Bvr Class

Creates a Transform2Bvr object from the Transform3Bvr object.

public Transform2Bvr parallelTransform2( );

##### Return Values

Returns the Transform2Bvr object.

##### Remarks

This method is equivalent to casting an orthographic projection of the Transform3Bvr onto the X-Y plane. For predictable results, the transform must be an affine (4´3) transform rather than a perspective (4´4) transform.

####

newUninitBvr

Transform3Bvr Class

This method allows you to refer to an Transform3Bvr behavior before that behavior has been defined. With this method you can create the behavior and use it in the definition of other behaviors, but not actually define its contents until some later point. (This is accomplished with the init method, which is available on all behaviors.) The system generates a run-time error if you initialize a non-uninitialized behavior, initialize an uninitialized behavior that has already been initialized, or run an initialized behavior that has not yet been initialized.

public static Transform3Bvr newUninitBvr( );

##### Return Values

Returns the Transform3Bvr object.

### Relevant Methods from the Statics Class

The following methods are defined in the Statics class and are most relevant to objects of type Transform3Bvr.

public static Transform3Bvr compose(Transform3Bvr xf1, Transform3Bvr xf2);

public static Transform3Bvr compose3Array(Transform3Bvr[] xforms);

public static Transform3Bvr lookAtFrom(Point3Bvr from, Point3Bvr to, Vector3Bvr up);

public static Transform3Bvr rotate(Vector3Bvr axis, NumberBvr radians);

public static Transform3Bvr rotateDegrees(Vector3Bvr axis, double degrees);

public static Transform3Bvr rotateRate(Vector3Bvr axis, double radians);

public static Transform3Bvr rotateRateDegrees(Vector3Bvr axis, double degrees);

public static Transform3Bvr scale(NumberBvr sx, NumberBvr sy, NumberBvr sz);

public static Transform3Bvr scale(Vector3Bvr v);

public static Transform3Bvr scaleRate(double x, double y, double z);

public static Transform3Bvr scale3(NumberBvr uniformFactor);

public static Transform3Bvr scale3Rate(double rate);

public static Transform3Bvr transform4x4(NumberBvr[] matrix);

public static Transform3Bvr translate(NumberBvr tx, NumberBvr ty, NumberBvr tz);

public static Transform3Bvr translate(Point3Bvr loc);

public static Transform3Bvr translate(Vector3Bvr v);

public static Transform3Bvr translateRate(double x, double y, double z)

public static Transform3Bvr xShear(NumberBvr a, NumberBvr b);

public static Transform3Bvr xShearRate(double a, double b);

public static Transform3Bvr yShear(NumberBvr c, NumberBvr d);

public static Transform3Bvr yShearRate(double c, double d);

public static Transform3Bvr zShear(NumberBvr e, NumberBvr f);

public static Transform3Bvr zShearRate(double e, double f);

### Relevant Fields from the Statics Class

The following fields are defined in the Statics class and are most relevant to objects of type Transform3Bvr.

public final static Transform3Bvr identityTransform3;

© 1997 Microsoft Corporation. All rights reserved. Terms of Use.