Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

PickingStrategy

  • Last UpdatedSep 26, 2025
  • 4 minute read

The PickingStrategy node works with the PickSensor to enable picking, and Avatar to enable collision, based on set criteria.

It works only when the PickSensor field pickingStategyNode or Avatar field pickingStrategyNode contains the PickingStrategy node name. One PickSensor can have multiple picking strategies.

Platform support

This node is fully supported on XR-Windows platform. It is partially supported on XR-Portable Windows, XR-Portable iOS, XR-Portable Android. It is not supported on XR-P Hololens platform.

XR-WIN

XR-P-WIN

XR-P-IOS

XR-P-AND

XR-P-WASM

Full support

Partial support

Partial support

Partial support

No support

Full support

Limited support

Limited support

Limited support

No support

Picking attributes

The attributes enable you to customize the characteristics of picking by applying rules and restrictions to it. Attributes can be mixed together.

These are the attributes options that can be set to true or false.

  • singleResult

  • backfaceCulling

  • clipPlanes (ignored by SGL)

  • ignoreOpaque

  • ignoreTransparent

  • completelyInsideRect (ignored by SGL)

Supported model types

These parameters determine which type of model content can be picked in the scene by the PickSensor.

For example, if the includeMWX field is set to false, then PickSensor will not pick the MWX object.

These are the model type options that can be set to true/false.

  • includeMWX

  • includeRFC (currently not supported on portable platforms)

  • includeMwxSoup

  • includeSPC (currently not supported on portable platforms)

  • includeCmesh

  • includeSGL (currently not supported on portable platforms)

  • includePOPMesh

Supported feature types

These parameters applies only to feature picking and determine which feature types of a model content can be picked in the scene by the PickSensor.

For example, if the includeVertexes field is set to false, then PickSensor will not pick the object vertexes. An SGL object ignores these parameters.

These are the model feature options that can be set to true/false.

  • includeVertexes

  • includeEdges

  • includeTriangles

    Note: This functionality is not supported on portable platforms.

Filtering

You can define a list of model references in a jsonList (defined in JSON format) to restrict the picking by including or excluding types.

The list is defined by the listMode field. Note that both inclusion and exclusion work for model type.

Code example

This is a code example for the jsonList field.

{

"models": [

{

"tags": ["DESIGN-AREA-200-STRUCTURE_ST001"],

"name": "ARF/rfc_IED_OILGAS",

"ids": [123,345,333]

},

{

"name": "EATON_3DModel",

"tags": ["/CLASS1_DIV2\\PROCESS_EQUIP"],

"ids": [830]

},

{

"name": "template_dr",

"tags": ["cube_default"]

},

{

"name": "spc/spc_Oberhausen94",

"tags": ["Oberhausen213.lsc"],

"ids": []

}

{

"name": "SGL/sgl_smallModified",

"ids": ["{2013286708/1730}","{2013286708/1717}","{2013286708/1718}"]

}

{

"name": "POP/POPMesh_014",

"tags": ["/GRADE"]

"ids": [333, 334]

}

]

}

Note: MwxSoup models can sometimes contain detached mesh geometries that are generated at import time, along with triangle soups. However, currently, the above json does not support detached mesh geometries, so it's not possible to include these elements in the tag attribute for an MwxSoup model.

Filtering behavior with other fields

The following example shows how jsonList filtering combines with other parameters (such as includeMWX, includeRFC) respecting an “and” logic.

Example

Given an MWX containing a model named "scene02|new_jersey_01" and a jsonList = {"models": [{"name": "scene02","tags": ["new_jersey_01"]}]}

  • With includeMWX = true and listMode = include: the model can be picked.

  • With includeMWX = false and listMode = include: the model cannot be picked.

  • With includeMWX = true and listMode = exclude: the model cannot be picked.

  • With includeMWX = false and listMode = exclude: the model cannot be picked.

An empty jsonList is ignored, so with jsonList = {}

  • With includeMWX = true: the model can be picked, regardless of listMode.

  • With includeMWX = false: the model cannot be picked, regardless of listMode.

PickingStrategy fields

Field inheritance: NodeBase > PickingStrategy

Fields

Type

Use

Default value

Description

backfaceCulling

sbool

Optional

true

Enables or disables the picking for objects whose back face cull.

clipPlanes

sbool

Optional

true

Enables or disables the picking for objects present in clip planes. Not supported by SGL (SGL objects will always be picked).

completelyInsideRect

sbool

Optional

false

Enables or disables the picking for objects are inside the rect. Works only with area picking. Not supported by SGL (SGL objects partially inside rect are included anyway).

ignoreOpaque

sbool

Optional

false

Enables or disable picking for opaque.

ignoreTransparent

sbool

Optional

false

Enables or disable picking for transparent objects.

includeCmesh

sbool

Optional

true

Enables or disable picking for CMesh models.

includeEdges

sbool

Optional

true

Enables edges feature picking.

includeMWX

sbool

Optional

true

Enables or disable picking for MWX models.

includeMwxSoup

sbool

Optional

true

Enables or disable picking for MWX Soup models.

includePOPMesh

sbool

Optional

true

Enables or disable picking for POPMesh models.

includeRFC

sbool

Optional

true

Enables or disable picking for RFC models.

includeSPC

sbool

Optional

true

Enables or disable picking for SPC models.

includeSGL

sbool

Optional

true

Enables or disable picking for SGL models.

includeTriangles

sbool

Optional

true

Enables triangles feature picking.

includeVertexes

sbool

Optional

true

Enables vertexes feature picking.

jsonList               

sjson

Optional

{}

List of objects in the json format for the filter.

listMode

senum

Optional

not_used

Mode to include or exclude or not_use the filter.

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in