public class InstancedGeometry extends Geometry
Spatial.BatchHint, Spatial.CullHint, Spatial.DFSModecachedWorldMat, groupNode, ignoreTransform, lodLevel, material, mesh, SAVABLE_VERSION, startIndexbatchHint, controls, cullHint, frustrumIntersects, key, localLights, localOverrides, localTransform, name, parent, queueBucket, queueDistance, refreshFlags, RF_BOUND, RF_CHILD_LIGHTLIST, RF_LIGHTLIST, RF_MATPARAM_OVERRIDE, RF_TRANSFORM, shadowMode, userData, worldBound, worldLights, worldOverrides, worldTransform| Constructor and Description | 
|---|
| InstancedGeometry() | 
| InstancedGeometry(java.lang.String name)Creates instanced geometry with the specified mode and name. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addInstance(Geometry geometry) | 
| boolean | checkCulling(Camera cam)checkCullingchecks the spatial with the camera to see if it
 should be culled. | 
| protected void | cleanup()Destroy internal buffers. | 
| void | cloneFields(Cloner cloner,
           java.lang.Object original)Called internally by com.jme3.util.clone.Cloner. | 
| int | collideWith(Collidable other,
           CollisionResults results)Check collision with another Collidable. | 
| void | deleteInstance(Geometry geom) | 
| VertexBuffer[] | getAllInstanceData() | 
| Geometry[] | getGeometries() | 
| VertexBuffer[] | getGlobalUserInstanceData()Global user specified per-instance data. | 
| int | getMaxNumInstances() | 
| int | getNumInstances() | 
| int | getNumVisibleInstances() | 
| VertexBuffer | getTransformUserInstanceData()Return user per-instance transform data. | 
| boolean | isEmpty() | 
| void | read(JmeImporter importer) | 
| void | setGlobalUserInstanceData(VertexBuffer[] globalInstanceData)Specify global user per-instance data. | 
| void | setMaxNumInstances(int maxNumInstances)Set the maximum amount of instances that can be rendered by this
 instanced geometry when mode is set to auto. | 
| void | setTransformUserInstanceData(VertexBuffer transformInstanceData)Specify camera specific user per-instance data. | 
| void | updateInstances() | 
| protected void | updateWorldBound()updateWorldBoundupdates the bounding volume that contains
 this geometry. | 
| void | write(JmeExporter exporter) | 
associateWithGroupNode, breadthFirstTraversal, clone, clone, computeWorldMatrix, deepClone, depthFirstTraversal, getFallbackMorphTarget, getLodLevel, getMaterial, getMesh, getModelBound, getMorphState, getMorphState, getNbSimultaneousGPUMorph, getTriangleCount, getVertexCount, getWorldMatrix, isBatched, isDirtyMorph, isGrouped, isIgnoreTransform, oldDeepClone, removeFromParent, setDirtyMorph, setFallbackMorphTarget, setIgnoreTransform, setLodLevel, setMaterial, setMesh, setModelBound, setMorphState, setMorphState, setNbSimultaneousGPUMorph, setParent, unassociateFromGroupNode, updateModelBound, updateWorldLightList, updateWorldTransformsaddControl, addLight, addMatParamOverride, breadthFirstTraversal, center, clearMatParamOverrides, depthFirstTraversal, forceRefresh, getBatchHint, getControl, getControl, getCullHint, getKey, getLastFrustumIntersection, getLocalBatchHint, getLocalCullHint, getLocalLightList, getLocalMatParamOverrides, getLocalQueueBucket, getLocalRotation, getLocalScale, getLocalShadowMode, getLocalToWorldMatrix, getLocalTransform, getLocalTranslation, getName, getNumControls, getParent, getQueueBucket, getShadowMode, getUserData, getUserDataKeys, getWorldBound, getWorldLightList, getWorldMatParamOverrides, getWorldRotation, getWorldScale, getWorldTransform, getWorldTranslation, hasAncestor, jmeClone, localToWorld, lookAt, matches, move, move, oldClone, removeControl, removeControl, removeLight, removeMatParamOverride, rotate, rotate, rotateUpTo, runControlRender, scale, scale, setBatchHint, setBoundRefresh, setCullHint, setKey, setLastFrustumIntersection, setLightListRefresh, setLocalRotation, setLocalRotation, setLocalScale, setLocalScale, setLocalScale, setLocalTransform, setLocalTranslation, setLocalTranslation, setMatParamOverrideRefresh, setName, setQueueBucket, setRequiresUpdates, setShadowMode, setTransformRefresh, setUserData, toString, updateGeometricState, updateLogicalState, updateMatParamOverrides, worldToLocalpublic InstancedGeometry()
public InstancedGeometry(java.lang.String name)
name - The name of the spatial.Spatial(java.lang.String)public VertexBuffer[] getGlobalUserInstanceData()
null, specify an array of VertexBuffers
 via setGlobalUserInstanceData(com.jme3.scene.VertexBuffer[]).setGlobalUserInstanceData(com.jme3.scene.VertexBuffer[])public void setGlobalUserInstanceData(VertexBuffer[] globalInstanceData)
null, specify an array of VertexBuffers
 that contain per-instance vertex attributes.globalInstanceData - global user per-instance data.java.lang.IllegalArgumentException - If one of the VertexBuffers is not
 instanced.public void setTransformUserInstanceData(VertexBuffer transformInstanceData)
transformInstanceData - The transforms for each instance.public VertexBuffer getTransformUserInstanceData()
setTransformUserInstanceData(com.jme3.scene.VertexBuffer)public final void setMaxNumInstances(int maxNumInstances)
maxNumInstances - The maximum number of instances that can be
 rendered.java.lang.IllegalStateException - If mode is set to manual.java.lang.IllegalArgumentException - If maxNumInstances is zero or negativepublic int getMaxNumInstances()
public int getNumVisibleInstances()
public int getNumInstances()
InstancedGeometrypublic boolean isEmpty()
public void updateInstances()
public void deleteInstance(Geometry geom)
public void addInstance(Geometry geometry)
protected void updateWorldBound()
GeometryupdateWorldBound updates the bounding volume that contains
 this geometry. The location of the geometry is based on the location of
 all this node's parents.updateWorldBound in class GeometrySpatial.updateWorldBound()public Geometry[] getGeometries()
public VertexBuffer[] getAllInstanceData()
public boolean checkCulling(Camera cam)
SpatialcheckCulling checks the spatial with the camera to see if it
 should be culled.
 This method is called by the renderer. Usually it should not be called directly.
checkCulling in class Geometrycam - The camera to check against.public int collideWith(Collidable other, CollisionResults results)
CollidablecollideWith in interface CollidablecollideWith in class Geometryother - The object to check collision againstresults - Will contain the list of CollisionResults.public void cloneFields(Cloner cloner, java.lang.Object original)
cloneFields in interface JmeCloneablecloneFields in class Geometrycloner - The cloner that is performing the cloning operation.  The 
              cloneFields method can call back into the cloner to make
              clones of its subordinate fields.original - The original object from which this object was cloned.
              This is provided for the very rare case that this object needs
              to refer to its original for some reason.  In general, all of
              the relevant values should have been transferred during the
              shallow clone and this object need merely clone what it wants.public void write(JmeExporter exporter) throws java.io.IOException
public void read(JmeImporter importer) throws java.io.IOException
protected void cleanup()