edu.washington.biostr.sig.brainj3d.view3D
Class BranchGroupSurface3DView

java.lang.Object
  extended by edu.washington.biostr.sig.brainj3d.data.DefaultDataView<SharedGroupData>
      extended by edu.washington.biostr.sig.brainj3d.view3D.BranchGroupSurface3DView
All Implemented Interfaces:
DataView, Surface3DView, View3D

public class BranchGroupSurface3DView
extends DefaultDataView<SharedGroupData>
implements Surface3DView

Title:

Description:

Copyright: Copyright (c) 2003

Company:

Version:
1.0
Author:
not attributable

Field Summary
 
Fields inherited from interface edu.washington.biostr.sig.brainj3d.model.Surface3DView
AMBIENT, DIFFUSE, EMISSIVE, INVERT, SCREEN_DOOR, SPECULAR, TRANSPARENCY, VERTEX_COLORS
 
Constructor Summary
BranchGroupSurface3DView()
           
BranchGroupSurface3DView(FileGroup key, SharedGroupData base)
           
 
Method Summary
 boolean canChange()
          If anything in this node can change, return true.
 boolean canChangeAppearance()
          Discover whether or not this object supports changing the appearance.
 boolean canChangeColors()
          Determine whether or not the we can set the colors for individual points.
 boolean canChangeNormals()
          Determine whether or not the we can set the colors for individual points.
 boolean canChangeVertices()
          Determine whether or not the we can set the colors for individual points.
 boolean canPick()
          If this object allows picking to select it, return this.
 boolean canPickGeometry()
          If we can do a detailed pick on this object and geometry (to determine the exact location on the model of the pick), this should be set to true.
 boolean canSwitchColors()
          If the view supports changing between per vertex color and appearance mode, this should return true.
 javax.media.j3d.Appearance getAppearance()
          Get the appearance used by this view if a single appearance exists.
 DataController getController(DataKey dataKey, DoTarget target)
          Get the controller for this DataView.
 javax.media.j3d.GeometryArray[] getGeoArrays()
           
 javax.media.j3d.BranchGroup getNode()
          In order to display 3D Models we need to have a node that represents an object or set of objects.
 javax.media.j3d.BranchGroup[] getNodesToDetach()
          Get all of the nodes to detach.
 String getSpace()
           
 javax.media.j3d.Transform3D getSpaceTransform()
           
 String getUnit()
           
 String getViewName()
          Get a name that should identify this type of view, but not this individual view.
 boolean isPlane3D()
          If the object is a cutawaynode, return true.
 void setData(FileGroup dataKey, Data data)
          Initialize this view with the given data and the specified meta data (in the form of a map of tags).
throw an ImmutableException if it is called more than once.
protected  boolean setParameter(String parameter, Object value, Object oldValue, boolean beLazy)
          Set a parameter.
 void setSpaceTransform(String newSpace, javax.media.j3d.Transform3D trans)
           
 void setUnit(String newUnit)
           
 void setUseColors(boolean useColors)
          Sometimes a view can decide whether or not to use explicit colors for each vertex or the material color.
 boolean supportsAlternateAppearance()
          If we can set the alternate appearance in order to select this object, this should be true.
 
Methods inherited from class edu.washington.biostr.sig.brainj3d.data.DefaultDataView
addedToModel, equals, getCastData, getData, getDataKey, getInterval, getKey, getMaxTime, getMinTime, getParameter, getParameters, getTarget, hashCode, hasTime, removedFromModel, setDefaultParameters, setParameter, setParameter, setParameters, setTarget, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface edu.washington.biostr.sig.brainj3d.data.DataView
addedToModel, getData, getDataKey, getInterval, getKey, getMaxTime, getMinTime, getParameters, getTarget, hasTime, removedFromModel, setDefaultParameters, setParameter, setParameters, setTarget
 

Constructor Detail

BranchGroupSurface3DView

public BranchGroupSurface3DView()

BranchGroupSurface3DView

public BranchGroupSurface3DView(FileGroup key,
                                SharedGroupData base)
Method Detail

getNode

public javax.media.j3d.BranchGroup getNode()
Description copied from interface: Surface3DView
In order to display 3D Models we need to have a node that represents an object or set of objects. Since this view will not only be added to a single parent, you should return the same node each time this is called. It may be compiled or made live after being returned so all capabilities that need to be set should be set before the object is returned.

Specified by:
getNode in interface Surface3DView
Returns:

getAppearance

public javax.media.j3d.Appearance getAppearance()
Description copied from interface: Surface3DView
Get the appearance used by this view if a single appearance exists.

Specified by:
getAppearance in interface Surface3DView
Returns:
null if a single appearance doesn't exist, the appearance otherwise

canChangeAppearance

public boolean canChangeAppearance()
Description copied from interface: Surface3DView
Discover whether or not this object supports changing the appearance. If it does, the appearance returned from getAppearance should be modifiable.

