public class PlanarConnector extends BodyConnector implements CopyableComponent
ModelComponent.NavpanelVisibility
HasAuxState.StateContext
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
COPY_REFERENCES
TG_ARTICULATED, TG_DRAGGER, TG_PRESERVE_ORIENTATION, TG_SIMULATING
TRANSPARENT, TWO_DIMENSIONAL
Constructor and Description |
---|
PlanarConnector() |
PlanarConnector(RigidBody bodyA,
Vector3d pCA,
RigidBody bodyB,
RigidTransform3d XPB) |
PlanarConnector(RigidBody bodyA,
Vector3d pCA,
RigidTransform3d XPW) |
Modifier and Type | Method and Description |
---|---|
ModelComponent |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap)
Create a copy of this component.
|
RenderProps |
createRenderProps()
Factory method to create render properties appropriate to this object.
|
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
RigidBodyConstraint |
getConstraint() |
Vector3d |
getNormal() |
double |
getPlanarActivation() |
double |
getPlaneNormal(Vector3d nrm)
Gets the current plane normal, in world coordinates.
|
double |
getPlaneSize() |
boolean |
isUnilateral() |
void |
prerender(RenderList list)
Called prior to rendering to allow this object to update the internal
state required for rendering (such as by caching rendering coordinates).
|
void |
render(Renderer renderer,
int flags)
Render this object using the functionality of the supplied
Renderer . |
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
set(RigidBody bodyA,
Point3d pCA,
Vector3d worldPlaneNormal) |
void |
set(RigidBody bodyA,
Vector3d pCA,
RigidBody bodyB,
RigidTransform3d XPB)
Sets this PlanarConnectorX to connect two rigid bodies.
|
void |
set(RigidBody bodyA,
Vector3d pCA,
RigidTransform3d XPW)
Sets this PlanarConnectorX to connect a rigid body with the world frame.
|
void |
setDefaultValues()
Sets the attributes of this component to their default values.
|
void |
setPlaneSize(double len) |
void |
setUnilateral(boolean unilateral) |
void |
updateBounds(Vector3d pmin,
Vector3d pmax)
Update the minimum and maximum points for this object.
|
addBilateralConstraints, addFrictionConstraints, addMasterBlocks, addTransformableDependencies, addUnilateralConstraints, advanceAuxState, connectToHierarchy, disconnectFromHierarchy, findAttachedBodies, getActivation, getAuxState, getBilateralConstraints, getBilateralForceInA, getBilateralForceInA, getBilateralImpulses, getBilateralInfo, getBilateralSizes, getBodyA, getBodyB, getBreakAccel, getBreakSpeed, getCompliance, getConstrainedComponents, getContactDistance, getCopyReferences, getCurrentTCW, getCurrentTCW, getCurrentTDW, getCurrentTDW, getCurrentTXW, getDamping, getHardReferences, getInitialAuxState, getLinearCompliance, getOtherBody, getPenetrationTol, getPenetrationTolMode, getPose, getRotaryCompliance, getUnilateralConstraints, getUnilateralForceInA, getUnilateralForceInA, getUnilateralImpulses, getUnilateralInfo, getUnilateralSizes, hasState, hasTranslation, hasUnilateralConstraints, isActive, isDuplicatable, isEnabled, maxFrictionConstraintSets, numBilateralConstraints, numBodies, numUnilateralConstraints, printConstraintInfo, scaleMass, setAuxState, setBilateralImpulses, setBodies, setBodies, setBodies, setBodies, setBreakAccel, setBreakSpeed, setCompliance, setContactDistance, setCurrentTCW, setCurrentTDW, setDamping, setEnabled, setLinearCompliance, setPenetrationTol, setPenetrationTolMode, setRotaryCompliance, setUnilateralImpulses, skipAuxState, transformGeometry, transformGeometry, updateBodyStates, updateConstraints, updateForBodyPositionChange, updateUnilateralConstraints, zeroImpulses
getRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderProps
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, isConnectedToHierarchy, isFixed, isMarked, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, postscan, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, scan, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setSelected, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getCopyReferences, isDuplicatable
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferences
getProperty
getChildren, hasChildren
isWritable, write
public static PropertyList myProps
public PlanarConnector()
public PlanarConnector(RigidBody bodyA, Vector3d pCA, RigidBody bodyB, RigidTransform3d XPB)
public PlanarConnector(RigidBody bodyA, Vector3d pCA, RigidTransform3d XPW)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class BodyConnector
public Vector3d getNormal()
public void setDefaultValues()
ModelComponentBase
public double getPlaneSize()
public void setPlaneSize(double len)
public double getPlaneNormal(Vector3d nrm)
nrm
- returns the plane normalpublic RigidBodyConstraint getConstraint()
public void set(RigidBody bodyA, Vector3d pCA, RigidBody bodyB, RigidTransform3d XPB)
bodyA
- first rigid bodypCA
- location of contact point relative to body AbodyB
- second rigid bodyXPB
- plane coordinate frame with respect to body B. The plane normal is given
by the z axis of this frame, and the plane's origin is given by XPB.ppublic void set(RigidBody bodyA, Vector3d pCA, RigidTransform3d XPW)
bodyA
- rigid bodypCA
- location of contact point relative to bodyXPW
- plane coordinate frame with respect to the world. The plane normal is
given by the z axis of this frame, and the plane's origin is given by
XPB.ppublic void updateBounds(Vector3d pmin, Vector3d pmax)
IsRenderable
updateBounds
in interface IsRenderable
updateBounds
in class BodyConnector
pmin
- minimum pointpmax
- maximum pointpublic RenderProps createRenderProps()
HasRenderProps
createRenderProps
in interface HasRenderProps
createRenderProps
in class RenderableComponentBase
public void prerender(RenderList list)
IsRenderable
list.addIfVisible (obj);
for each of the objects in question.prerender
in interface IsRenderable
prerender
in class RenderableComponentBase
list
- list of objects to be renderedpublic void render(Renderer renderer, int flags)
IsRenderable
Renderer
.render
in interface IsRenderable
render
in class RenderableComponentBase
renderer
- provides the functionality used to perform the rendering.flags
- flags that may be used to control different
aspects of the rendering. Flags are defined in Renderer
and currently include
Renderer.HIGHLIGHT
and
Renderer.SORT_FACES
.public void scaleDistance(double s)
ScalableUnits
scaleDistance
in interface ScalableUnits
scaleDistance
in class BodyConnector
s
- scaling factorpublic double getPlanarActivation()
public boolean isUnilateral()
public void setUnilateral(boolean unilateral)
public ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponent
COPY_REFERENCES
is set in flags
, then any component referenced
by this component should itself be set to a copy. This
should be done first checking copyMap
for an
existing copy of the referenced component. If there is no existing
copy, then a copy should be created by calling copy
recursively and adding the new copy to copyMap
.copy
in interface CopyableComponent
copy
in class BodyConnector
flags
- flags to control the copyingcopyMap
- map to possible existing instances of referenced
components