Optional
rope: null | Ropethe Rope to display
Optional
proto: null | DisplayRopethe prototype DisplayRope to inherit properties from
Private
colorColor when rope is slack; a CSS3 color value
Private
colorColor when rope is tight; a CSS3 color value
Private
thickness_Thickness of lines when drawing the rope, in screen coordinates, so a value of 1 means a 1 pixel thick line.
Static
Readonly
paththe fixed length of the un-transformed path
Static
Readonly
paththe fixed width of the un-transformed path
Whether the DisplayObject contains the given world coordinates point.
the point in world coordinates
true
if this DisplayObject contains the given point
Draws this DisplayObject using the given CoordMap.
the canvas's context to draw this object into
the mapping to use for translating between simulation and screen coordinates
Returns the set of MassObjects that this DisplayObject represents. Returns an empty list if this DisplayObject doesn't represent a MassObject.
the set of MassObjects that this DisplayObject represents
Color when rope is slack; a CSS3 color value
this object for chaining setters
Color when rope is tight; a CSS3 color value
this object for chaining setters
Sets this DisplayObject's position in simulation coordinates of the containing SimView. Each type of DisplayObject has a different policy regarding whether this will have an effect. Generally the policies are:
If the DisplayObject does not represent a SimObject, then the position can be set. Examples are DisplayClock, EnergyBarGraph.
If the SimObject's position is dependent on other objects, then the position cannot be set. Examples are DisplayConnector, DisplayRope, DisplaySpring.
If the SimObject can be moved independently and isDragable
is true
, then the position of the SimObject is modified. Example: DisplayShape.
this DisplayObject's position, in simulation coordinates.
Thickness to use when drawing the line, in screen coordinates, so a unit is a screen pixel.
this object for chaining setters
Returns a minimal string representation of this object, usually giving just identity information like the class name and name of the object.
For an object whose main purpose is to represent another Printable object, it is
recommended to include the result of calling toStringShort
on that other object.
For example, calling toStringShort()
on a DisplayShape might return something like
this:
DisplayShape{polygon:Polygon{'chain3'}}
a minimal string representation of this object.
Static
Private
drawDraws the rope using the given AffineTransform, which specifies the combination of translating, stretching, rotating the rope to its current position, and also the sim-to-screen transform. The path is drawn into a size of 6.0 long by 0.5 wide, so that when it is scaled up or down, it doesn't get too distorted. *
the canvas's context to draw into *
the transform to apply to each point
Generated using TypeDoc
Displays a Rope by showing a straight line when the Rope is tight, or a jagged line when the Rope has slack. Can have a different color when tight or slack, see setColorTight and setColorSlack.
The position is reported as the midpoint of the Rope by getPosition. The position is determined by the position of the Rope, so setPosition has no effect, and the DisplayRope is never dragable.