# Class ViewPlatformBehavior

java.lang.Object
javax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Leaf
javax.media.j3d.Behavior
com.sun.j3d.utils.behaviors.vp.ViewPlatformBehavior

Direct Known Subclasses:
  `ViewPlatformAWTBehavior, WandViewBehavior`

public abstract class ViewPlatformBehavior extends Behavior
Abstract class for ViewPlatformBehaviors. A ViewPlatformBehavior must be added to the ViewingPlatform with the ViewingPlatform.addViewPlatformBehavior() method. The ViewPlatformBehavior will operate on the ViewPlatform transform (the TransformGroup return by ViewingPlatform.getViewPlatformTransform()).

Since:
  Java 3D 1.2.1

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Transform3D`
`homeTransform`
The "home" transform for this behavior.
`protected TransformGroup`
`targetTG`
The target TransformGroup for this behavior.
`protected ViewingPlatform`
`vp`
The ViewingPlatform for this behavior.

### Fields inherited from class Node

`ALLOW_AUTO_COMPUTE_BOUNDS_READ, ALLOW_AUTO_COMPUTE_BOUNDS_WRITE, ALLOW_BOUNDS_READ, ALLOW_BOUNDS_WRITE, ALLOW_COLLIDABLE_READ, ALLOW_COLLIDABLE_WRITE, ALLOW_LOCAL_TO_VWORLD_READ, ALLOW_LOCALE_READ, ALLOW_PARENT_READ, ALLOW_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING`

## Constructor Summary

Constructors
Constructor
Description
`ViewPlatformBehavior()`

## Method Summary

Modifier and Type
Method
Description
`void`
`getHomeTransform(Transform3D home)`
Returns the behaviors "home" transform.
`ViewingPlatform`
`getViewingPlatform()`
Returns the ViewingPlatform for this behavior
`void`
`goHome()`
Positions and reorients the ViewingPlatform to its "home" transform.
`void`
`setHomeTransform(Transform3D home)`
Copies the given Transform3D into the "home" transform, used to position and reorient the ViewingPlatform to a known point of interest.
`void`
`setViewingPlatform(ViewingPlatform vp)`
Sets the ViewingPlatform for this behavior.

### Methods inherited from class Behavior

`getEnable, getNumSchedulingIntervals, getSchedulingBoundingLeaf, getSchedulingBounds, getSchedulingInterval, getView, getWakeupCondition, initialize, postId, processStimulus, setEnable, setSchedulingBoundingLeaf, setSchedulingBounds, setSchedulingInterval, updateNodeReferences, wakeupOn`

### Methods inherited from class Node

`cloneNode, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, getBoundsAutoCompute, getCollidable, getLocale, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable`

### Methods inherited from class SceneGraphObject

`clearCapability, clearCapabilityIsFrequent, duplicateSceneGraphObject, getCapability, getCapabilityIsFrequent, getName, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setName, setUserData, toString`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### vp

protected ViewingPlatform vp
The ViewingPlatform for this behavior.

### targetTG

protected TransformGroup targetTG
The target TransformGroup for this behavior.

### homeTransform

protected Transform3D homeTransform
The "home" transform for this behavior. This is a transform used to position and orient the ViewingPlatform to a known point of interest.

Since:
  Java 3D 1.3

## Constructor Details

### ViewPlatformBehavior

public ViewPlatformBehavior()

## Method Details

### setViewingPlatform

public void setViewingPlatform(ViewingPlatform vp)
Sets the ViewingPlatform for this behavior. This method is called by the ViewingPlatform. If a sub-calls overrides this method, it must call super.setViewingPlatform(vp).

NOTE: Applications should not call this method.

Parameters:
  `vp` - the target ViewingPlatform for this behavior

### getViewingPlatform

public ViewingPlatform getViewingPlatform()
Returns the ViewingPlatform for this behavior

Returns:
  the ViewingPlatform for this behavior

### setHomeTransform

public void setHomeTransform(Transform3D home)
Copies the given Transform3D into the "home" transform, used to position and reorient the ViewingPlatform to a known point of interest.

Parameters:
  `home` - source transform to be copied
Since:
  Java 3D 1.3

### getHomeTransform

public void getHomeTransform(Transform3D home)
Returns the behaviors "home" transform.

Parameters:
  `home` - transform to be returned
Since:
  Java 3D 1.3

### goHome

public void goHome()
Positions and reorients the ViewingPlatform to its "home" transform.

Since:
  Java 3D 1.3