API Docs for: 6.0.1
Show:

Spring Class

Extends Base
Module: scrawlPhysics

Spring

Instantiation

  • scrawl.makeSpring()
  • Particle.addSpring()

Purpose

  • Defines a Spring object connecting two Particle objects

Access

  • scrawl.spring.SPRINGNAME - for the Spring object

Constructor

Spring

(
  • [items]
)

Parameters:

  • [items] Object optional

    Key:value Object argument for setting attributes

Methods

clone

(
  • items
)
chainable

Clone a Scrawl.js object, optionally altering attribute values in the cloned object

Note that any callback or fn attribute functions will be referenced by the clone, not copied to the clone; these can be overwritten with new anonymous functions by including them in the items argument object

(This function is replaced by the path extension)

Parameters:

  • items Object

    Object containing attribute key:value pairs; will overwrite existing values in the cloned, but not the source, Object

Returns:

Cloned object

Example:

var box = scrawl.makeBlock({
    width: 50,
    height: 50
    });
var newBox = box.clone({
    height: 100
    });
newBox.get('width');        //returns 50
newBox.get('height');       //returns 100

get

(
  • item
)

Retrieve an attribute value. If the attribute value has not been set, then the default value for that attribute will be returned.

Parameters:

  • item String

    Attribute key

Returns:

Attribute value

Example:

var box = scrawl.makeBlock({
    width: 50,
    });
box.get('width');               //returns 50
box.get('height');              //returns 0
box.get('favouriteAnimal');     //returns undefined

kill

()

Remove this Spring from its Particle objects, and from the scrawl-canvas library

Returns:

Always true

numberConvert

(
  • val
  • dim
)
private

Stamp helper function - convert string percentage values to numerical values

Parameters:

  • val String

    coordinate String

  • dim Number

    dimension value

Returns:

Number - value

parse

()

Turn the object into a JSON String

Returns:

object of object's currently set attributes

set

(
  • items
)
chainable

Set attribute values. Multiple attributes can be set in the one call by including the attribute key:value pair in the argument object.

An attribute value will only be set if the object already has a default value for that attribute. This restricts the ability of coders to add attributes to Scrawl objects.

Parameters:

  • items Object

    Object containing attribute key:value pairs

Returns:

This

Example:

var box = scrawl.makeBlock({
    width: 50,
    height: 50
    });
box.set({
    height: 100,
    favouriteAnimal: 'cat'
    });
box.get('width');               //returns 50
box.get('height');              //returns 100
box.get('favouriteAnimal');     //returns undefined

update

() private chainable

Calculate the force exerted by the spring for this calculation cycle iteration

Returns:

This

Properties

comment

String

Comment, for accessibility

Default: ''

currentLength

Number private

Current length, in pixels, between the Spring object's two Particle objects

Recalculated as part of each calculation cycle iteration

Default: 1

damperConstant

Number

Spring damper constant

Default: 100

end

String

Second Particle PARTICLENAME

Default: ''

force

Vector private

Vector representing the Spring object's current force on its Particles

Recalculated as part of each calculation cycle iteration

Default: Zero value vector

name

String

Unique identifier for each object; default: computer-generated String based on Object's type

restLength

Number

Rest length, in pixels, between the Spring object's two Particle objects

Default: 1

springConstant

Number

Spring constant

Default: 1000

start

String

First Particle PARTICLENAME

Default: ''

timestamp

String

Creation timestamp

Default: ''

title

String

Title, for accessibility

Default: ''

type

String final

Inherited from Base but overwritten in source\scrawlPhysics.js:862

Default: 'Spring'