com.jme.scene.shape
Class Box

java.lang.Object
  extended by com.jme.scene.Spatial
      extended by com.jme.scene.Geometry
          extended by com.jme.scene.TriMesh
              extended by com.jme.scene.shape.AbstractBox
                  extended by com.jme.scene.shape.Box
All Implemented Interfaces:
Savable, java.io.Serializable
Direct Known Subclasses:
MultiFaceBox

public class Box
extends AbstractBox

A box with solid (filled) faces.

Version:
$Revision: 4131 $, $Date: 2009-03-19 20:15:28 +0000 (Thu, 19 Mar 2009) $
Author:
Mark Powell
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.jme.scene.TriMesh
TriMesh.Mode
 
Nested classes/interfaces inherited from class com.jme.scene.Spatial
Spatial.CullHint, Spatial.LightCombineMode, Spatial.NormalsMode, Spatial.TextureCombineMode
 
Field Summary
 
Fields inherited from class com.jme.scene.shape.AbstractBox
center, xExtent, yExtent, zExtent
 
Fields inherited from class com.jme.scene.TriMesh
indexBuffer, mode, triangleQuantity
 
Fields inherited from class com.jme.scene.Geometry
binormalBuf, bound, castsShadows, colorBuf, compVect, defaultColor, displayListID, enabled, fogBuf, hasDirtyVertices, normBuf, states, tangentBuf, texBuf, vboInfo, vertBuf, vertQuantity
 
Fields inherited from class com.jme.scene.Spatial
cullHint, frustrumIntersects, geometricalControllers, isCollidable, lightCombineMode, localRotation, localScale, localTranslation, LOCKED_BOUNDS, LOCKED_BRANCH, LOCKED_MESH_DATA, LOCKED_NONE, LOCKED_SHADOWS, LOCKED_TRANSFORMS, lockedMode, name, normalsMode, parent, queueDistance, renderQueueMode, renderStateList, textureCombineMode, worldBound, worldRotation, worldScale, worldTranslation, zOrder
 
Constructor Summary
Box()
           
Box(java.lang.String name)
          Creates a new box.
Box(java.lang.String name, Vector3f center, float x, float y, float z)
          Creates a new box.
Box(java.lang.String name, Vector3f min, Vector3f max)
          Constructor instantiates a new Box object.
 
Method Summary
 Box clone()
          Creates a clone of this box.
protected  void duUpdateGeometryIndices()
          Convert the indices into the list of vertices that define the box's tri-mesh.
protected  void duUpdateGeometryNormals()
          Update the normals of each of the box's planes.
protected  void duUpdateGeometryTextures()
          Update the points that define the texture of the box.
protected  void duUpdateGeometryVertices()
          Update the position of the vertices that define the box.
 
Methods inherited from class com.jme.scene.shape.AbstractBox
computeVertices, getCenter, getXExtent, getYExtent, getZExtent, read, setCenter, setData, setData, updateGeometry, updateGeometry, updateGeometry, write
 
Methods inherited from class com.jme.scene.TriMesh
clearBuffers, draw, findCollisions, findTriangleCollision, findTrianglePick, getIndexBuffer, getMaxIndex, getMeshAsTriangles, getMeshAsTrianglesVertices, getMode, getTriangle, getTriangle, getTriangleCount, getTriangleIndices, getVertIndex, hasCollision, hasTriangleCollision, randomPointOnTriangles, recalcTriangleQuantity, reconstruct, setIndexBuffer, setMode, setTriangleQuantity
 
Methods inherited from class com.jme.scene.Geometry
addTextureCoordinates, addTextureCoordinates, applyRenderState, checkTextureCoordinates, clearTextureBuffers, copyTextureCoordinates, copyTextureCoordinates, findPick, getBinormalBuffer, getColorBuffer, getDefaultColor, getDisplayListID, getFogBuffer, getLightState, getModelBound, getNormalBuffer, getNumberOfUnits, getTangentBuffer, getTextureCoords, getTextureCoords, getVBOInfo, getVertexBuffer, getVertexCount, getWorldCoords, getWorldNormals, hasDirtyVertices, isCastsShadows, lockMeshes, postdraw, predraw, randomVertex, reconstruct, resizeTextureIds, rotateNormals, rotatePoints, scaleTextureCoordinates, scaleTextureCoordinates, setBinormalBuffer, setCastsShadows, setColorBuffer, setDefaultColor, setDisplayListID, setFogCoordBuffer, setHasDirtyVertices, setLightState, setModelBound, setNormalBuffer, setRandomColors, setSolidColor, setTangentBuffer, setTextureCoords, setTextureCoords, setTextureCoords, setVBOInfo, setVertexBuffer, setVertexCount, sortLights, translatePoints, translatePoints, unlockMeshes, updateModelBound, updateWorldBound
 
