figureone
    Preparing search index...

    Interface OBJ_PolylineCustomization

    Polyline side, angle and pad customization options object

    Side annotations, angle annotations and movable pads in an CollectionsPolyline are defined with the options objects COL_Line, COL_Angle and (OBJ_Polygon & OBJ_PolylinePadSingle) respectively.

    The properties in this object can be used in the side, angle and movable pad object definitions to allow for customization of specific sides, angles and movable pads.

    Each side, angle and movable pad has an 0 based index associated with it. The zero index pad is associated with the first point of the polyline. The zero index side is between the first and second point of the polyline, and the zero index angle is between the first, second and third point of the polyline.

    By default, any properties defined for pad will be applied to all pads of the polyline. To customize the first pad in the polyline, an object property with name '0' can be used with a value that includes the options object properties that should be customized. Similary, for side and angle annotations, keys with the index name can be used in their options objects to customize specific sides and angles.

    The show and hide properties can be used to show and hide specific sides and angles.

    See OBJ_PulseWidthAnimationStep for pulse angle animation step options.

    // Hide pad 0, and make pad 2 blue and not filled
    figure.add({
    name: 'p',
    make: 'collections.polyline',
    points: [[0, 0], [2, 0], [2, 2], [-2, 1]],
    pad: {
    radius: 0.2, // OBJ_Polygon
    color: [1, 0, 0, 1], // OBJ_Polygon
    touchBorder: 0.1, // OBJ_Polygon
    isMovable: true,
    hide: [0],
    2: { // Custom pad 2 properties
    color: [0, 0, 1, 1], // Make blue
    line: { width: 0.01 } // Use an outline instead of a fill
    },
    }
    });
    // Customization of side and angle annotations
    figure.add({
    name: 'p',
    make: 'collections.polyline',
    points: [[0, 0], [1, 0], [1, 1], [0, 1]],
    close: true,
    side: {
    showLine: false,
    label: {
    text: null, // By default, sides are length values
    location: 'negative',
    },
    0: { label: { text: 'a' } }, // Side 0 is 'a' instead of length
    },
    angle: {
    label: {
    text: '?',
    offset: 0.05,
    },
    curve: {
    radius: 0.25,
    },
    direction: 'negative',
    show: [2], // Only show angle annotation for angle 2
    },
    });
    @interface