java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
uk.ac.soton.grophysics.PhysicsModel
- All Implemented Interfaces:
Manageable,PersistenceCapable,Shareable,UserFields,XObject,Map,Serializable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Node.NTypebooleanstatic final Node.NType.Fieldprotected com.bulletphysics.dynamics.DynamicsWorldstatic final Node.NType.Fieldfinal PhysicsUtilsFields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD, USED_BITSFields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintreturns the number of objects are still movingvoidvoidvoidvoidprotected voidprotected voidaddGround(float size, float depth) voidclear()protected com.bulletphysics.dynamics.RigidBodycreateCylinder(MassObject mo, Object o, float l, float r) floatgetNodeName(Node n) protected Node.NTypeThis method returns theNode.NTypewhich describes the managed fields of the class of this node.getParentFlexNode(Node node) Find the previous FlexNode in the tree by searching the branch first, then hierarchically through it's parents returns null if nothing is foundgetParentMassObject(Node node) Find the previous FlexNode in the tree by searching the branch first, then hierarchically through it's parents returns null if nothing is foundgetPreviousFlexNode(Node node) Find the previous FlexNode in the current branch returns null if nothing is foundgetPreviousMassObject(Node node) Find the previous FlexNode in the current branch returns null if nothing is foundprotected voidinit()voidbooleanisActive()true if any objects are still movingbooleanprotected voidjoin(FlexNode flexNode, MassObject massObject, com.bulletphysics.dynamics.RigidBody body) protected voidjoinToBodyFrame(FlexNode flexNode, com.bulletphysics.linearmath.Transform jointFrame, com.bulletphysics.dynamics.RigidBody body, com.bulletphysics.dynamics.RigidBody parentBody) protected voidjoinToParent(FlexNode flexNode, FlexNode parentFlexNode, com.bulletphysics.dynamics.RigidBody body, com.bulletphysics.dynamics.RigidBody parentBody) protected NodeThis method returns a new instance of the class of this node.voidvoidsetDebugText(boolean value) voidvoidsetMassObjects(ArrayList<MassObject> value) voidstep()perform a default 0.1s time stepvoidstep(float stepTime) perform a time stepprotected voidvoidupdateReference(String name, Object o) Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dupFrom, dupnew, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIgnored, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, getShort, getSource, getStamp, getSuccessor, getSymbol, getSymbolColor, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplaceMethods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
-
Field Details
-
dynamicWorld
protected com.bulletphysics.dynamics.DynamicsWorld dynamicWorld -
debugText
public boolean debugText -
utils
-
$TYPE
-
debugText$FIELD
-
massObjects$FIELD
-
-
Constructor Details
-
PhysicsModel
public PhysicsModel()
-
-
Method Details
-
init
protected void init() -
initVisitor
public void initVisitor() -
addGround
protected void addGround(float size, float depth) -
add
-
add
-
add
-
add
-
remove
-
setMass
-
updateReference
-
getMass
-
addDeferred
-
updatePosition
-
createCylinder
protected com.bulletphysics.dynamics.RigidBody createCylinder(MassObject mo, Object o, float l, float r) -
join
protected void join(FlexNode flexNode, MassObject massObject, com.bulletphysics.dynamics.RigidBody body) -
joinToBodyFrame
protected void joinToBodyFrame(FlexNode flexNode, com.bulletphysics.linearmath.Transform jointFrame, com.bulletphysics.dynamics.RigidBody body, com.bulletphysics.dynamics.RigidBody parentBody) -
joinToParent
-
getNodeName
-
step
public void step()perform a default 0.1s time step -
step
public void step(float stepTime) perform a time step -
isActive
public boolean isActive()true if any objects are still moving -
activeCount
public int activeCount()returns the number of objects are still moving -
clear
public void clear() -
getPreviousFlexNode
Find the previous FlexNode in the current branch returns null if nothing is found- Returns:
- FlexNode
-
getParentFlexNode
Find the previous FlexNode in the tree by searching the branch first, then hierarchically through it's parents returns null if nothing is found- Returns:
- FlexNode
-
getPreviousMassObject
Find the previous FlexNode in the current branch returns null if nothing is found- Returns:
- MassObject
-
getParentMassObject
Find the previous FlexNode in the tree by searching the branch first, then hierarchically through it's parents returns null if nothing is found- Returns:
- MassObject
-
getNTypeImpl
Description copied from class:NodeThis method returns theNode.NTypewhich describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
getNTypeImplin classNode- Returns:
- type describing the managed fields of the class of this node
-
newInstance
Description copied from class:NodeThis method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
newInstancein classNode- Returns:
- new instance of class of this node
-
isDebugText
public boolean isDebugText() -
setDebugText
public void setDebugText(boolean value) -
getMassObjects
-
setMassObjects
-