public class SkewedUniversalJoint extends UniversalJoint
skewAngle
,
such that the angle between them is PI/2 - skewAngle
.UniversalJoint.AxisSet
ModelComponent.NavpanelVisibility
DEFAULT_JOINT_RADIUS, myProps, PITCH_IDX, ROLL_IDX
DEFAULT_SHAFT_LENGTH, DEFAULT_SHAFT_RADIUS
debug, useOldDerivativeMethod
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES, REST_POSITION
TG_ARTICULATED, TG_DRAGGER, TG_PRESERVE_ORIENTATION, TG_SIMULATING
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
SkewedUniversalJoint() |
SkewedUniversalJoint(ConnectableBody bodyA,
ConnectableBody bodyB,
RigidTransform3d TDW,
double skewAng)
Creates a SkewedUniversalJoint between
bodyA and bodyB ,
with the initial joint coordinate frame D given (in world coordinates) by
TDW . |
SkewedUniversalJoint(ConnectableBody bodyA,
ConnectableBody bodyB,
RigidTransform3d TCW,
RigidTransform3d TDW,
double skewAngle)
Creates a
SkewedUniversalJoint connecting two connectable bodies,
bodyA and bodyB . |
SkewedUniversalJoint(ConnectableBody bodyA,
ConnectableBody bodyB,
Vector3d originD,
Vector3d rollAxis,
Vector3d pitchAxis)
Creates a SkewedUniversalJoint between
bodyA and bodyB ,
with the origin of D given by originD and the initial directions
of the roll and pitch axes given by rollAxis and pitchAxis . |
SkewedUniversalJoint(double skewAngle,
UniversalJoint.AxisSet axes) |
SkewedUniversalJoint(RigidBody bodyA,
RigidTransform3d TCA,
RigidBody bodyB,
RigidTransform3d TDB,
double skewAngle)
Creates a SkewedUniversalJoint between
bodyA and bodyB . |
Modifier and Type | Method and Description |
---|---|
double |
getSkewAngle() |
getAllPropertyInfo, getAxes, getJointRadius, getMaxPitch, getMaxRoll, getMinPitch, getMinRoll, getPitch, getPitchRange, getRoll, getRollPitchRad, getRollRange, isPitchLocked, isRollLocked, render, setJointRadius, setMaxPitch, setMaxRoll, setMinPitch, setMinRoll, setPitch, setPitchLocked, setPitchRange, setPitchRange, setRoll, setRollLocked, setRollPitchRad, setRollRange, setRollRange, updateBounds
addCoordinateSolveBlocks, addCoordinateVelJacobian, applyCoordinateForce, coordinatesToTCD, getCoordinate, getCoordinateDeg, getCoordinateIndex, getCoordinateMotionType, getCoordinateName, getCoordinateRange, getCoordinateRangeDeg, getCoordinates, getCoordinateSpeed, getCoordinateValue, getMaxCoordinate, getMaxCoordinateDeg, getMinCoordinate, getMinCoordinateDeg, getPosition, getShaftLength, getShaftRadius, getStoredCoordinates, getStoredTCD, getStoredTCD, isCoordinateLocked, numCoordinates, setCoordinate, setCoordinateDeg, setCoordinateLocked, setCoordinateName, setCoordinateRange, setCoordinateRangeDeg, setCoordinates, setShaftLength, setShaftRadius
addBilateralConstraints, addFrictionConstraints, addMasterBlocks, addTransformableDependencies, addUnilateralConstraints, computeConstraintMatrixA, computeConstraintMatrixB, connectToHierarchy, copy, disconnectFromHierarchy, findAttachedBodies, getActivation, getAxisLength, getBilateralForceInA, getBilateralForceInA, getBilateralForceInB, getBilateralForceInB, getBilateralForceInC, getBilateralForceInC, getBilateralForces, getBilateralInfo, getBilateralSizes, getBodyA, getBodyB, getCompliance, getConstrainedComponents, getConstraint, getConstraintFlags, getConstraintForce, getCopyReferences, getCoupling, getCurrentTCD, getCurrentTCW, getCurrentTCW, getCurrentTDW, getCurrentTDW, getDamping, getDrawFrameC, getDrawFrameD, getFrameAttachmentA, getFrameAttachmentB, getFrictionForces, getFrictionState, getHardReferences, getLinearCompliance, getPenetrationTol, getPenetrationTolMode, getPose, getRenderFrame, getRotaryCompliance, getRotaryLimitTol, getRotaryLimitTolMode, getState, getStateVersion, getTransformDGeometryOnly, getTransformPositionOnly, getUnilateralForceInA, getUnilateralForceInA, getUnilateralForceInB, getUnilateralForceInB, getUnilateralForceInC, getUnilateralForceInC, getUnilateralForces, getUnilateralInfo, getUnilateralSizes, getUnilateralState, hasState, isActive, isConnectedToBodies, isDuplicatable, isEnabled, isNotAttached, maxFrictionConstraintSets, numBilateralConstraints, numConstraints, numEngagedUnilateralConstraints, numUnilateralConstraints, prerender, printConnectedBodies, printConstraintInfo, scaleDistance, scaleMass, setAlwaysAdjustBodyA, setAxisLength, setBilateralForces, setBodies, setBodies, setBodies, setBodies, setCompliance, setCurrentTCW, setCurrentTDW, setDamping, setDrawFrameC, setDrawFrameD, setEnabled, setFrictionForces, setFrictionState, setLinearCompliance, setPenetrationTol, setPenetrationTolMode, setRotaryCompliance, setRotaryLimitTol, setRotaryLimitTolMode, setState, setTransformDGeometryOnly, setTransformPositionOnly, setUnilateralForces, setUnilateralState, transformGeometry, transformGeometry, updateAttachments, updateConstraints, zeroForces
createRenderProps, defaultRenderPropsAreNull, getRenderHints, getRenderProps, getSelection, isSelectable, isVisible, numSelectionQueriesNeeded, setRenderProps, setVisible, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
copy, getCopyReferences, isDuplicatable
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferences
getProperty
getChildren, hasChildren
postscan
isWritable, write
transformPriority
advanceState, getAuxVarDerivative, getAuxVarState, numAuxVars, requiresAdvance, setAuxVarState
public SkewedUniversalJoint()
public SkewedUniversalJoint(double skewAngle, UniversalJoint.AxisSet axes)
public SkewedUniversalJoint(RigidBody bodyA, RigidTransform3d TCA, RigidBody bodyB, RigidTransform3d TDB, double skewAngle)
bodyA
and bodyB
.
The skew angle is defined such that the angle between the roll and pitch
axes is given by PI/2 - skewAngle
. If A and B describe the
coordinate frames of bodyA
and bodyB
, then TCA
and TDB
give the (fixed) transforms from the joint's C and D
frames to A and B, respectively. Since C and D are specified
independently, they may not initially be coincident.
Specifying bodyB
as null
will cause bodyA
to
be connected to ground, with TDB
then being the same as TDW
.
bodyA
- first body connected to the jointTCA
- transform from the joint C frame to body AbodyB
- second body connected to the joint (or null
)TDB
- transform from the joint D frame to body BskewAngle
- skew angle (must lie in the open interval (-PI/2, PI/2).public SkewedUniversalJoint(ConnectableBody bodyA, ConnectableBody bodyB, RigidTransform3d TCW, RigidTransform3d TDW, double skewAngle)
SkewedUniversalJoint
connecting two connectable bodies,
bodyA
and bodyB
. The skew angle is defined such that the
angle between the roll and pitch axes is given by PI/2 -
skewAngle
. The joint frames C and D are located independently with
respect to world coordinates by TCW
and TDW
.
Specifying bodyB
as null
will cause bodyA
to
be connected to ground.
bodyA
- body AbodyB
- body B (or null
)TCW
- initial transform from joint frame C to worldTDW
- initial transform from joint frame D to worldpublic SkewedUniversalJoint(ConnectableBody bodyA, ConnectableBody bodyB, RigidTransform3d TDW, double skewAng)
bodyA
and bodyB
,
with the initial joint coordinate frame D given (in world coordinates) by
TDW
. The skew angle is defined such that the angle between
the roll and pitch axes is given by PI/2 - skewAngle
.
Specifying bodyB
as null
will cause bodyA
to
be connected to ground.
bodyA
- first body connected to the jointbodyB
- second body connected to the joint (ot null
)TDW
- joint coordinate frame D in world coordinatesskewAng
- skew angle (must lie in the open interval (-PI/2, PI/2).public SkewedUniversalJoint(ConnectableBody bodyA, ConnectableBody bodyB, Vector3d originD, Vector3d rollAxis, Vector3d pitchAxis)
bodyA
and bodyB
,
with the origin of D given by originD
and the initial directions
of the roll and pitch axes given by rollAxis
and pitchAxis
.
Specifying bodyB
as null
will cause bodyA
to
be connected to ground.
bodyA
- first body connected to the jointbodyB
- second body connected to the joint (ot null
)originD
- initial origin of frame D (world coordinates)rollAxis
- initial direction of the roll axis (world coordinates)pitchAxis
- initial direction of the pitch axis (world coordinates)