public class FemNode3d extends FemNode
ModelComponent.NavpanelVisibility| Modifier and Type | Field and Description | 
|---|---|
| static PropertyList | myProps | 
myRenderCoordsenforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesCOPY_REFERENCESTG_ARTICULATED, TG_DRAGGER, TG_PRESERVE_ORIENTATION, TG_SIMULATINGTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description | 
|---|
| FemNode3d() | 
| FemNode3d(double x,
         double y,
         double z) | 
| FemNode3d(Point3d p) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addElementDependency(FemElement3d e) | 
| FemNodeNeighbor | addIndirectNeighbor(FemNode3d nbrNode) | 
| void | addScaledStrain(double s,
               SymmetricMatrix3d sig) | 
| void | addScaledStress(double s,
               SymmetricMatrix3d sig) | 
| void | clearIndirectNeighbors() | 
| double | computeMassFromDensity() | 
| void | connectToHierarchy()Called by the system after this component is added to the
 component hierarchy (i.e., when it is added as a child of another
 CompositeComponent). | 
| FemNode3d | copy(int flags,
    java.util.Map<ModelComponent,ModelComponent> copyMap)Create a copy of this component. | 
| void | deregisterNodeNeighbor(FemNode3d nbrNode) | 
| void | disconnectFromHierarchy()Called by the system after this component is removed from the component
 hierarchy (i.e., when it is removed as a child of its parent). | 
| PropertyList | getAllPropertyInfo()Returns a list giving static information about all properties exported by
 this object. | 
| Vector3d | getDisplacement() | 
| java.util.LinkedList<FemElement3d> | getElementDependencies() | 
| int | getIncompressIndex() | 
| int | getIndex() | 
| FemNodeNeighbor | getIndirectNeighbor(FemNode3d node) | 
| FemNodeNeighbor | getIndirectNeighborBySolveIndex(int idx) | 
| java.util.LinkedList<FemNodeNeighbor> | getIndirectNeighbors()Indirect neighbors are the neighbors-of-neighbors. | 
| Vector3d | getInternalForce() | 
| Point3d | getLocalRestPosition() | 
| FemNodeNeighbor | getNodeNeighbor(FemNode3d node) | 
| FemNodeNeighbor | getNodeNeighborBySolveIndex(int idx) | 
| java.util.LinkedList<FemNodeNeighbor> | getNodeNeighbors() | 
| Point3d | getRestPosition() | 
| SymmetricMatrix3d | getStrain()Returns the average strain for this node. | 
| SymmetricMatrix3d | getStress()Returns the average stress for this node. | 
| Vector3d | getTargetDisplacement() | 
| double | getVonMisesStrain()Returns the von Mises strain for this node. | 
| double | getVonMisesStress()Returns the von Mises stress for this node. | 
| int | numAdjacentElements() | 
| void | removeElementDependency(FemElement3d e) | 
| void | resetRestPosition() | 
| void | scaleDistance(double s)Scales all distance coordinates. | 
| boolean | scanItem(ReaderTokenizer rtok,
        java.util.Deque<ScanToken> tokens) | 
| void | setFrame(Frame frame) | 
| void | setIncompressIndex(int idx) | 
| void | setIndex(int idx) | 
| void | setRestPosition(Point3d pos) | 
| void | setStrain(double vms) | 
| void | setStress(double vms) | 
| void | setTargetDisplacement(Vector3d del) | 
| void | transformGeometry(GeometryTransformer gt,
                 TransformGeometryContext context,
                 int flags)Transforms the geometry of this component, using the geometry transformer
  gtrto transform its individual attributes. | 
| void | zeroStrain() | 
| void | zeroStress() | 
addMass, clearMass, getMass, invalidateMassIfNecessary, isMassExplicit, scaleMass, setMass, setMassExplicitaddEffectiveMass, applyGravity, applyPosImpulse, createPointAttachment, getConstraint, getCopyReferences, getEffectiveMass, getEffectiveMass, getInverseMass, getMass, getMass, getVelDerivative, isDuplicatable, mulInverseEffectiveMass, resetEffectiveMass, setConstraint, setDynamicaddExternalForce, addForce, addLocalForce, addPosImpulse, addPosJacobian, addScaledExternalForce, addScaledForce, addScaledLocalForce, addSolveBlock, addSolveBlocks, addTargetJacobian, addToPointVelocity, addToSolveBlockDiagonal, addTransformableDependencies, addVelJacobian, applyExternalForces, applyForces, createMassBlock, createRenderProps, createSolveBlock, distance, distance, getEffectiveMassForces, getExternalForce, getForce, getForce, getJacobianType, getLocalPosition, getLocalPosition, getLocalVelocity, getLocalVelocity, getPointDamping, getPointDampingMode, getPointFrame, getPosDerivative, getPosition, getPosition, getPosState, getPosStateSize, getRenderCoords, getRenderProps, getSelection, getState, getTargetActivity, getTargetPos, getTargetPosition, getTargetVel, getTargetVelocity, getTraceablePositionProperty, getTraceables, getVelocity, getVelocity, getVelState, getVelStateSize, isMassConstant, isSelectable, prerender, render, resetTargets, setContactConstraint, setExternalForce, setForce, setForce, setLocalPosition, setLocalPosition, setLocalVelocity, setLocalVelocity, setPointDamping, setPointDampingMode, setPointFrame, setPosition, setPosition, setPosState, setRenderProps, setScaledExternalForce, setState, setState, setTargetActivity, setTargetPos, setTargetPosition, setTargetVel, setTargetVelocity, setVelocity, setVelocity, setVelState, subForce, subLocalForce, updateBounds, updatePosState, updateVelState, velocityLimitExceeded, zeroExternalForces, zeroForcesaddConstrainer, addMasterAttachment, getAttachment, getConstrainers, getMasterAttachments, getSolveIndex, hasState, isActive, isAttached, isControllable, isDynamic, isParametric, removeConstrainer, removeMasterAttachment, setAttached, setSolveIndex, transformGeometrygetRenderHints, numSelectionQueriesNeeded, updateRenderPropscheckFlag, checkName, checkNameUniqueness, clearFlag, clone, createTempFlag, getChildren, getGrandParent, getHardReferences, 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, waitgetHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writeaddConstrainer, addMasterAttachment, checkFlag, clearFlag, getAttachment, getConstrainers, getMasterAttachments, getSolveIndex, isActive, isAttached, isControllable, isDynamic, isParametric, removeConstrainer, removeMasterAttachment, setAttached, setFlag, setSolveIndextransformGeometrypublic static PropertyList myProps
public FemNode3d()
public FemNode3d(Point3d p)
public FemNode3d(double x,
                 double y,
                 double z)
public PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class Particlepublic int getIndex()
public void setIndex(int idx)
public int getIncompressIndex()
public void setIncompressIndex(int idx)
public double getVonMisesStress()
public Vector3d getDisplacement()
public Vector3d getTargetDisplacement()
public void setTargetDisplacement(Vector3d del)
public SymmetricMatrix3d getStress()
public void setStress(double vms)
public void zeroStress()
public void addScaledStress(double s,
                            SymmetricMatrix3d sig)
public double getVonMisesStrain()
public SymmetricMatrix3d getStrain()
public void setStrain(double vms)
public void zeroStrain()
public void addScaledStrain(double s,
                            SymmetricMatrix3d sig)
public Vector3d getInternalForce()
public java.util.LinkedList<FemNodeNeighbor> getNodeNeighbors()
public FemNodeNeighbor getNodeNeighborBySolveIndex(int idx)
public FemNodeNeighbor getNodeNeighbor(FemNode3d node)
public java.util.LinkedList<FemNodeNeighbor> getIndirectNeighbors()
public FemNodeNeighbor getIndirectNeighborBySolveIndex(int idx)
public FemNodeNeighbor getIndirectNeighbor(FemNode3d node)
public void clearIndirectNeighbors()
public FemNodeNeighbor addIndirectNeighbor(FemNode3d nbrNode)
public void deregisterNodeNeighbor(FemNode3d nbrNode)
public boolean scanItem(ReaderTokenizer rtok, java.util.Deque<ScanToken> tokens) throws java.io.IOException
public void transformGeometry(GeometryTransformer gt, TransformGeometryContext context, int flags)
TransformableGeometrygtr to transform its individual attributes. The
 context argument supplies information about what other
 components are currently being transformed, and also allows the
 requesting of update actions to be performed after all transform called
 have completed. The context is also the usual entity that calls
 this method, from within its TransformGeometryContext.apply(maspack.geometry.GeometryTransformer, int)
 method. The argument flags provides flags to specify
 various conditions associated with the the transformation. 
 At present, the available flags are TransformableGeometry.TG_SIMULATING and 
 TransformableGeometry.TG_ARTICULATED.
 This method is not usually called directly by applications. 
 Instead, it is typically called from within the 
 TransformGeometryContext.apply(maspack.geometry.GeometryTransformer, int) method of the context,
 which takes care of the various operations needed for a
 complete transform operation, including calling 
 TransformableGeometry.addTransformableDependencies(artisynth.core.modelbase.TransformGeometryContext, int) to collect other 
 components that should be transformed, calling 
 TransformableGeometry.transformGeometry(maspack.matrix.AffineTransform3dBase) for each component, notifying
 component parents that the geometry has changed, and calling
 any requested TransformGeometryActions. More details
 are given in the documentation for 
 TransformGeometryContext.apply(maspack.geometry.GeometryTransformer, int).
 
 
TransformGeometryContext provides a number of
 static convenience transform methods
 which take care of building the context and calling
 apply() for a specified set of components.
 
 
This method should not
 generally call transformGeometry() for its descendant
 components. Instead, descendants needing transformation should be
 specified by adding them to the context in the method TransformableGeometry.addTransformableDependencies(artisynth.core.modelbase.TransformGeometryContext, int).
transformGeometry in interface TransformableGeometrytransformGeometry in class Pointgt - transformer implementing the transformcontext - context information, including what other components
 are being transformedflags - specifies conditions associated with the transformationpublic void scaleDistance(double s)
ScalableUnitsscaleDistance in interface ScalableUnitsscaleDistance in class Particles - scaling factorpublic void addElementDependency(FemElement3d e)
public void removeElementDependency(FemElement3d e)
public java.util.LinkedList<FemElement3d> getElementDependencies()
public int numAdjacentElements()
public double computeMassFromDensity()
computeMassFromDensity in class FemNodepublic void connectToHierarchy()
ModelComponentBase
 When this method is called, ModelComponent.getParent() will return
 the new parent component; the system will have set this beforehand.
connectToHierarchy in interface ModelComponentconnectToHierarchy in class ModelComponentBasepublic void disconnectFromHierarchy()
ModelComponentBase When this
 method is called, ModelComponent.getParent() will still return this original
 parent component; the system will set this to null after.
disconnectFromHierarchy in interface ModelComponentdisconnectFromHierarchy in class ModelComponentBasepublic void setFrame(Frame frame)
public void resetRestPosition()
public Point3d getRestPosition()
public Point3d getLocalRestPosition()
public void setRestPosition(Point3d pos)
public FemNode3d 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 FemNodeflags - flags to control the copyingcopyMap - map to possible existing instances of referenced
 components