simbad.sim
Class BaseObject

java.lang.Object
  extended by simbad.sim.BaseObject
Direct Known Subclasses:
Device, SimpleAgent, StaticObject

abstract class BaseObject
extends java.lang.Object

Base class for all objects added in the environment. It mainly contains the translation and rotation transform groups- Descendants should override create3D and call super.create3D().


Field Summary
(package private) static javax.vecmath.Color3f black
          A prepared color
(package private)  javax.media.j3d.BranchGroup branchGroup
          Branch group corresponding to this object
(package private)  boolean canBeTraversed
          if true the object can be traversed - no collision
(package private)  boolean compilable
          Indicates that the wall object branch can be compiled to optimize sceneGraph
protected  boolean detachedFromSceneGraph
          indicates that the object is detached from the scenegraph.
(package private)  javax.media.j3d.Group group
          A Group to attach all sub objects.
protected  javax.media.j3d.Bounds localBounds
          keep direct pointer onto bounds object associated to group node.
(package private)  javax.media.j3d.Material material
          Material used for the object body.
(package private)  javax.media.j3d.Transform3D rotation
          Current rotation transform - same transform as in rotationGroup
(package private)  javax.media.j3d.TransformGroup rotationGroup
          rotation applied to this object
(package private)  javax.media.j3d.Transform3D translation
          Current translation transform - same transform as in translationGroup
(package private)  javax.media.j3d.TransformGroup translationGroup
          translation applied to this object
(package private) static javax.vecmath.Color3f white
          A prepared color
(package private)  World world
          Link back to containing world.
 
Constructor Summary
BaseObject()
           
 
Method Summary
protected  void addChild(BaseObject object)
           
(package private)  void addChild(javax.media.j3d.Node node)
           
 void attach()
          Re-add object to the scenegraph.
(package private)  void compile()
           
(package private)  void create3D(boolean allowTransformReadWrite)
          Create the object geometry.
 void detach()
          Removes object from the scenegraph.
(package private)  javax.media.j3d.Bounds getBounds()
           
 boolean getCanBeTraversed()
          Gets the canBeTraversed Flag.
(package private)  javax.media.j3d.Group getGroup()
           
(package private)  javax.media.j3d.Node getNode()
           
 void getRotationTransform(javax.media.j3d.Transform3D t)
          Obtain rotation transform.
(package private)  javax.media.j3d.TransformGroup getRotationTransformGroup()
           
(package private)  javax.vecmath.Vector3f getTranslation()
           
(package private)  javax.media.j3d.TransformGroup getTranslationTransform()
           
 void getTranslationTransform(javax.media.j3d.Transform3D t)
          Obtain translation transform.
(package private)  void resetTransforms()
          Resets translation and rotation transforms.
 void rotateY(double angle)
          Rotates (relative to current rotation) the object about Y axis.
(package private)  void setBounds(javax.media.j3d.Bounds bounds)
          Sets the bounds object for collision/interaction detection
 void setCanBeTraversed(boolean canbetraversed)
          Sets the canBeTraversed Flag.
 void setColor(javax.vecmath.Color3f color)
          Change the color while the simulation is running.
protected  void setWorld(World world)
          Sets the containing world.
 void translateTo(javax.vecmath.Vector3d t)
          Translates (relative to current pos) the object to given position.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

material

javax.media.j3d.Material material
Material used for the object body.


branchGroup

javax.media.j3d.BranchGroup branchGroup
Branch group corresponding to this object


rotationGroup

javax.media.j3d.TransformGroup rotationGroup
rotation applied to this object


translationGroup

javax.media.j3d.TransformGroup translationGroup
translation applied to this object


world

World world
Link back to containing world.


detachedFromSceneGraph

protected boolean detachedFromSceneGraph
indicates that the object is detached from the scenegraph.


group

javax.media.j3d.Group group
A Group to attach all sub objects.


rotation

javax.media.j3d.Transform3D rotation
Current rotation transform - same transform as in rotationGroup


translation

javax.media.j3d.Transform3D translation
Current translation transform - same transform as in translationGroup


black

static javax.vecmath.Color3f black
A prepared color


white

static javax.vecmath.Color3f white
A prepared color


compilable

boolean compilable
Indicates that the wall object branch can be compiled to optimize sceneGraph


localBounds

protected javax.media.j3d.Bounds localBounds
keep direct pointer onto bounds object associated to group node.


canBeTraversed

boolean canBeTraversed
if true the object can be traversed - no collision

Constructor Detail

BaseObject

BaseObject()
Method Detail

translateTo

public void translateTo(javax.vecmath.Vector3d t)
Translates (relative to current pos) the object to given position.


rotateY

public void rotateY(double angle)
Rotates (relative to current rotation) the object about Y axis.


resetTransforms

void resetTransforms()
Resets translation and rotation transforms.


create3D

void create3D(boolean allowTransformReadWrite)
Create the object geometry.


compile

void compile()

getNode

final javax.media.j3d.Node getNode()

addChild

protected void addChild(BaseObject object)

addChild

final void addChild(javax.media.j3d.Node node)

getTranslation

javax.vecmath.Vector3f getTranslation()

getRotationTransformGroup

javax.media.j3d.TransformGroup getRotationTransformGroup()

getTranslationTransform

javax.media.j3d.TransformGroup getTranslationTransform()

getGroup

javax.media.j3d.Group getGroup()

setBounds

void setBounds(javax.media.j3d.Bounds bounds)
Sets the bounds object for collision/interaction detection


getBounds

javax.media.j3d.Bounds getBounds()

getTranslationTransform

public void getTranslationTransform(javax.media.j3d.Transform3D t)
Obtain translation transform.


getRotationTransform

public void getRotationTransform(javax.media.j3d.Transform3D t)
Obtain rotation transform.


setWorld

protected void setWorld(World world)
Sets the containing world.


detach

public void detach()
Removes object from the scenegraph.


attach

public void attach()
Re-add object to the scenegraph.


setCanBeTraversed

public void setCanBeTraversed(boolean canbetraversed)
Sets the canBeTraversed Flag.


getCanBeTraversed

public boolean getCanBeTraversed()
Gets the canBeTraversed Flag.


setColor

public void setColor(javax.vecmath.Color3f color)
Change the color while the simulation is running.