unbboolean.solids
Class CSGSolid

java.lang.Object
  |
  +--javax.media.j3d.SceneGraphObject
        |
        +--javax.media.j3d.Node
              |
              +--javax.media.j3d.Leaf
                    |
                    +--javax.media.j3d.Shape3D
                          |
                          +--unbboolean.bool.Solid
                                |
                                +--unbboolean.solids.CSGSolid
Direct Known Subclasses:
CompoundSolid, PrimitiveSolid

public abstract class CSGSolid
extends Solid

Solid class representing a component of a CSG Tree

Author:
Danilo Balby Silva Castanheira(danbalby@yahoo.com)

Field Summary
 
Fields inherited from class javax.media.j3d.Shape3D
ALLOW_APPEARANCE_OVERRIDE_READ, ALLOW_APPEARANCE_OVERRIDE_WRITE, ALLOW_APPEARANCE_READ, ALLOW_APPEARANCE_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_WRITE, ALLOW_GEOMETRY_READ, ALLOW_GEOMETRY_WRITE
 
Fields inherited from class javax.media.j3d.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_PICKABLE_READ, ALLOW_PICKABLE_WRITE, ENABLE_COLLISION_REPORTING, ENABLE_PICK_REPORTING
 
Constructor Summary
CSGSolid()
          Constructs a default CSGSolid
 
Method Summary
abstract  CSGSolid copy()
          Copies the solid
 javax.vecmath.Matrix4d getLocation()
          Gets the solid location
 java.lang.String getName()
          Gets the solid name
 CompoundSolid getParentSolid()
          Gets the solid parent
 boolean isLighted()
          Checks if this solid is lighten
 void light()
          Light the solid
 void rotate(double dx, double dy)
          Applies a rotation into a solid
 void setName(java.lang.String name)
          Sets the solid name
 void setParentSolid(CompoundSolid parent)
          Sets the solid parent
 void translate(double dx, double dy)
          Applies a translation into a solid
 void unlight()
          Unight the solid
 void updateLocation(javax.vecmath.Matrix4d transform)
          Updates the location
 void updateParents()
          Updates the parent location - called when the the coordinates were changed
 void zoom(double dz)
          Applies a zoom into a solid
 
Methods inherited from class unbboolean.bool.Solid
getColors, getIndices, getVertices, isEmpty, scale, setColor, setData
 
Methods inherited from class javax.media.j3d.Shape3D
addGeometry, cloneNode, duplicateNode, getAllGeometries, getAppearance, getAppearanceOverrideEnable, getBounds, getCollisionBounds, getGeometry, getGeometry, indexOfGeometry, insertGeometry, intersect, intersect, intersect, numGeometries, removeAllGeometries, removeGeometry, removeGeometry, setAppearance, setAppearanceOverrideEnable, setCollisionBounds, setGeometry, setGeometry
 
Methods inherited from class javax.media.j3d.Node
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, getBoundsAutoCompute, getCollidable, getLocalToVworld, getLocalToVworld, getParent, getPickable, setBounds, setBoundsAutoCompute, setCollidable, setPickable
 
Methods inherited from class javax.media.j3d.SceneGraphObject
clearCapability, clearCapabilityIsFrequent, getCapability, getCapabilityIsFrequent, getUserData, isCompiled, isLive, setCapability, setCapabilityIsFrequent, setUserData, updateNodeReferences
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CSGSolid

public CSGSolid()
Constructs a default CSGSolid

Method Detail

getName

public java.lang.String getName()
Gets the solid name

Returns:
solid name

getParentSolid

public CompoundSolid getParentSolid()
Gets the solid parent

Returns:
solid perent

getLocation

public javax.vecmath.Matrix4d getLocation()
Gets the solid location

Returns:
solid location

setName

public void setName(java.lang.String name)
Sets the solid name

Parameters:
name - solid name

setParentSolid

public void setParentSolid(CompoundSolid parent)
Sets the solid parent

Parameters:
parent - solid parent

translate

public void translate(double dx,
                      double dy)
Applies a translation into a solid

Overrides:
translate in class Solid
Parameters:
dx - translation on the x axis
dy - translation on the y axis

rotate

public void rotate(double dx,
                   double dy)
Applies a rotation into a solid

Overrides:
rotate in class Solid
Parameters:
dx - rotation on the x axis
dy - rotation on the y axis

zoom

public void zoom(double dz)
Applies a zoom into a solid

Overrides:
zoom in class Solid
Parameters:
dz - translation on the z axis

updateLocation

public void updateLocation(javax.vecmath.Matrix4d transform)
Updates the location

Parameters:
transform - matrix representing all the transformations to reach the desired position

updateParents

public void updateParents()
                   throws InvalidBooleanOperationException
Updates the parent location - called when the the coordinates were changed

InvalidBooleanOperationException

light

public void light()
Light the solid


unlight

public void unlight()
Unight the solid


isLighted

public boolean isLighted()
Checks if this solid is lighten

Returns:
true if the solid is lighten, false otherwise

copy

public abstract CSGSolid copy()
Copies the solid

Returns:
solid copy