|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.SceneGraphObject
javax.media.j3d.Node
javax.media.j3d.Group
javax.media.j3d.TransformGroup
physics.DynamicTransformGroup
Diese Klasse repräsentiert einen starren Körper. Dieser Körper ist definiert durch eine Masse, einen Trägheitsmoment, seine Geschwindigkeit, seine Transformation, einen Stoßfaktor und seine Ausdehnung.
Die Ausdehnung des Körpers wird durch die Objekte bestimmt, welche unter dieseDynanimcTransformGroup
eingefügt werden. Neben
den bereits genannten Größen kann auch die Beschleunigung, die auf
den Körper wirkt, gesetzt werden.
Der Stoßfaktor gibt an, wieviel kinetische Energie bei einem Stoß
erhalten bleibt. Der Gesamtstoßfaktor fü den Stoß ergibt
sich aus dem Produkt der Stoßfaktoren der beiden Körper. Ist
dieses Produkt 1, handelt es sich um einen vollständig elastischen
Stoß. Ist das Produkt 0 ist der Stoß vollständig
inelastisch. Der Stoßfaktor kann zwischen 0 und 1 liegen.
Ein Körper kann schlafen gelegt werden, d.h. er wird nicht bewegt oder
von sich aus auf Kollisionen gepr&ueft, bis ein anderer Körper mit ihm
kollidiert oder er manuell aufgeweckt wird (siehe
setSleep(boolean)).
Field Summary |
Fields inherited from class javax.media.j3d.TransformGroup |
ALLOW_TRANSFORM_READ, ALLOW_TRANSFORM_WRITE |
Fields inherited from class javax.media.j3d.Group |
ALLOW_CHILDREN_EXTEND, ALLOW_CHILDREN_READ, ALLOW_CHILDREN_WRITE, ALLOW_COLLISION_BOUNDS_READ, ALLOW_COLLISION_BOUNDS_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 | |
DynamicTransformGroup()
Erstellt einen starren Körper, mit einer Masse von 1 kg und einem Trägheitsmoment von 0.4 kg * m^2 (Trägheitsmoment einer Kugel dieser Masse und einem Radius von einem Meter). |
|
DynamicTransformGroup(javax.media.j3d.Transform3D trans)
Erstellt einen starren Körper, mit einer Masse von 1 kg und einem Trägheitsmoment von 0.4 kg * m^2 (Trägheitsmoment einer Kugel dieser Masse und einem Radius von einem Meter). |
|
DynamicTransformGroup(javax.media.j3d.Transform3D transform,
float mass,
float I,
float energyPushFactor,
javax.vecmath.Vector3f speed,
javax.vecmath.Vector3f angleSpeed,
javax.vecmath.Vector3f acceleration,
javax.vecmath.Vector3f angleAcceleration,
boolean sleeping)
Erstellt einen starren Körper, mit den angegebenen Werten. |
Method Summary | |
javax.media.j3d.Node |
cloneNode(boolean arg0)
|
void |
getAcceleration(javax.vecmath.Vector3f a)
Gibt die Beschleunigung des Körpers zurück. |
void |
getAngleAcceleration(javax.vecmath.Vector3f a)
Gibt die Winkelbeschleunigung des Körpers zurück. |
void |
getAngleForce(javax.vecmath.Vector3f f)
Gibt den Drehmoment zurück, der auf den Körper wirkt. |
void |
getAngleSpeed(javax.vecmath.Vector3f aS)
Gibt die aktuelle Winkelgeschwindigkeit des Körpers zurück. |
float |
getEnergyPushFactor()
Liefert den Stoßfaktor zurück. |
float |
getI()
Liefert den Dehmoment des Körpers zurück. |
void |
getLinearForce(javax.vecmath.Vector3f f)
Gibt die Kraft zurück, die auf den Schwerpunkt des Körpers wirkt. |
float |
getMass()
Liefert die Masse zurück. |
void |
getSpeed(javax.vecmath.Vector3f speed)
Gibt die lineare Geschwindigkeit des Körpers zurück. |
boolean |
isSleep()
Ermittelt den Simulationsstatus des Körpers. |
void |
nextStep(float deltaTime)
Bewegt den Körper über der Zeit deltaTime auf
einer ballistischen Bahn. |
void |
setAcceleration(javax.vecmath.Vector3f a)
Setzt die Beschleunigung des Körpers in m / s^2. |
void |
setAngleAcceleration(javax.vecmath.Vector3f a)
Setzt die Winkelbeschleunigung des Körpers in 1 / s^2. |
void |
setAngleForce(javax.vecmath.Vector3f f)
Setzt den Drehmoment, der an den Körper angreift in N * m. |
void |
setAngleSpeed(javax.vecmath.Vector3f aS)
Die Winkelgeschwindigkeit des Körpers in 1 / s. |
void |
setDeltaMomentum(javax.vecmath.Vector3f deltaP,
javax.vecmath.Vector3f collisionRadius)
Setzt die Impulsänderung des Körpers in kg * m / s. |
void |
setEnergyPushFactor(float value)
Setzt den Stoßfaktor des Körpers. |
void |
setForce(javax.vecmath.Vector3f f,
javax.vecmath.Vector3f radius)
Setzt die Kraft (in N), welche auf den Körper an dem Punkt radius wirkt. |
void |
setI(float i)
Setzt den Trägheitsmoment des Körpers in kg * m^2. |
void |
setLinearForce(javax.vecmath.Vector3f f)
Setzt die Kraft (in N), welche direkt auf den Schwerpunkt des Körpers einwirkt. |
void |
setMass(float mass)
Setzt die Masse des Körpers in kg. |
void |
setSleep(boolean s)
Setzt den Simulationsstatus des Körpers. |
void |
setSpeed(javax.vecmath.Vector3f speed)
Setzt die lineare Geschwindigkeit des Körpers in m / s. |
Methods inherited from class javax.media.j3d.TransformGroup |
getTransform, setTransform |
Methods inherited from class javax.media.j3d.Group |
addChild, getAllChildren, getAlternateCollisionTarget, getChild, getCollisionBounds, indexOfChild, insertChild, moveTo, numChildren, removeAllChildren, removeChild, removeChild, setAlternateCollisionTarget, setChild, setCollisionBounds |
Methods inherited from class javax.media.j3d.Node |
cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, cloneTree, duplicateNode, getBounds, 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 |
public DynamicTransformGroup()
public DynamicTransformGroup(javax.media.j3d.Transform3D transform, float mass, float I, float energyPushFactor, javax.vecmath.Vector3f speed, javax.vecmath.Vector3f angleSpeed, javax.vecmath.Vector3f acceleration, javax.vecmath.Vector3f angleAcceleration, boolean sleeping)
transform
- Die Transformation des Körpers.mass
- Die Masse des Körpers in Kilogramm.I
- Der Trägheitsmoment in kg * m^2.energyPushFactor
- Wert zwischen 0 und 1 der angibt, wie elastisch
sich ein Körper bei einem Stoß verhält.speed
- Lineare Startgeschwindigkeit des Körpers in m / s.angleSpeed
- Startwinkelgeschwindigkeit in 1 / s.acceleration
- Lineare Beschleunigung des Körpers in m / s^2.angleAcceleration
- Winkelbeschleunigung in 1 / s^2.sleeping
- true
, wenn der Körper schlafen soll,
sonst false
.public DynamicTransformGroup(javax.media.j3d.Transform3D trans)
trans
- Die Position und Orientierung des Körpers.Method Detail |
public float getEnergyPushFactor()
public void setEnergyPushFactor(float value) throws java.lang.IllegalArgumentException
value
- Faktor zwischen einschließlich 0 und 1.
java.lang.IllegalArgumentException
- Wenn der Wert nicht zwischen 0 und 1
liegt.public void setLinearForce(javax.vecmath.Vector3f f)
f
- Die einwirkende Kraft.public void getLinearForce(javax.vecmath.Vector3f f)
f
- Vektor, in den die Kraft geschrieben wird.public void setAngleForce(javax.vecmath.Vector3f f)
f
- Der wirkende Drehmoment.public void setAngleAcceleration(javax.vecmath.Vector3f a)
a
- Die Winkelbeschleunigung des Körpers.public void getAngleAcceleration(javax.vecmath.Vector3f a)
a
- Vektor, in den die Winkelbehschleunigung geschrieben wird.public void getAngleForce(javax.vecmath.Vector3f f)
f
- Vektor, in den der einwirkende Drehmoment gespeichert wird.public void setForce(javax.vecmath.Vector3f f, javax.vecmath.Vector3f radius)
radius
wirkt.
f
- Die einwirkende Kraft.radius
- Position des Punktes, an dem die Kraft angreift.public boolean isSleep()
true
, wenn der Körper schläft, sonst
false
.public void setSleep(boolean s)
s
- true
, wenn sich der Körper nicht bewegen, also
schlafen soll, sonst false
.public void setAngleSpeed(javax.vecmath.Vector3f aS)
aS
- Die Winkelgeschwindigkeit.public void getAngleSpeed(javax.vecmath.Vector3f aS)
aS
- Vektor, in den die Geschwindigkeit gespeichert wird.public void setAcceleration(javax.vecmath.Vector3f a)
a
- Die lineare Beschleunigung des Körpers.public void getAcceleration(javax.vecmath.Vector3f a)
a
- Vektor in den die lineare Beschleunigung geschrieben wird.public void nextStep(float deltaTime)
deltaTime
auf
einer ballistischen Bahn.
deltaTime
- Der Zeitschritt, der die Dauer der Bewegung angibt.public float getMass()
public void setMass(float mass)
mass
- Die Masse.public void getSpeed(javax.vecmath.Vector3f speed)
speed
- Vektor, in den die Geschwindigkeit geschrieben wird.public void setSpeed(javax.vecmath.Vector3f speed)
speed
- Die lineare Geschwindigkeit.public float getI()
public void setI(float i)
i
- Der Trägheitsmoment.public void setDeltaMomentum(javax.vecmath.Vector3f deltaP, javax.vecmath.Vector3f collisionRadius)
deltaP
- Die Impulsänderung bzw. der Kraftstoß.collisionRadius
- Der Position, bei der der Kraftstoß
angreift.public javax.media.j3d.Node cloneNode(boolean arg0)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |