Pen

The Pen class is an built-in library. It can be used to to create geometry Turtle graphics style.

The class is inspired of the Pen class in Doom Builder X.

Example:

// Draw a regular pentagon
let p = new Pen([ 0, 0 ]);

for(let i=0; i < 5; i++)
{
    p.drawVertex();
    p.moveForward(128);
    p.turnRight(72);
}

p.finishDrawing();

Example with method chaining (new in version 2):

// Draw a regular pentagon
let p = new Pen([ 0, 0 ]);

for(let i=0; i < 5; i++)
    p.drawVertex().moveForward(128).turnRight(72);

p.finishDrawing();

Constructors

Pen(pos=new Vector2D(0.0, 0.0))

Creates an instance of the Pen class. The position can be a Vector2D or an Array of two numbers.

Parameters

  • pos: start position of the pen (optional)

Return value

An instance of the Pen class

Methods

moveForward(distance)

Moves the pen by a distance at the current angle.

Parameters

  • distance: number of units to move

Return value

The instance of the Pen class (new in version 2)

moveTo(pos)

Moves the pen to the given position. The position can be a Vector2D or an Array of two numbers.

Parameters

  • pos: position to move the pen to

Return value

The instance of the Pen class (new in version 2)

setAngle(degrees)

Sets the angle to the given degrees.

Parameters

  • degrees: degrees to set the angle to

Return value

The instance of the Pen class (new in version 2)

setAngleRadians(radians)

Sets the angle to the given radians.

Parameters

  • radians: radians to set the angle to

Return value

The instance of the Pen class (new in version 2)

turnLeft(degrees=90.0)

Turns the pen left by the given degrees.

Parameters

  • degrees: degrees to turn left by. If omitted it will turn by 90°

Return value

The instance of the Pen class (new in version 2)

turnLeftRadians(radians=Math.PI/2)

Turns the pen left by the given radians.

Parameters

  • radians: radians to turn left by. If omitted it will turn by Pi/2

Return value

The instance of the Pen class (new in version 2)

turnRight(degrees=90.0)

Turns the pen right by the given degrees.

Parameters

  • degrees: degrees to turn right by. If omitted it will turn by 90°

Return value

The instance of the Pen class (new in version 2)

turnRightRadians(radians=Math.PI/2)

Turns the pen right by the given radians.

Parameters

  • radians: radians to turn right by. If omitted it will turn by Pi/2

Return value

The instance of the Pen class (new in version 2)

drawVertex()

Draws a Vertex at the current position.

Return value

The instance of the Pen class (new in version 2)

finishDrawing(close=false)

Finishes the drawing, actually creating the geometry. Also resets the vertices of this instance of Pen.

Parameters

  • close: if the drawing should be automatically close (going back to the first vertex) or not