public class RootJoint extends Joint
Special Joint that always connects to the ground Link.
See additional description in header doc for Linkage.
Copyright (C) 2008 Marsette A. Vona, III
Joint.ResidualType, Joint.SliderSegmentWidget, Joint.TypeLinkageNode.ApplyingNodeHandler, LinkageNode.NodeHandler, LinkageNode.SubFrame| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
cvsid |
static java.lang.String |
SF_LINK_COM
Subframes representing the position of our child's CoM and subtree CoM
in our parent's link frame.
|
static java.lang.String |
SF_SUBTREE_COM
Subframes representing the position of our child's CoM and subtree CoM
in our parent's link frame.
|
ALL_TXEM_INDICES, AXES_RADIUS_FACTOR, branchLink, BROKEN_TOL, childLink, childLinks, childMobilityCMT, childMobilityCMTDirty, childMobilityCMTQuaternion, childMobilityCMTQuaternionDirty, childMobilityCMTRotMatrix, childMobilityCMTRotMatrixDirty, childSubFrame, childToMobilityRX, CLOSURE_ROUTE_COLOR_SCHEME, CONE_HEIGHT_FACTOR, CONE_RADIUS_FACTOR, CYLINDER_HEIGHT_FACTOR, DEGENERATE_ROUTE_TANGENT_FACTOR, DEGENERATE_ROUTE_TOL, FMT, FMT_S, FMT_WIDTH, FMT3, FMT3_S, FMT4, FMT4_S, FMT6, FMT6_S, G_LIMIT, invariantRX, jacobianDoFStartRow, jacobianDoIStartRow, jacobianLimitStartRow, jacobianStartColumn, JOINT_SUBFRAMES, jointRX, JW_AXES, JW_COLOR_SCHEME, JW_LABEL, JW_MOBILITY_SLIDER, JW_MOBILITY_SURFACE, JW_ROUTE, JW_ROUTE_CONE, JW_SLIDER_SURFACE, lastSupportIndexBeforeBranch, limit, LIMIT_PENALTY_DEGREE, LIMITED_EDGE_PATTERN, LIMITED_EDGE_WIDTH, limitSet, locked, lockRX, LOWER, MOBILITY_ERROR_ROUTE_COLOR, mobilitydEMdQ, mobilitydEMdQDirty, mobilitydQdEM, mobilitydQdEMDirty, mobilitydRdEM, mobilitydRdEMDirty, mobilitydRdQ, mobilitydRdQDirty, mobilityInverted, mobilityQuaternion, mobilityQuaternionDirty, mobilityRotMatrix, mobilityRotMatrixDirty, mobilityRX, mobilityRXClamped, mobilityRXClampedInverse, mobilityRXClampedInverseDirty, mobilityRXInverse, mobilityRXInverseDirty, mobilityToParentRX, NUM_CHAIN_SUBTRANSFORMS, NUM_CONE_SECTORS, NUM_GOAL_SUBTRANSFORMS, NUM_HARD_GOAL_SUBTRANSFORMS, NUM_RESIDUAL_TYPES, NUM_ROUTE_SEGMENTS, NUM_SOFT_GOAL_SUBTRANSFORMS, NUM_SUBTRANSFORMS, NUM_TYPES, parentLink, parentMobilityCMT, parentMobilityCMTDirty, parentMobilityCMTQuaternion, parentMobilityCMTQuaternionDirty, parentMobilityCMTRotMatrix, parentMobilityCMTRotMatrixDirty, parentSubFrame, PG_GRAVITY, PG_POTENTIAL, PG_STIFFNESS, PLANAR_RECTANGLE_ALPHA, positioningTransformsLocked, postureRX, potentialEnabled, RESIDUAL_TYPES, REVOLUTE_SECTOR_ALPHA, rotationDoFLimited, ROUTE_LINE_WIDTH, ROUTE_TANGENT_FACTOR, RX_CHILD_TO_MOBILITY, RX_INVARIANT, RX_LOCK, RX_MOBILITY, RX_MOBILITY_TO_PARENT, RX_POSTURE, RX_TARGET, SECTOR_MARGIN, SECTOR_OFFSET_FACTOR, SECTOR_WIDTH_FACTOR, SEGMENT_LENGTH_FACTOR, SEGMENT_OFFSET_FACTOR, setGoalComponents, setLimitComponents, setRotationGoalComponents, setRotationLimitComponents, setTranslationGoalComponents, setTranslationLimitComponents, SF_CHILD, SF_CHILD_MOBILITY, SF_MOBILITY_FROM, SF_MOBILITY_TO, SF_PARENT, SF_PARENT_MOBILITY, singleMobilityDoF, singleMobilityDoFDirty, SLIDER_EDGE_WIDTH, SLIDER_PRISM_ALPHA, softGoalPriority, softGoalSolveLevel, softGoalWeight, solver, stiffness, stiffnessRest, SUB_RX_NAME, subRX, support, targetRX, tempRX, tempV3, tempV3D, translationDoFLimited, TREE_ROUTE_COLOR_SCHEME, type, TYPES, UNLIMITED_EDGE_PATTERN, UNLIMITED_EDGE_WIDTH, unmodifiableChildLinks, unsetGoalComponents, unsetLimitComponents, UPPER, WIDGET_MARGIN, WIDGET_NUM_SECTORS, WIDGET_RADIUS_FACTOR, WIDGET_WIDTH_FACTOR, WN_C_TO_M_ROUTE, WN_CHILD_MOBILITY_AXES, WN_JOINT_CIRCLE, WN_JOINT_CYLINDER, WN_JOINT_LABEL, WN_JOINT_PRISM, WN_JOINT_PRISM_ENDS, WN_JOINT_RECTANGLE, WN_JOINT_RECTANGLE_Y_EDGES, WN_JOINT_SECTOR, WN_JOINT_SECTOR_ENDS, WN_JOINT_SEGMENT, WN_JOINT_SPHERE, WN_JOINT_SQUARE, WN_M_TO_P_ROUTE, WN_MOBILITY_ROUTE, WN_PARENT_MOBILITY_AXES, WN_ROUTE_CONE_SUFFIX, WP_JOINT, WP_ROUTEautoNamed, cmt, DEF_WIDGET_LENGTH, depth, entityClass, explicitlyHidden, explicitlyHighlighted, explicitlyMasked, explicitlyVisible, linkage, name, nextAnonymousWidgetNumber, nodeWidgets, numUserWidgets, propertyMap, SF_CANONICAL, TM_JOINT_TYPE_START, TM_NUM_CLOSURE_JOINTS, TM_NUM_CONSTRAINED_CLOSURE_JOINTS, TM_NUM_DANGLING_JOINTS, TM_NUM_JOINT_WIDGETS, TM_NUM_JOINTS, TM_NUM_LINK_WIDGETS, TM_NUM_LINKAGES, TM_NUM_LINKS, TM_NUM_LOCKED_LINKS, TM_NUM_NODES, TM_NUM_SUPPORTING_TREE_JOINTS, TM_NUM_TREE_JOINTS, TM_NUM_UNCONSTRAINED_CLOSURE_JOINTS, TM_NUM_UNLOCKED_TREE_JOINTS, TM_NUM_WIDGETS, TM_SIZE, unmodifiableWidgets, widgetLength, widgetMap, widgets, widgetsDirty, WP_CACHED_SUBFRAME, WP_EXPLICIT_HIDDEN, WP_EXPLICIT_HIGHLIGHT, WP_EXPLICIT_MASK, WP_EXPLICIT_VISIBLE, WP_FRAME, WP_NAME, WP_NODE, WP_USER_SUBFRAME| Modifier | Constructor and Description |
|---|---|
protected |
RootJoint(Linkage linkage,
Link link)
Makes a new RootJoint attaching link to the
Linkage.groundLink of linkage. |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
checkType(Joint.Type type)
Check if type is a valid type for this joint in its current
connected configuration.
|
double |
getGravityPotential(vona.math.RX mobilityRX)
Impl of
Joint.getGravityPotential(). |
vona.math.RX |
getSubFrameRX(java.lang.String frame,
vona.math.RX rx,
boolean clamped)
Extends superclass impl to handle
SF_LINK_COM and SF_SUBTREE_COM. |
boolean |
hasGravity()
Check if this Joint has gravity.
|
boolean |
hasStiffness()
RootJoints never have stiffness.
|
Joint |
invert()
RootJoints cannot be inverted.
|
Joint |
makeClosureJoint()
RootJoints are automatically made closure joints as necessary.
|
static java.lang.String |
makeRootJointName(java.lang.String name)
|
Joint |
makeTreeJoint()
Chains to
Link.makeRootLink() on Joint.childLink. |
Link |
merge(boolean reparentUserJointWidgets,
boolean reparentUserLinkWidgets)
RootJoints cannot be merged.
|
boolean |
positioningTransformsMutable()
Positioning transforms are not mutable on RootJoints.
|
void |
remove()
RootJoints are automatically removed when the corresponding
Link is removed. |
Link |
setChildLink(Link link)
setChildLink(Link, boolean), holds absolute pose. |
Link |
setChildLink(Link link,
boolean holdAbsolutePose)
RootJoints are automatically attached to their associated
Link. |
void |
setChildToMobilityRX(Link child)
|
void |
setChildToMobilityRX(vona.math.RX rx)
For a RootJoint,
Joint.jointRX is always equal to Joint.mobilityRX. |
protected boolean |
setLimits(int component,
int offset,
java.lang.String name,
double min,
double max)
RootJoint limits are immutable.
|
Joint |
setMobilityToGravityRest()
Set the mobility DoF to zero gravitational potential energy stored in
this joint.
|
void |
setMobilityToParentRX(Link parent)
|
void |
setMobilityToParentRX(vona.math.RX rx)
For a RootJoint,
Joint.jointRX is always equal to Joint.mobilityRX. |
java.lang.String |
setName(java.lang.String name)
RootJoints are always auto-named.
|
Link |
setParentLink(Link link)
setParentLink(Link, boolean), holds absolute pose. |
Link |
setParentLink(Link link,
boolean holdAbsolutePose)
RootJoints are always connected to the
Linkage.groundLink. |
Joint |
setPositioningTransformsLocked(boolean lock)
Positioning transforms cannot be unlocked on RootJoints.
|
Joint |
setPosture(vona.math.RX rx)
RootJoints can have targets but not postures.
|
Joint.Type |
setType(Joint.Type type)
RootJoints are always
Joint.Type.GENERAL. |
protected boolean |
suppressTreeDump()
Whether to suppress this node in
LinkageNode.dumpTree(String,
PrintStream), default false. |
addAxesWidget, addCircleWidget, addCylinderWidget, addPrismWidgets, addRectangleWidgets, addRouteWidgets, addSectorWidgets, addSegmentWidget, addSphereWidget, addSquareWidget, checkName, clampDoFToLimits, clampToLimits, detachChildLink, detachParentLink, disablePotential, dump, dumpSolverInfo, dumpSolverInfo, dumpState, dumpState, dumpSubFrames, dumpSubJacobian, dumpSubJacobian, dumpSubRXState, dumpSubRXState, dumpSupport, dumpSupport, dumpTree, enablePotential, getAllDoFLimits, getAllRotationLimits, getAllTranslationLimits, getAttachmentName, getBranchLink, getChild, getChildLink, getChildMobilityCMTQuaternionRef, getChildMobilityCMTRef, getChildMobilityCMTRotMatrixRef, getChildName, getChildren, getChildSubFrame, getChildTOMobility, getChildToMobilityRX, getDoF, getDoF, getDoF, getDoF, getDoF, getDoF, getDoFIndices, getDoFIndices, getDoFIndices, getDoFIndicesRef, getDoFLimits, getDoFLimits, getDoFLimits, getDoFNames, getDoFNames, getDoFNames, getDoIIndices, getDoIIndices, getDoIIndices, getDoIIndicesRef, getDoINames, getDoINames, getDoINames, getGoalName, getGoalStatus, getGoalStatus, getGoalStatus, getGoalStatus, getGoalStatusBoolean, getGoalStatusString, getGravityPotential, getHighestPrioritySoftGoal, getIndices, getInvariant, getInvariants, getInvariants, getInvariants, getJacobianDoFStartRow, getJacobianDoIStartRow, getJacobianLimitStartRow, getJacobianStartColumn, getJointRX, getJointRX, getJointRXRef, getLimit, getLimitExcess, getLimitExcess, getLimitExcess, getLimitExcess, getLimitExcess, getLimitExcess, getLimitGoalName, getLimitPenalty, getLimitPenalty, getLimitPenalty, getLimitPenalty, getLimitPenalty, getLimits, getLimits, getLimits, getMobility, getMobility, getMobility, getMobilitydEMdQRef, getMobilityDoF, getMobilitydQdEMRef, getMobilitydRdEMRef, getMobilitydRdQRef, getMobilityQuaternionRef, getMobilityRotMatrixRef, getMobilityRX, getMobilityRXClampedInverseRef, getMobilityRXInverseRef, getMobilityRXTranslation, getMobilityRXTranslation, getMobilityToParent, getMobilityToParentRX, getNames, getNodeWidgetProperty, getNumDoF, getNumDoI, getNumGoalComponentsSet, getNumRotationDoF, getNumRotationGoalComponentsSet, getNumTranslationDoF, getNumTranslationGoalComponentsSet, getPackedInvariantsRef, getParent, getParentLink, getParentMobilityCMTQuaternionRef, getParentMobilityCMTRef, getParentMobilityCMTRotMatrixRef, getParentName, getParentSubFrame, getParentSubFrameOf, getPotential, getPotential, getPotentialGoal, getPotentialGoalName, getResidual, getResidual, getResidual, getRotation, getRotation, getRotation, getRotationDoFIndices, getRotationDoFIndices, getRotationDoFIndices, getRotationDoFIndicesRef, getRotationDoFNames, getRotationDoFNames, getRotationDoFNames, getRotationDoIIndices, getRotationDoIIndices, getRotationDoIIndices, getRotationDoIIndicesRef, getRotationDoINames, getRotationDoINames, getRotationDoINames, getRotationLimit, getSetGoalComponentNames, getSetGoalComponentNames, getSetGoalComponentNames, getSetGoalComponents, getSetRotationGoalComponents, getSetTranslationGoalComponents, getSingleMobilityDoF, getSoftGoalPriority, getSoftGoalSolveLevel, getSoftGoalWeight, getSolver, getStiffness, getStiffnessPotential, getStiffnessPotential, getStiffnessRest, getSubFrameCMT, getSubFrameCMT, getSubFrameCMT, getSubFrameCMT, getSubFrameRX, getSubFrameRX, getSubFrameRX, getSubRX, getSubRX, getSubRXName, getSubRXRef, getSupportSize, getTranslation, getTranslation, getTranslation, getTranslationDoFIndices, getTranslationDoFIndices, getTranslationDoFIndices, getTranslationDoFIndicesRef, getTranslationDoFNames, getTranslationDoFNames, getTranslationDoFNames, getTranslationDoIIndices, getTranslationDoIIndices, getTranslationDoIIndices, getTranslationDoIIndicesRef, getTranslationDoINames, getTranslationDoINames, getTranslationDoINames, getTranslationLimit, getType, getTypeName, getUnsetGoalComponents, handleMobilityChange, handleMobilityChange, hasAnyGoal, hasChildren, hasEitherSoftGoal, hasGoal, hasInvariant, hasLock, hasPosture, hasPotential, hasSubFrame, hasTarget, inDoFLimits, inDoFLimits, isActuator, isBroken, isChainSubtransform, isChildToMobilityIdentity, isClosureJoint, isConnected, isCrossing, isDoF, isDoF, isDoFLimited, isDoI, isDoI, isEffector, isEffector, isGoalSubtransform, isHardGoalSubtransform, isIdentity, isIncrossing, isInternalFrame, isLimited, isLimited, isLimited, isLimitGoal, isLocked, isMobilityIdentity, isMobilityInverted, isMobilitySpaceSubtransform, isMobilityToParentIdentity, isOutcrossing, isPositioningSubtransform, isPotentialEnabled, isPotentialGoal, isRotationDoF, isRotationDoI, isRotationLimited, isSoftGoalSubtransform, isStiffnessSet, isTranslationDoF, isTranslationDoI, isTranslationLimited, isTreeJoint, isTreeLeaf, lockPositioningTransforms, merge, merge, otherPositioningTransform, recomputeInverse, recomputeInverse, recomputeInverse, recomputeInverse, recomputeInverse, recomputeJointRX, resetSolveFields, setAllDoFLimits, setAllRotationLimits, setAllTranslationLimits, setChildLink, setChildLink, setChildLink, setChildLink, setChildToMobility, setChildToMobility, setDoF, setDoF, setDoF, setLock, setLocked, setLockRotation, setLockToMobility, setLockTranslation, setMobility, setMobilityDoF, setMobilityDoF, setMobilityDoF, setMobilityDoF, setMobilityToGoal, setMobilityToInvariant, setMobilityToLock, setMobilityToParent, setMobilityToParent, setMobilityToPosture, setMobilityToStiffnessRest, setMobilityToTarget, setParentLink, setParentLink, setParentLink, setParentLink, setPosture, setPostureRotation, setPostureToMobility, setPostureTranslation, setPotentialEnabled, setRotation, setRotationLimits, setSoftGoal, setSoftGoalDoF, setSoftGoalDoF, setSoftGoalDoF, setSoftGoalDoF, setSoftGoalPriority, setSoftGoalRX, setSoftGoalRXOrDoF, setSoftGoalToMobility, setSoftGoalWeight, setStiffness, setStiffnessRest, setStiffnessRestToMobility, setSubRX, setSubRX, setTarget, setTargetRotation, setTargetToMobility, setTargetTranslation, setTranslation, setTranslationLimits, setTypeImpl, setUnsetGoalDoFtoNaN, toString, toString, transformMobility, transformMobility, unAliasSubFrame, unlockPositioningTransforms, unsetAllDoFLimits, unsetAllRotationLimits, unsetAllTranslationLimits, unsetLock, unsetPosture, unsetRotationLimits, unsetSoftGoal, unsetSoftGoals, unsetStiffness, unsetTarget, unsetTranslationLimits, updateAxesWidget, updateAxesWidget, updateCircleWidget, updateCMTs, updateCylinderWidget, updateCylinderWidget, updateGoalFromMobility, updatePrismWidgets, updatePrismWidgets, updateRectangleWidgets, updateRectangleWidgets, updateRouteWidgets, updateRouteWidgets, updateSectorWidgets, updateSectorWidgets, updateSegmentWidget, updateSliderWidget, updateSliderWidget, updateSphereWidget, updateSphereWidget, updateSquareWidget, updateWidgetsImpladdWidget, addWidget, addWidget, addWidget, addWidget, addWidget, checkNamePattern, collectTreeMetrics, collectTreeMetrics, compareTo, dump, dumpSubFrames, dumpTree, dumpTree, dumpTreeMetrics, dumpTreeMetrics, enableDBGNormals, enableDBGNormalsRecursively, enableDBGSpheres, enableDBGSpheresRecursively, findImpl, findJoint, findJoint, findJoints, findJoints, findLink, findLink, findLinks, findLinks, findMultipleImpl, findNode, findNode, findNodes, findNodes, getCMT, getCMT, getDepth, getName, getNumUserWidgets, getNumWidgets, getProperty, getSubFrame, getSubFrame, getSubFrameCMT, getSubFrameCMT, getSubFrameCMT, getSubFrameName, getSubFrameRX, getSubFrameRX, getSubFrameRX, getWidget, getWidgetLength, getWidgets, hasDescendant, hasProperty, hasWidgets, isAutoNamed, isExplicitlyHidden, isExplicitlyHighlighted, isExplicitlyMasked, isExplicitlyVisible, isLive, isUserWidget, lock, removeAllWidgets, removeProperty, removeWidget, removeWidget, renameWidget, reparentUserWidgets, reparentUserWidgets, reparentWidget, reparentWidget, reparentWidgetImpl, reparentWidgets, reparentWidgets, setAllTreeJointsToGoal, setAllTreeJointsToHighestPrioritySoftGoal, setAllTreeJointsToPosture, setAllTreeJointsToTarget, setExplicitlyHidden, setExplicitlyHighlighted, setExplicitlyMasked, setExplicitlyVisible, setLockedRecursively, setProperty, setProperty, setWidgetLength, setWidgetLength, setWidgetLengthRecursively, setWidgetLengthRecursively, toString, traverseTree, unlock, updateCMTsRecursively, updateWidgets, updateWidgetsRecursivelyprivate static final java.lang.String cvsid
public static final java.lang.String SF_LINK_COM
Subframes representing the position of our child's CoM and subtree CoM in our parent's link frame.
public static final java.lang.String SF_SUBTREE_COM
Subframes representing the position of our child's CoM and subtree CoM in our parent's link frame.
protected RootJoint(Linkage linkage, Link link)
Makes a new RootJoint attaching link to the Linkage.groundLink of linkage.
RootJoints are consed automatically as part of Link
construction. Consing the first link in a Linkage is a special
case: the RootJoint in that case is initially an orphan; the Linkage constructor then parents it to the current ground link of the
parent linkage, if any, else null.
public java.lang.String setName(java.lang.String name)
RootJoints are always auto-named.
public Link setChildLink(Link link, boolean holdAbsolutePose)
RootJoints are automatically attached to their associated Link.
setChildLink in class Jointjava.lang.UnsupportedOperationExceptionpublic Link setChildLink(Link link)
setChildLink(Link, boolean), holds absolute pose.
setChildLink in class Jointpublic Link setParentLink(Link link, boolean holdAbsolutePose)
RootJoints are always connected to the Linkage.groundLink.
setParentLink in class Jointjava.lang.UnsupportedOperationExceptionpublic Link setParentLink(Link link)
setParentLink(Link, boolean), holds absolute pose.
setParentLink in class Jointpublic Joint makeClosureJoint()
RootJoints are automatically made closure joints as necessary.
makeClosureJoint in class Jointjava.lang.UnsupportedOperationExceptionpublic Joint makeTreeJoint()
Chains to Link.makeRootLink() on Joint.childLink.
makeTreeJoint in class Jointpublic Joint invert()
RootJoints cannot be inverted.
public void setChildToMobilityRX(vona.math.RX rx)
For a RootJoint, Joint.jointRX is always equal to Joint.mobilityRX.
java.lang.UnsupportedOperationExceptionpublic void setChildToMobilityRX(Link child)
public void setMobilityToParentRX(vona.math.RX rx)
For a RootJoint, Joint.jointRX is always equal to Joint.mobilityRX.
java.lang.UnsupportedOperationExceptionpublic void setMobilityToParentRX(Link parent)
public Joint.Type setType(Joint.Type type)
RootJoints are always Joint.Type.GENERAL.
public java.lang.String checkType(Joint.Type type)
Check if type is a valid type for this joint in its current connected configuration.
See Link.isConnectableToJointType(java.lang.String, msim.model.Joint.Type).
This impl only allows Joint.Type.GENERAL.
public Joint setPosture(vona.math.RX rx)
RootJoints can have targets but not postures.
java.lang.UnsupportedOperationExceptionpublic void remove()
RootJoints are automatically removed when the corresponding Link is removed.
public Link merge(boolean reparentUserJointWidgets, boolean reparentUserLinkWidgets)
RootJoints cannot be merged.
public boolean hasStiffness()
RootJoints never have stiffness.
hasStiffness in class Jointpublic boolean hasGravity()
Check if this Joint has gravity.
Default impl returns false. See hasGravity().
This impl returns true iff Joint.potentialEnabled, Joint.childLink is set and has mass, and MSim.isGravitySetAndEnabled().
hasGravity in class Jointpublic double getGravityPotential(vona.math.RX mobilityRX)
Impl of Joint.getGravityPotential().
Default impl returns 0. See getGravityPotential(vona.math.RX).
This impl returns 0 if not connected, if the child link has no mass, or
if not MSim.isGravitySetAndEnabled(). Else it computes m*g*h
where m is the child link mass, g is the magnitude of the
gravity vector, and h is the height of the child link CoM along the
gravity vector up direction in ground link frame.
getGravityPotential in class JointmobilityRX - the value to use for the current state of the mobility
of this joint, typically Joint.mobilityRXpublic Joint setMobilityToGravityRest()
Set the mobility DoF to zero gravitational potential energy stored in this joint.
RootJoint impl does nothing unless connected, child link has mass, and
MSim.isGravitySetAndEnabled(). Otherwise a translation vector
t is added to the mobility transform s.t. t is
the shortest vector that results in zero gravity potential.
setMobilityToGravityRest in class Jointpublic vona.math.RX getSubFrameRX(java.lang.String frame,
vona.math.RX rx,
boolean clamped)
Extends superclass impl to handle SF_LINK_COM and SF_SUBTREE_COM.
getSubFrameRX in class Jointclamped - whether to use Joint.mobilityRXClamped instead of
Joint.mobilityRX if they differpublic boolean positioningTransformsMutable()
Positioning transforms are not mutable on RootJoints.
positioningTransformsMutable in class Jointpublic Joint setPositioningTransformsLocked(boolean lock)
Positioning transforms cannot be unlocked on RootJoints.
setPositioningTransformsLocked in class Jointprotected boolean setLimits(int component,
int offset,
java.lang.String name,
double min,
double max)
RootJoint limits are immutable.
public static java.lang.String makeRootJointName(java.lang.String name)
protected boolean suppressTreeDump()
Whether to suppress this node in LinkageNode.dumpTree(String,
PrintStream), default false.
This impl suppresses unconstrained root closure joints.
suppressTreeDump in class LinkageNode