Go to: Related nodes. Attributes.

The spring node represents a group of springs between points in one or more particle or geometry objects. The stiffness, damping, restLength, and end1weight/end2Weight attributes control the motion of the springs.

Node nameParentsClassificationMFn typeCompatible function sets
springshapedynamics:drawdb/geometry/dynamics/springkSpringkBase
kNamedObject
kDependencyNode
kDagNode
kShape
kSpring

Related nodes

rigidConstraint, dynBase, field, airField, turbulenceField, radialField, vortexField, newtonField, volumeAxisField, dragField, uniformField, gravityField, pointEmitter, particle, rigidBody, geoConnectable

Attributes (36)

count, damping, dampingPS, deltaTime, end1Weight, end2Weight, idIndex, idMapping, lengths, manageParticleDeath, maxUsed, minSprings, minUsed, obj0Index, obj1Index, objCount, object0, object1, objectMass, objectPositions, objectVelocities, objects, outputForce, point0, point1, pt0Index, pt1Index, restLength, restLengthPS, sortedId, stiffness, stiffnessPS, useDampingPS, useRestLengthPS, useStiffnessPS, validIndex

Long name (short name)TypeDefaultFlags
end1Weight (f) double1outputinputconnectablestorablekeyable
The amount [0,1] that the first or the 'from' end will be affected by the spring.
end2Weight (t) double1outputinputconnectablestorablekeyable
The amount [0,1] that the second or the 'to' end will be affected by the spring.
useStiffnessPS (usps) booltrueoutputinputstorablekeyable
This attribute determines if the node uses per object or per spring stiffness. If true, each spring will use the corresponding value in the stiffnessPS array. If false, every spring will use the stiffness attribute value.
useDampingPS (udps) booltrueoutputinputstorablekeyable
This attribute determines if the node uses per object or per spring damping. If true, each spring will use the corresponding value in the dampingPS array. Otherwise, every spring will use the damping attribute value.
useRestLengthPS (urps) booltrueoutputinputstorablekeyable
This attribute determines if the node uses per object or per spring rest length. If true, each spring will use the corresponding value in the restLengthPS array. Otherwise, every spring will use the restLength attribute value.
stiffness (s) double1outputinputconnectablestorablekeyable
This attribute is per object. The strength with which springs are trying to maintain their length.
damping (d) double.2outputinputconnectablestorablekeyable
This attribute is per object. How strongly the motion of springs are damped by the 'physical' properties of the springs. A larger value makes the springs converge faster to their rest length.
restLength (r) double0outputinputconnectablestorablekeyable
This attribute is per object. The length at which springs try to stay.
stiffnessPS (sps) doubleArrayemptyoutputinputconnectablestorable
This attribute is per spring. The strength with which springs are trying to maintain their length. PS stands for per-spring. This attribute stores an array of data, one for each spring. The value can be edited with the spring command or component editor.
dampingPS (dps) doubleArrayemptyoutputinputconnectablestorable
This attribute is per spring. How strongly the motion of springs are damped by the 'physical' properties of the springs. PS stands for per-spring. This attribute stores an array of data, one for each spring. The value can be edited with the spring command or component editor.
restLengthPS (rps) doubleArrayemptyoutputinputconnectablestorable
It is per spring attribute which represents the length at which springs try to stay. PS stands for per-spring. The values can be edited with the spring command or component editor.
objectPositions (opos) vectorArrayemptyarrayoutputinputconnectablestorable
position array for the objects incident to the springs.
objectVelocities (ovel) vectorArrayemptyarrayoutputinputconnectablestorable
velocity array for the objects incident to the springs.
objectMass (omas) doubleArrayemptyarrayoutputinputconnectablestorable
mass array for particle objects incident to the springs.
deltaTime (dt) time0filmarrayoutputinputconnectablestorable
spring node may need deltaTime to compute force. It is connected with particle objects.
outputForce (of) vectorArrayemptyarrayoutputconnectable
output force to particle objects. It is "CACHED" so that the computePlug is called once for all nodes which are waiting for the output force from this spring node.
validIndex (vali) intArrayemptyoutputinputstorablehidden
Indices to indicate which springs are valid.
object0 (obz) intArrayemptyoutputinputstorablehidden
Indices of attached object(should be plug multi-index in the aObjectPositions attribute).
point0 (ptz) intArrayemptyoutputinputstorablehidden
Indices of spring endpoints in their respective objects.
object1 (obo) intArrayemptyoutputinputstorablehidden
Indices of attached object(should be plug multi-index in the aObjectPositions attribute).
point1 (pto) intArrayemptyoutputinputstorablehidden
Indices of spring endpoints in their respective objects.
minSprings (ms) integer0outputinputstorablehidden
This attribute hold the shortest length of index arrays so that computeForce method will use it to get each spring without over range of the five index arrays. This will save time (don't do too many checkings) and method won't fail if some springs are missing. This attribute is affected when edit end object index arrays or end point index arrays.
manageParticleDeath (mpd) booltrueoutputinputstorablekeyable
This attribute determines if the spring node need to do ID/Index mapping. The default value is true for this attribute. If users know that there is not any particle died, it can be set to false. With the false value, the spring node will not do particle Id/index mapping and speed up the evaluation.
idMapping (idm) compoundn/aarrayoutputinputconnectablehidden
This attribute holds the mapping information for the particle IDs<<==>>Index into per-particle attribute arrays. It will connected with aIdMapping of particle nodes.
sortedId (sid) intArrayemptyoutputinputconnectablehidden
With this attribute, we get the particleIds from particle node. The particleId values are sorted in ascending order.
idIndex (idix) intArrayemptyoutputinputconnectablehidden
With this attribute, we get the particle index positions into per-particle attribute arrays for the corresponding ids stored in aSortedId.
count (cnt) integer0outputconnectable
The number of springs in the object.
objects (obj) Messagen/aarrayoutputinputconnectablehidden
Obsolete. Used only to read version 1 files. Will be removed after version 2.
objCount (obc) integer0outputinputconnectablehidden
Obsolete. Used only to read version 1 files. Will be removed after version 2.
lengths (lns) doubleArrayemptyoutputinputconnectablestorablehidden
Obsolete. Used only to read version 1 files. Will be removed after version 2.
minUsed (mnu) double0.0outputinputconnectablehidden
Obsolete. Not used. Will be removed after version 2.
maxUsed (mxu) double0.0outputinputconnectablehidden
Min value used when springs were made Obsolete. Not used. Will be removed after version 2.
pt0Index (pzi) doubleArrayemptyoutputinputconnectablehidden
Used only to read version 1 files. Will be removed after version 2.
pt1Index (poi) doubleArrayemptyoutputinputconnectablehidden
Used only to read version 1 files. Will be removed after version 2.
obj0Index (ozi) doubleArrayemptyoutputinputconnectablehidden
Used only to read version 1 files. Will be removed after version 2.
obj1Index (ooi) doubleArrayemptyoutputinputconnectablehidden
Used only to read version 1 files. Will be removed after version 2.