# PickConfig

class PickConfig()

  Configuration for all pick functions in the View class.

Constructors

- `constructor()`

Properties

- `bimMask`

- `enableProximityFaces`

- `forceEffectiveSceneVisibilityMask`

- `forceEffectiveVisibilityMask`

- `ignoreCappingGeometry`

- `ignoreOverlays`

- `maxWorldDistance`

- `oneEntityPerTypePerInstance`

- `rejectionBitsAll`

- `rejectionBitsAny`

- `requiredBitsAll`

- `requiredBitsAny`

- `respectDepthRange`

- `respectVisibility`

- `restrictLinesAndPointsToSelectedFaceInstances`

- `restrictToOverlays`

- `selectionMask`

Accessors

- `allowFaces`

- `allowLines`

- `allowPoints`

Methods

- `copy()`

## Constructors

PickConfig.constructor(selectionMask)
  Arguments

    - selectionMask (`SelectionMask()`) – None

  Return type

    PickConfig

## Properties

PickConfig.bimMask
  Type

    BimMask optional

  If set, selection will be restricted to geometry of the specified BIM types.

PickConfig.enableProximityFaces
  Type

    boolean

  If true, faces can be selected by proximity (like lines and points). This option is only relevant for screen selection.

PickConfig.forceEffectiveSceneVisibilityMask
  Type

    SelectionMask

  For each element type bit in this mask, if the bit is on, then scene visibility is treated as if that element type is visible during selection.

PickConfig.forceEffectiveVisibilityMask
  Type

    SelectionMask

  For each element type bit in this mask, if the bit is on, then scene visibility and geometry visibility are treated as if that element type is visible during selection.

PickConfig.ignoreCappingGeometry
  Type

    boolean

  Configures whether or not capping geometry is ignored when computing selection results.

PickConfig.ignoreOverlays
  Type

    boolean

  If true, selection will not process geometry contained in overlays. This option is only relevant for screen selection.

PickConfig.maxWorldDistance
  Type

    number optional

  If supplied, this is the maximum distance in world-space along the selection ray that can be used to select any geometry.

  If this value is negative, it is ignored.

  This parameter is incompatible with line and point selection.

PickConfig.oneEntityPerTypePerInstance
  Type

    boolean

  If true, then only one entity per entity type can be returned per instance.

  For example, consider a cube made from a single mesh instance, where each face is a different face entity and backfaces culling is disabled. If this option is true, then at most one face from the cube can be selected. If false, then multiple faces from the cube can be selected. (This can occur when selecting from the front of the cube and then obtaining the face behind the front face in addition to the front face.)

PickConfig.rejectionBitsAll
  Type

    number optional

  (8 bits) If rejectionBitsAll are supplied, a mesh cannot be selected if its selection bits have all the ones supplied.

PickConfig.rejectionBitsAny
  Type

    number optional

  (8 bits) If rejectionBitsAny are supplied, a mesh cannot be selected if its selection bits have any of the ones supplied.

PickConfig.requiredBitsAll
  Type

    number optional

  (8 bits) If requiredBitsAll are supplied, a mesh can only be selected if its selection bits have all the ones supplied.

PickConfig.requiredBitsAny
  Type

    number optional

  (8 bits) If requiredBitsAny are supplied, a mesh can only be selected if its selection bits have any of the ones supplied.

PickConfig.respectDepthRange
  Type

    boolean

  Configures whether or not depth range is respected when performing a selection. This option is only relevant for screen selection.

PickConfig.respectVisibility
  Type

    boolean

  Configures whether or not visibility is respected when performing a selection.

PickConfig.restrictLinesAndPointsToSelectedFaceInstances
  Type

    boolean

  Configures whether or not line and point selection is restricted to instances that get selected by face. This is only a heuristic and may be ignored. This option is only relevant for screen selection.

PickConfig.restrictToOverlays
  Type

    boolean

  If true, selection is performed only within overlays. This option is only relevant for screen selection.

PickConfig.selectionMask
  Type

    SelectionMask

  Configures what types of entities are considered for selection.

## Accessors

allowFaces()
  Return type

    boolean

allowFaces(allow)
  Arguments

    - allow (`boolean()`) – None

  Return type

    void

allowLines()
  Return type

    boolean

allowLines(allow)
  Arguments

    - allow (`boolean()`) – None

  Return type

    void

allowPoints()
  Return type

    boolean

allowPoints(allow)
  Arguments

    - allow (`boolean()`) – None

  Return type

    void

## Methods

### copy

PickConfig.copy()

  Returns a copy of this [[PickConfig]].

  Return type

    PickConfig