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
Modifier and TypeFieldDescriptionstatic final Node.NType
boolean
static final Node.NType.Field
protected com.bulletphysics.dynamics.DynamicsWorld
static final Node.NType.Field
final PhysicsUtils
Fields 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_BITS
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
returns the number of objects are still movingvoid
void
void
void
protected void
protected void
addGround
(float size, float depth) void
clear()
protected com.bulletphysics.dynamics.RigidBody
createCylinder
(MassObject mo, Object o, float l, float r) float
getNodeName
(Node n) protected Node.NType
This method returns theNode.NType
which 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 void
init()
void
boolean
isActive()
true if any objects are still movingboolean
protected void
join
(FlexNode flexNode, MassObject massObject, com.bulletphysics.dynamics.RigidBody body) protected void
joinToBodyFrame
(FlexNode flexNode, com.bulletphysics.linearmath.Transform jointFrame, com.bulletphysics.dynamics.RigidBody body, com.bulletphysics.dynamics.RigidBody parentBody) protected void
joinToParent
(FlexNode flexNode, FlexNode parentFlexNode, com.bulletphysics.dynamics.RigidBody body, com.bulletphysics.dynamics.RigidBody parentBody) protected Node
This method returns a new instance of the class of this node.void
void
setDebugText
(boolean value) void
void
setMassObjects
(ArrayList<MassObject> value) void
step()
perform a default 0.1s time stepvoid
step
(float stepTime) perform a time stepprotected void
void
updateReference
(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, writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:Node
This method returns theNode.NType
which describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
getNTypeImpl
in classNode
- Returns:
- type describing the managed fields of the class of this node
-
newInstance
Description copied from class:Node
This method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
newInstance
in classNode
- Returns:
- new instance of class of this node
-
isDebugText
public boolean isDebugText() -
setDebugText
public void setDebugText(boolean value) -
getMassObjects
-
setMassObjects
-