public class SegmentedPlanarConnector extends BodyConnector implements CopyableComponent
ModelComponent.NavpanelVisibilityHasAuxState.StateContext| Modifier and Type | Field and Description | 
|---|---|
| static PropertyList | myProps | 
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCESTG_ARTICULATED, TG_DRAGGER, TG_PRESERVE_ORIENTATION, TG_SIMULATINGTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description | 
|---|
| SegmentedPlanarConnector() | 
| SegmentedPlanarConnector(RigidBody bodyA,
                        Vector3d pCA,
                        RigidBody bodyB,
                        RigidTransform3d XPB,
                        double[] segs) | 
| SegmentedPlanarConnector(RigidBody bodyA,
                        Vector3d pCA,
                        RigidTransform3d XPW,
                        double[] segs) | 
| 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. | 
| double | getPlanarActivation() | 
| double | getPlaneSize() | 
| boolean | isRenderNormalReversed() | 
| 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,
   Vector3d pCA,
   RigidBody bodyB,
   RigidTransform3d XDB,
   double[] segs)Sets this SegmentedPlanarConnectorX to connect two rigid bodies. | 
| void | set(RigidBody bodyA,
   Vector3d pCA,
   RigidTransform3d TDW,
   double[] segs)Sets this SegmentedPlanarConnectorX 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 | setRenderNormalReversed(boolean reversed) | 
| 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, zeroImpulsesgetRenderHints, getRenderProps, getSelection, isSelectable, numSelectionQueriesNeeded, setRenderProps, updateRenderPropscheckFlag, 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, writeequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCopyReferences, isDuplicatableconnectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writepublic static PropertyList myProps
public SegmentedPlanarConnector()
public SegmentedPlanarConnector(RigidBody bodyA, Vector3d pCA, RigidBody bodyB, RigidTransform3d XPB, double[] segs)
public SegmentedPlanarConnector(RigidBody bodyA, Vector3d pCA, RigidTransform3d XPW, double[] segs)
public PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class BodyConnectorpublic void setDefaultValues()
ModelComponentBasepublic double getPlaneSize()
public void setPlaneSize(double len)
public double getPlanarActivation()
public void set(RigidBody bodyA, Vector3d pCA, RigidBody bodyB, RigidTransform3d XDB, double[] segs)
The plane segments are defined by a sequence of x-z coordinate pairs in the D coordinate frame. The number of segments equals the number of pairs minus one, so there must be at least two pairs (which would define a single plane). Segments are assumed to be contiguous, and the normal for each is defined by u X y, where u is a vector in the direction of the segment (from first to last coordinate pair) and y is the direction of the y axis. The first and last plane segments are assumed to extend to infinity.
bodyA - first rigid bodypCA - location of contact point relative to body AbodyB - second rigid bodyXDB - transformation from frame D to body Bsegs - segment boundaries, given as pairs of coordinates in the x-z plane.public void set(RigidBody bodyA, Vector3d pCA, RigidTransform3d TDW, double[] segs)
set
 routine.bodyA - rigid bodypCA - location of contact point relative to bodyTDW - transformation from frame D to world coordinatessegs - segment boundaries, given as pairs of coordinates in the x-z plane.public void updateBounds(Vector3d pmin, Vector3d pmax)
IsRenderableupdateBounds in interface IsRenderableupdateBounds in class BodyConnectorpmin - minimum pointpmax - maximum pointpublic RenderProps createRenderProps()
HasRenderPropscreateRenderProps in interface HasRenderPropscreateRenderProps in class RenderableComponentBasepublic void prerender(RenderList list)
IsRenderablelist.addIfVisible (obj);
for each of the objects in question.prerender in interface IsRenderableprerender in class RenderableComponentBaselist - list of objects to be renderedpublic void render(Renderer renderer, int flags)
IsRenderableRenderer.render in interface IsRenderablerender in class RenderableComponentBaserenderer - 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)
ScalableUnitsscaleDistance in interface ScalableUnitsscaleDistance in class BodyConnectors - scaling factorpublic boolean isRenderNormalReversed()
public void setRenderNormalReversed(boolean reversed)
public boolean isUnilateral()
public void setUnilateral(boolean unilateral)
public ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
CopyableComponentCOPY_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 CopyableComponentcopy in class BodyConnectorflags - flags to control the copyingcopyMap - map to possible existing instances of referenced
 components