# PickConfig

class `PickConfig`()

  Configuration for all pick functions in the View class.

  ## Index

  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`()
  PickConfig(selectionMask: `SelectionMask`?): `PickConfig`

  Parameters

  > selectionMask: `SelectionMask` = SelectionMask.Face

  Returns: `PickConfig`

## Properties

`PickConfig.``bimMask`

  optional

  bimMask: `BimMask`

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

`PickConfig.``enableProximityFaces`
  enableProximityFaces: boolean

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

`PickConfig.``forceEffectiveSceneVisibilityMask`
  forceEffectiveSceneVisibilityMask: `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`
  forceEffectiveVisibilityMask: `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`
  ignoreCappingGeometry: boolean

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

`PickConfig.``ignoreOverlays`
  ignoreOverlays: boolean

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

`PickConfig.``maxWorldDistance`

  optional

  maxWorldDistance: number

  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`
  oneEntityPerTypePerInstance: 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`

  optional

  rejectionBitsAll: number

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

`PickConfig.``rejectionBitsAny`

  optional

  rejectionBitsAny: number

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

`PickConfig.``requiredBitsAll`

  optional

  requiredBitsAll: number

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

`PickConfig.``requiredBitsAny`

  optional

  requiredBitsAny: number

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

`PickConfig.``respectDepthRange`
  respectDepthRange: boolean

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

`PickConfig.``respectVisibility`
  respectVisibility: boolean

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

`PickConfig.``restrictLinesAndPointsToSelectedFaceInstances`
  restrictLinesAndPointsToSelectedFaceInstances: 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`
  restrictToOverlays: boolean

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

`PickConfig.``selectionMask`
  selectionMask: `SelectionMask`

  Configures what types of entities are considered for selection.

## Accessors

`PickConfig.``allowFaces`()
  get allowFaces(): boolean

  Returns: boolean

  set allowFaces(allow: boolean): void

  Parameters

  > allow: boolean

  Returns: void

`PickConfig.``allowLines`()
  get allowLines(): boolean

  Returns: boolean

  set allowLines(allow: boolean): void

  Parameters

  > allow: boolean

  Returns: void

`PickConfig.``allowPoints`()
  get allowPoints(): boolean

  Returns: boolean

  set allowPoints(allow: boolean): void

  Parameters

  > allow: boolean

  Returns: void

## Methods

`PickConfig.``copy`()
  copy(): `PickConfig`

  Returns a copy of this [[PickConfig]].

  Returns: `PickConfig`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize Web or choose a sample question below to start a conversation:

What is HOOPS Visualize Web?
What are the latest release notes for HOOPS Visualize Web?
How do I start evaluating HOOPS Visualize Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...