PartLines

class cee.mrk.PartLines()

A part that can show lines in a MarkupModel

Use MarkupModel.addLinesPart to create a new instance of this class.


Accessors

cee.mrk.PartLines.color

The single color of the part

cee.mrk.PartLines.customData

Custom data for the part. This field is not used by EnvisionWeb.

cee.mrk.PartLines.lineWidth

Controls the line width (pixels)

cee.mrk.PartLines.terminatorDrawMode

The line terminator draw mode

Methods

clearTerminators

cee.mrk.PartLines.clearTerminators()

Clear start and end terminators

Return type

void

rayIntersect

cee.mrk.PartLines.rayIntersect(ray, hitItem)

Picking

Arguments
Return type

boolean

setArrowEndTerminator

cee.mrk.PartLines.setArrowEndTerminator(arrowHeadLengthInPixels, arrowHeadWidthInPixels)

Draw arrows at end of lines

Arguments
  • arrowHeadLengthInPixels (number) –

  • arrowHeadWidthInPixels (number) –

Return type

void

setArrowStartTerminator

cee.mrk.PartLines.setArrowStartTerminator(arrowHeadLengthInPixels, arrowHeadWidthInPixels)

Draw arrows at start of lines

Arguments
  • arrowHeadLengthInPixels (number) –

  • arrowHeadWidthInPixels (number) –

Return type

void

setBarEndTerminator

cee.mrk.PartLines.setBarEndTerminator(lengthInPixels)

Draw bars at end of lines

Arguments
  • lengthInPixels (number) –

Return type

void

setBarStartTerminator

cee.mrk.PartLines.setBarStartTerminator(lengthInPixels)

Draw bars at start of lines

Arguments
  • lengthInPixels (number) –

Return type

void

setVertices

cee.mrk.PartLines.setVertices(vertices)

Sets the vertices for the lines.

Arguments
  • vertices (ArrayLike[number]) –

Return type

void

The coordinates need to be interleaved (x0, y0, z0, x1, y1, z1, …)

Lines will be drawn between [x0, y0, z0] and [x1, y1, z1], and between [x2, y2, z2] and [x3, y3, z3], …, so the number of lines will be vertices.length / 6.

In order to draw a continuous path connecting all the given points, use utils.PathGenerator

const mrkModel = new cee.mrk.MarkupModel();
const partLines = mrkModel.addLinesPart();
const points: cee.Vec3[] = [ ... ];
const vertices = cee.utils.PathGenerator.generateVerticesForPath(points);
partLines.setVertices(vertices);

setVerticesFloat32Array

cee.mrk.PartLines.setVerticesFloat32Array(vertices)

Sets the vertices for the lines from a Float32Array.

Arguments
  • vertices (Float32Array) –

Return type

void

The coordinates need to be interleaved (x0, y0, z0, x1, y1, z1, …)

This is the most optimal setting as the PartLines will just hold a reference to the passed array and not copy any data.

Lines will be drawn between [x0, y0, z0] and [x1, y1, z1], and between [x2, y2, z2] and [x3, y3, z3], …, so the number of lines will be vertices.length / 6.