public abstract class PointSpringBase extends Spring implements RenderableComponent, ScalableUnits
ModelComponent.NavpanelVisibility| Modifier and Type | Field and Description |
|---|---|
static boolean |
myIgnoreCoriolisInJacobian |
static PropertyList |
myProps |
static boolean |
useMaterial |
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNamesTRANSPARENT, TWO_DIMENSIONAL| Constructor and Description |
|---|
PointSpringBase(java.lang.String name) |
| Modifier and Type | Method and Description |
|---|---|
double |
computeDFdl(double l,
double ldot)
Computes the derivative of spring force magnitude (acting along the unit
vector from the first to the second particle) with respect to spring
length.
|
double |
computeDFdldot(double l,
double ldot)
Computes the derivative of spring force magnitude (acting along the unit
vector from the first to the second particle)with respect to the time
derivative of spring length.
|
double |
computeF(double l,
double ldot)
Computes the force magnitude acting along the unit vector from the first
to the second particle.
|
ModelComponent |
copy(int flags,
java.util.Map<ModelComponent,ModelComponent> copyMap) |
static AxialMaterial |
createDefaultMaterial() |
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.
|
AxialMaterial |
getEffectiveMaterial() |
abstract double |
getLength() |
abstract double |
getLengthDot() |
AxialMaterial |
getMaterial() |
static double |
getMaxForce(PointSpringBase s) |
float[] |
getRenderColor() |
int |
getRenderHints()
Returns a bit code giving rendering hints about this renderable.
|
RenderProps |
getRenderProps()
Returns the render properities for this object.
|
double |
getRestLength() |
void |
getSelection(java.util.LinkedList<java.lang.Object> list,
int qid)
Append to
list the component (or components) associated with
the qid-th selection query issued by this component's render
method. |
boolean |
isSelectable()
Returns true if this object is in fact selectable.
|
int |
numSelectionQueriesNeeded()
If this selectable manages its own selection (by issuing selection
queries within its
render method), then this method should
return the maximum number of selection queries that will be
required. |
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).
|
abstract 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 |
scaleMass(double s)
Scales all mass units.
|
static void |
setDamping(PointSpringBase s,
double d) |
void |
setLinearMaterial(double k,
double d) |
void |
setMaterial(AxialMaterial mat) |
static void |
setMaxForce(PointSpringBase s,
double maxf) |
void |
setRenderProps(RenderProps props)
Assigns a new set of render properties to this object.
|
void |
setRestLength(double l) |
abstract double |
setRestLengthFromPoints()
Sets the rest length of the spring from the current point locations
|
static void |
setStiffness(PointSpringBase s,
double k) |
abstract void |
updateBounds(Vector3d pmin,
Vector3d pmax)
Update the minimum and maximum points for this object.
|
applyForcescheckFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, createTempFlag, disconnectFromHierarchy, getChildren, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getProperty, getSoftReferences, hasChildren, hasState, 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, waitconnectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, postscan, scan, setFixed, setMarked, setName, setNumber, setParent, setSelected, updateReferencesgetPropertygetChildren, hasChildrenisWritable, writeaddPosJacobian, addSolveBlocks, addVelJacobian, getJacobianTypepublic static boolean myIgnoreCoriolisInJacobian
public static boolean useMaterial
public static PropertyList myProps
public PropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class ModelComponentBasepublic static AxialMaterial createDefaultMaterial()
public AxialMaterial getMaterial()
public void setLinearMaterial(double k,
double d)
public void setMaterial(AxialMaterial mat)
public AxialMaterial getEffectiveMaterial()
public abstract double getLength()
public abstract double getLengthDot()
public abstract double setRestLengthFromPoints()
public double getRestLength()
public void setRestLength(double l)
public RenderProps getRenderProps()
HasRenderPropsgetRenderProps in interface HasRenderPropspublic void setRenderProps(RenderProps props)
HasRenderPropsnull will remove render properties from this object.setRenderProps in interface HasRenderPropsprops - new render properties for this objectpublic RenderProps createRenderProps()
HasRenderPropscreateRenderProps in interface HasRenderPropspublic void prerender(RenderList list)
IsRenderablelist.addIfVisible (obj);
for each of the objects in question.prerender in interface IsRenderablelist - list of objects to be renderedpublic abstract void updateBounds(Vector3d pmin, Vector3d pmax)
IsRenderableupdateBounds in interface IsRenderablepmin - minimum pointpmax - maximum pointpublic int getRenderHints()
IsRenderableTRANSPARENT and
TWO_DIMENSIONAL.getRenderHints in interface IsRenderablepublic boolean isSelectable()
IsSelectableisSelectable in interface IsSelectablepublic int numSelectionQueriesNeeded()
IsSelectablerender method), then this method should
return the maximum number of selection queries that will be
required. Otherwise, this method should return -1.numSelectionQueriesNeeded in interface IsSelectablepublic abstract void render(Renderer renderer, int flags)
IsRenderableRenderer.render in interface IsRenderablerenderer - 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 getSelection(java.util.LinkedList<java.lang.Object> list,
int qid)
IsSelectablelist the component (or components) associated with
the qid-th selection query issued by this component's render
method. This will only be called if this component manages its own
selection (i.e., the number nums returned by IsSelectable.numSelectionQueriesNeeded() is positive), and qid will in
turn be a number between 0 and nums-1.getSelection in interface IsSelectablelist - selected objects are appended to the end of this listqid - index of the selection querypublic double computeF(double l,
double ldot)
public double computeDFdl(double l,
double ldot)
public double computeDFdldot(double l,
double ldot)
public float[] getRenderColor()
public void scaleDistance(double s)
ScalableUnitsscaleDistance in interface ScalableUnitss - scaling factorpublic void scaleMass(double s)
ScalableUnitsscaleMass in interface ScalableUnitss - scaling factorpublic static void setStiffness(PointSpringBase s, double k)
public static void setDamping(PointSpringBase s, double d)
public static void setMaxForce(PointSpringBase s, double maxf)
public static double getMaxForce(PointSpringBase s)
public ModelComponent copy(int flags, java.util.Map<ModelComponent,ModelComponent> copyMap)
copy in class ModelComponentBase