Methods inherited from class com.jme.scene.Spatial
addController, calculateCollisions, calculatePick, clearControllers, clearRenderState, clearRenderState, getClassTag, getController, getControllerCount, getControllers, getCullHint, getLastFrustumIntersection, getLightCombineMode, getLocalCullHint, getLocalLightCombineMode, getLocalNormalsMode, getLocalRenderQueueMode, getLocalRotation, getLocalScale, getLocalTextureCombineMode, getLocalToWorldMatrix, getLocalTranslation, getLocks, getName, getNormalsMode, getParent, getRenderQueueMode, getRenderState, getRenderState, getTextureCombineMode, getUserData, getWorldBound, getWorldRotation, getWorldScale, getWorldTranslation, getZOrder, hasAncestor, isCollidable, localToWorld, lock, lock, lockBounds, lockBranch, lockMeshes, lockShadows, lockTransforms, lookAt, onDraw, propagateBoundToRoot, propagateStatesFromRoot, removeController, removeController, removeFromParent, removeUserData, rotateUpTo, setCullHint, setIsCollidable, setLastFrustumIntersection, setLightCombineMode, setLocalRotation, setLocalRotation, setLocalScale, setLocalScale, setLocalTranslation, setLocalTranslation, setLocks, setLocks, setName, setNormalsMode, setParent, setRenderQueueMode, setRenderState, setTextureCombineMode, setUserData, setZOrder, setZOrder, toString, unlock, unlock, unlockBounds, unlockBranch, unlockMeshes, unlockShadows, unlockTransforms, updateGeometricState, updateRenderState, updateRenderState, updateWorldData, updateWorldRotation, updateWorldScale, updateWorldTranslation, updateWorldVectors, updateWorldVectors, worldToLocal
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.jme.util.export.Savable
getClassTag
 

Constructor Detail

Box

public Box()

Box

public Box(java.lang.String name)
Creates a new box.

Center and vertices information must be supplied later.

Parameters:
name - the name of the box.

Box

public Box(java.lang.String name,
           Vector3f center,
           float x,
           float y,
           float z)
Creates a new box.

The box has the given center and extends in the out from the center by the given amount in each direction. So, for example, a box with extent of 0.5 would be the unit cube.

Parameters:
name - the name of the box.
center - the center of the box.
x - the size of the box along the x axis, in both directions.
y - the size of the box along the y axis, in both directions.
z - the size of the box along the z axis, in both directions.

Box

public Box(java.lang.String name,
           Vector3f min,
           Vector3f max)
Constructor instantiates a new Box object.

The minimum and maximum point are provided, these two points define the shape and size of the box but not it’s orientation or position. You should use the #setLocalTranslation() and #setLocalRotation() methods to define those properties.

Parameters:
name - the name of the box.
min - the minimum point that defines the box.
max - the maximum point that defines the box.
Method Detail

clone

public Box clone()
Creates a clone of this box.

The cloned box will have ‘_clone’ appended to it’s name, but all other properties will be the same as this box.

Overrides:
clone in class java.lang.Object

duUpdateGeometryIndices

protected void duUpdateGeometryIndices()
Description copied from class: AbstractBox
Convert the indices into the list of vertices that define the box's tri-mesh.

Specified by:
duUpdateGeometryIndices in class AbstractBox

duUpdateGeometryNormals

protected void duUpdateGeometryNormals()
Description copied from class: AbstractBox
Update the normals of each of the box's planes.

Specified by:
duUpdateGeometryNormals in class AbstractBox

duUpdateGeometryTextures

protected void duUpdateGeometryTextures()
Description copied from class: AbstractBox
Update the points that define the texture of the box.

It's a one-to-one ratio, where each plane of the box has it's own copy of the texture. That is, the texture is repeated one time for each face.

Specified by:
duUpdateGeometryTextures in class AbstractBox

duUpdateGeometryVertices

protected void duUpdateGeometryVertices()
Description copied from class: AbstractBox
Update the position of the vertices that define the box.

These eight points are determined from the minimum and maximum point.

Specified by:
duUpdateGeometryVertices in class AbstractBox