java.lang.Object
com.marginallyclever.ro3.node.Node
com.marginallyclever.ro3.node.nodes.MechanicalJoint
com.marginallyclever.ro3.node.nodes.HingeJoint
a HingeJoint is a joint that can rotate around the local Z axis.
a HingeJoint should be attached to a child Pose referenced as the axle. In this way the axle's
parent Pose can be thought of as the initial pose. This helps prevent drift over time.
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfromJSON(org.json.JSONObject from) Deserialize this node and its children from a JSON object and its children.doubledoublegetAngle()getAxle()voidgetComponents(List<JPanel> list) Build a Swing Component that represents this Node.getIcon()Set a custom icon for this node.doubledoubledoublevoidsetAcceleration(double acceleration) voidsetAngle(double degrees) Set the angle in degrees, clamped to minAngle and maxAngle if they are set.voidsetAngleUnsafe(double degrees) Set the angle in degrees without clamping to minAngle and maxAngle.voidvoidsetMaxAngle(double v) voidsetMinAngle(double v) voidsetVelocity(double velocity) org.json.JSONObjecttoJSON()Serialize this node and its children to a JSON object and its children.voidupdate(double dt) Called every frame.voidSet the axle's location in space based on the current angle.Methods inherited from class com.marginallyclever.ro3.node.Node
addAttachListener, addChild, addChild, addDetachListener, addReadyListener, addRenameListener, findByPath, findChild, findChild, findFirstChild, findFirstSibling, findNodeByID, findParent, findParent, getAbsolutePath, getChildren, getName, getParent, getRootNode, getUniqueID, hasChild, hasParent, isNameUsedBySibling, removeAttachListener, removeChild, removeDetachListener, removeReadyListener, removeRenameListener, setName, witnessProtection
-
Constructor Details
-
HingeJoint
public HingeJoint() -
HingeJoint
-
-
Method Details
-
getComponents
Description copied from class:NodeBuild a Swing Component that represents this Node.- Overrides:
getComponentsin classNode- Parameters:
list- the list to add components to.
-
update
-
updateAxleLocationInSpace
public void updateAxleLocationInSpace()Set the axle's location in space based on the current angle. -
toJSON
public org.json.JSONObject toJSON()Description copied from class:NodeSerialize this node and its children to a JSON object and its children. Classes that override this method should call super.toJSON() first, then add to the object returned. -
fromJSON
public void fromJSON(org.json.JSONObject from) Description copied from class:NodeDeserialize this node and its children from a JSON object and its children. Classes that override this method should call super.fromJSON(). When they do it will trigger the creation of child nodes. The child nodes will then call their own fromJSON() methods. -
getAngle
public double getAngle() -
setAngle
public void setAngle(double degrees) Set the angle in degrees, clamped to minAngle and maxAngle if they are set.- Parameters:
degrees- the angle in degrees
-
setAngleUnsafe
public void setAngleUnsafe(double degrees) Set the angle in degrees without clamping to minAngle and maxAngle.- Parameters:
degrees- the angle in degrees
-
getMinAngle
public double getMinAngle() -
setMinAngle
public void setMinAngle(double v) -
getMaxAngle
public double getMaxAngle() -
setMaxAngle
public void setMaxAngle(double v) -
getVelocity
public double getVelocity() -
setVelocity
public void setVelocity(double velocity) -
getAcceleration
public double getAcceleration() -
setAcceleration
public void setAcceleration(double acceleration) -
getAxle
-
setAxle
-
getIcon
-