Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface IDrawingParameterSettings

General properties of a drawing tools parameter.

Hierarchy

  • IDrawingParameterSettings

Index

Properties

behavior?: { displayUnit?: string; enableDeletion?: boolean; enableInsertion?: boolean; enableSelection?: boolean; enableTranslation?: boolean }

Type declaration

  • Optional displayUnit?: string

    The unit that will be displayed in the distance and point labels. For some units, special formatting is applied ("mile", "feet", "inches", "kilometer", "meter", "centimeter", "millimeter"), for other units, the unit is simply appended to the value in the end.

    default

    ''

  • Optional enableDeletion?: boolean

    If points can be deleted in general. If this setting is set to false, the user cannot delete points by using the delete key.

    default

    true

  • Optional enableInsertion?: boolean

    If points can be added in general. If this setting is set to false, the user cannot add new points by clicking or using the insert key.

    default

    true

  • Optional enableSelection?: boolean

    If points can be selected in general. If this setting is set to false, the user cannot select points by clicking or using the select key.

    default

    true

  • Optional enableTranslation?: boolean

    If points can be translated by dragging them. If this setting is set to false, the user cannot move existing points by dragging them.

    The pointer is also not changed to a move pointer when hovering over points, since they cannot be moved.

    In this mode, the drawing tools are used for display purposes.

    default

    true

controls?: IControlSettings[]

The controls of the drawing tool.

Here you can define the controls that are used when interacting with the drawing tool. Controls are used to manipulate the points of the drawing tool in specific ways, such as moving a point along an edge or within a plane defined by other points.

general?: { activeMode?: "default" | "activeOnStart"; options?: { showDistanceLabels?: boolean; showPointLabels?: boolean; showPointerPosition?: boolean; snapToEdges?: boolean; snapToFaces?: boolean; snapToVertices?: boolean }; prompt?: { activeText?: string; activeTitle?: string; inactiveTitle?: string } }

Type declaration

  • Optional activeMode?: "default" | "activeOnStart"

    The mode to determine when the parameter is active. (default: 'default')

  • Optional options?: { showDistanceLabels?: boolean; showPointLabels?: boolean; showPointerPosition?: boolean; snapToEdges?: boolean; snapToFaces?: boolean; snapToVertices?: boolean }
    • Optional showDistanceLabels?: boolean

      If true, the distance labels are shown. (default: true)

    • Optional showPointLabels?: boolean

      If true, the point labels are shown. (default: false)

    • Optional showPointerPosition?: boolean

      If true, the pointer position is shown. (default: true)

    • Optional snapToEdges?: boolean

      If true, the snapping to edges is enabled, if there is a geometry restriction. (default: true)

    • Optional snapToFaces?: boolean

      If true, the snapping to faces is enabled, if there is a geometry restriction. (default: true)

    • Optional snapToVertices?: boolean

      If true, the snapping to vertices is enabled, if there is a geometry restriction. (default: true)

  • Optional prompt?: { activeText?: string; activeTitle?: string; inactiveTitle?: string }

    A prompt that can be defined which is displayed instead of the default prompt.

    • Optional activeText?: string

      The text when the parameter is inactive.

    • Optional activeTitle?: string

      The title when the parameter is active.

    • Optional inactiveTitle?: string

      The title when the parameter is inactive.

geometry?: { autoClose: boolean; close: boolean; mode: "lines" | "points"; constraints?: { position?: { x?: [number, number]; y?: [number, number]; z?: [number, number] }; size?: { x?: [number, number]; y?: [number, number]; z?: [number, number] } }; disabledPoints?: number[]; maxPoints?: number; minPoints?: number; weightedAdjacency?: { to: number; weights: [number, number, number] }[][] }

Type declaration

  • autoClose: boolean

    If the mode is set to 'lines', if the line is automatically closed. If the mode is set to 'points', this setting is ignored.

    The first and last point are always connected if the line is automatically closed.

    default

    true

  • close: boolean

    If the mode is set to 'lines', if it is a closed line or not. If the mode is set to 'points', this setting is ignored.

    A line can be closed by connecting the last point with the first point.

    default

    true

  • mode: "lines" | "points"

    The mode of the geometry.

    If the mode is set to 'lines', the points are connected in the order they are defined. If the mode is set to 'points', the points are not connected.

    default

    'lines'

  • Optional constraints?: { position?: { x?: [number, number]; y?: [number, number]; z?: [number, number] }; size?: { x?: [number, number]; y?: [number, number]; z?: [number, number] } }

    Constraints on the geometry. This can be used to restrict the movement of points to a specific area. The constraints are separated into position and size constraints, which can be defined per axis. Each constraint is defined as a tuple of two numbers, where the first number is the minimum value and the second number is the maximum value. If a number is number is not defined, there is no constraint on that axis.

    For the size constraints, the constraint is applied to the size of the geometry, which is defined as the distance between the furthest points in each axis.

    • Optional position?: { x?: [number, number]; y?: [number, number]; z?: [number, number] }
      • Optional x?: [number, number]
      • Optional y?: [number, number]
      • Optional z?: [number, number]
    • Optional size?: { x?: [number, number]; y?: [number, number]; z?: [number, number] }
      • Optional x?: [number, number]
      • Optional y?: [number, number]
      • Optional z?: [number, number]
  • Optional disabledPoints?: number[]

    The indices of points that are disabled. Disabled points cannot be moved, selected or deleted, but they can be inserted next to. This is useful for points that should be fixed in place, such as the endpoints of a line. The pointer is also not changed to a move pointer when hovering over disabled points, since they cannot be moved.

  • Optional maxPoints?: number

    The maximum amount of points, if undefined, the geometry is not restricted. This value is checked whenever the user tries to update or finish the drawing tool.

    default

    undefined

  • Optional minPoints?: number

    The minimum amount of points, if undefined, the geometry is not restricted. This value is checked whenever the user tries to update or finish the drawing tool.

    default

    undefined

  • Optional weightedAdjacency?: { to: number; weights: [number, number, number] }[][]

    Per-point adjacency graph. When a real point is dragged, its corrected delta is propagated to each listed target via component-wise weight multiplication. Entries with all-zero weights are no-ops and can be omitted. Processing order follows the array declaration order.

keyBindings?: { cancel?: string | string[]; confirm?: string | string[]; delete?: string | string[]; insert?: string | string[]; redo?: string | string[]; undo?: string | string[] }

The key binding settings of the drawing tool.

Here you can define which keys are used for the different actions of the drawing tool.

Type declaration

  • Optional cancel?: string | string[]

    The key that is used to cancel drawing.

    default

    'Escape'

  • Optional confirm?: string | string[]

    The key that is used to confirm actions.

    default

    'Enter'

  • Optional delete?: string | string[]

    The key that is used to delete a point.

    default

    ['Delete','-']

  • Optional insert?: string | string[]

    The key that is used to insert a point.

    default

    ['Insert','+']

  • Optional redo?: string | string[]

    The keys that are used to redo the last action.

    default

    'Control+Y'

  • Optional undo?: string | string[]

    The keys that are used to undo the last action.

    default

    'Control+Z'

restrictions?: RestrictionDefinition[]
visualization?: Partial<IVisualizationSettings>