## Model Class

    public abstract class Model extends Statics
    {
        // Constructor
        public Model();

        // Methods
        public ImageBvr getImage();
        public URL getImportBase();
        public SoundBvr getSound();
        public void setImage(ImageBvr im1);
        public void setImportBase(URL url);
        public void setSound(SoundBvr snd);

        public abstract void createModel(BvrsToRun extraBvrsToRun);
    }

The model is the set of behaviors actually sampled and displayed for an application. An instance of the Model class must be provided when constructing a DirectAnimation viewer to actually view a behavior. The Model class can also optionally set some model-specific preferences, such as rendering quality. The following example uses several methods included in the Model class to display the familiar phrase, "Hello, World."

    class MyModel extends Model {
      // Create the behaviors that will be displayed
      public void createModel(BvrsToRun extraBvrsToRun) {
        FontStyleBvr fs =
        ImageBvr tx = (toBvr("Hello, World"), fs);

        // set the image
        setImage(tx);
      }
    }

For more information about behaviors, see the Behavior class.

- Model Constructor
- Model Methods

###

Model Constructor

Model Class

Creates an Model object.

public Model( );

### Model Methods

createModel

getImage

getImportBase

getSound

setImage

setImportBase

setSound

####

createModel

Model Class

Builds the behaviors to be viewed.

public abstract void createModel(
BvrsToRun extraBvrsToRun
);

##### Parameters

extraBvrsToRun
  Behaviors that are not part of the model.

##### Remarks

Behaviors are run as soon as the model is started, and are all started at time = startTime. The developer implements this method, constructs the behaviors, sets them in the model with setImage and setSound, and returns. It is up to the DirectAnimation system to invoke this method.

####

getImage

Model Class

Returns the model's image.

public ImageBvr getImage( );

##### Return Values

Returns the ImageBvr object.

####

getImportBase

Model Class

Retrieves the current base to use for constructing URLs. If imports occur outside of an instance of Model, the base must be passed.

public URL getImportBase( );

##### Return Values

Returns the base URL of the image. For more information about java.net.URL objects, consult a Java reference.

##### Remarks

All paths should be fully qualified rather than relative. For example, instead of using:

    //This is wrong
    importImage("../im1.jpg")

use:

    //This is right
    importImage(new URL(getImportBase(), "../im1.jpg"));

####

getSound

Model Class

Return's the model's sound.

public SoundBvr getSound( );

##### Return Values

Returns the SoundBvr object.

####

setImage

Model Class

Establishes the image behavior displayed by DirectAnimation when this model is displayed. Typically called by the model inside of the createModel method provided by the application.

public void setImage(
ImageBvr im1
);

##### Parameters

im
  The ImageBvr object.

##### Remarks

See the ImageBvr class for information about image behaviors.

####

setImportBase

Model Class

Sets the default base URL for importing media files. Typically called in the DXMApplet and DXMCanvas classes to set the default base. It can also be explicitly used by the developer to set the default base.

public void setImportBase(
URL url
);

##### Parameters

url
  The default base URL. For more information about java.net.URl objects, consult a Java reference.

##### See Also

getImportBase.

####

setSound

Model Class

Establishes the sound behavior displayed by DirectAnimation when this model is displayed. Typically called by the model inside of the createModel method provided by the application.

public void setSound(
SoundBvr snd
);

##### Parameters

snd
  The SoundBvr object.

##### Remarks

See the SoundBvr class for information about sound behaviors.

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