Specified by:
canChangeAppearance in interface Surface3DView
Returns:

canChangeColors

public boolean canChangeColors()
Description copied from interface: Surface3DView
Determine whether or not the we can set the colors for individual points.

Specified by:
canChangeColors in interface Surface3DView
Returns:

canChangeNormals

public boolean canChangeNormals()
Description copied from interface: Surface3DView
Determine whether or not the we can set the colors for individual points.

Specified by:
canChangeNormals in interface Surface3DView
Returns:

canChangeVertices

public boolean canChangeVertices()
Description copied from interface: Surface3DView
Determine whether or not the we can set the colors for individual points.

Specified by:
canChangeVertices in interface Surface3DView
Returns:

canChange

public boolean canChange()
Description copied from interface: Surface3DView
If anything in this node can change, return true. The node must also have all of the capabilities set properly
setCapability(BranchGroup.ALLOW_CHILDREN_WRITE) is recommended.

Specified by:
canChange in interface Surface3DView
Returns:

canPick

public boolean canPick()
Description copied from interface: Surface3DView
If this object allows picking to select it, return this.

Specified by:
canPick in interface Surface3DView
Returns:
See Also:
PickTools.INTERSECT_TEST

canPickGeometry

public boolean canPickGeometry()
Description copied from interface: Surface3DView
If we can do a detailed pick on this object and geometry (to determine the exact location on the model of the pick), this should be set to true.

Specified by:
canPickGeometry in interface Surface3DView
Returns:
See Also:
PickTools.INTERSECT_FULL

isPlane3D

public boolean isPlane3D()
Description copied from interface: Surface3DView
If the object is a cutawaynode, return true.

Specified by:
isPlane3D in interface Surface3DView
Returns:

supportsAlternateAppearance

public boolean supportsAlternateAppearance()
Description copied from interface: Surface3DView
If we can set the alternate appearance in order to select this object, this should be true.

Specified by:
supportsAlternateAppearance in interface Surface3DView
Returns:

setUseColors

public void setUseColors(boolean useColors)
Description copied from interface: Surface3DView
Sometimes a view can decide whether or not to use explicit colors for each vertex or the material color. If it supports these behaviors, this should switch between them. Otherwise it should return quietly.

Specified by:
setUseColors in interface Surface3DView

canSwitchColors

public boolean canSwitchColors()
Description copied from interface: Surface3DView
If the view supports changing between per vertex color and appearance mode, this should return true.

Specified by:
canSwitchColors in interface Surface3DView
Returns:

getGeoArrays

public javax.media.j3d.GeometryArray[] getGeoArrays()
Specified by:
getGeoArrays in interface Surface3DView

setUnit

public void setUnit(String newUnit)
Specified by:
setUnit in interface View3D

getUnit

public String getUnit()
Specified by:
getUnit in interface View3D

getSpace

public String getSpace()
Specified by:
getSpace in interface View3D

setSpaceTransform

public void setSpaceTransform(String newSpace,
                              javax.media.j3d.Transform3D trans)
Specified by:
setSpaceTransform in interface View3D

getSpaceTransform

public javax.media.j3d.Transform3D getSpaceTransform()
Specified by:
getSpaceTransform in interface View3D

getController

public DataController getController(DataKey dataKey,
                                    DoTarget target)
Description copied from interface: DataView
Get the controller for this DataView.

Specified by:
getController in interface DataView
target - The target or null if the target remains unchanged
Returns:

setData

public void setData(FileGroup dataKey,
                    Data data)
             throws ClassCastException
Description copied from interface: DataView
Initialize this view with the given data and the specified meta data (in the form of a map of tags).
throw an ImmutableException if it is called more than once. If the data is an inappropriate type, this should throw a ClassCastException. Acceptable types should be clearly documented.

Specified by:
setData in interface DataView
Overrides:
setData in class DefaultDataView<SharedGroupData>
Throws:
ClassCastException - if data's class is the wrong type.

getNodesToDetach

public javax.media.j3d.BranchGroup[] getNodesToDetach()
Description copied from interface: Surface3DView
Get all of the nodes to detach. This is called immediately after removedFromModel

Specified by:
getNodesToDetach in interface Surface3DView
Returns:

setParameter

protected boolean setParameter(String parameter,
                               Object value,
                               Object oldValue,
                               boolean beLazy)
Description copied from class: DefaultDataView
Set a parameter. When a bulk set is performed, this is called multiple times.
Default implementation just returns false.

Overrides:
setParameter in class DefaultDataView<SharedGroupData>
Returns:
true if anything changed.

getViewName

public String getViewName()
Description copied from interface: DataView
Get a name that should identify this type of view, but not this individual view.

Specified by:
getViewName in interface DataView
Returns:


Copyright © 2006 University of Washington. All Rights Reserved.