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

AVEVA™ XR Studio

Manipulable

  • Last UpdatedDec 14, 2023
  • 4 minute read

The Manipulable node provides manipulation capabilities to an Item type object.

It defines manipulation-related properties of the addressed node, such as:

  • Positioning when manipulated

  • Collision management when manipulated (sensors)

  • Ghost visualization

It also provides functionality to bypass the Manipulator and manage interaction with AttachPoint .

For more information, see Using the manipulation system.

Platform support

This node is supported on XR-Windows platform only.

XR-WIN

XR-P-WIN

XR-P-IOS

XR-P-AND

XR-P-WASM

Full support

No support

No support

No support

No support

Full support

No support

No support

No support

No support

Manipulator relative positioning

Use the ManipulatorOrientation and ManipulatorPosition properties to adapt the position and orientation of the object when attached to the Manipulator.

For example, a sheet can display vertically and shifted to the left to improve readability, while a pen could be inclined.

Manipulated object collision

An object can generate a collision only when owned by the Manipulator.

  • By collision, we mean the recognition of an interaction between the manipulated object and another object.

  • The object Manipulable node defines all the collision functionalities for the corresponding object.

Collision Sensor

You can select between three options of collision by setting the sensorType parameter.

Collision type

Description

None

No collisions.

Ray

Collision is managed by an oriented segment defined by sensorPositionsensorRayDirection and sensorRayLength. For multiple collisions, the selected one is the one nearest to sensorPosition.

Sphere

Collision is managed by the surface of a sphere defined by sensorPosition and sensorSphereRadius.

Collision List

The interactWith parameter defines which Item type objects can be collided by the object when manipulated.

For example, you can restrict screwdriver interaction to only screws.

Ghost

The Manipulable node enables you to define an alternative geometry to display on a compatible AttachPoint when near it.

If no ghost is set, then nothing appears over the AttachPoint .

Code example

This is a code example for the Manipulable node.

<Manipulable name="manip_screwdriver" node="screwdriver" attachTo="screwdriver_equipRoom_POA" sensorType="ray" sensorRayLength="0.13" ghost="tools|ghost_screwdriver" manipulatorPosition="0 0 0.04"/>

Manipulable fields

These are the fields for Manipulable node. Only the node-specific fields are indicated, not fields obtained by inheritance.

Field inheritance: NodeBase > Manipulable

Fields

Type

Use

Default value

Description

_debug

sbool

Optional

false

If set to true, enables sensor display when 3D Debug is running.

attachedTo

sstring

Read only

Internally calculated

If the manipulated node is linked to an AttachPoint , this parameter contains its name. The parameter is void when not attached.

attachTo

sstring

Optional

Not set

Offers a way to directly place the manipulated node on an AttachPoint .

collisionWithCMesh

sstring

Read only

Internally calculated

Fully qualified name of the collision mesh that is colliding with the sensor.

collisionWithNode

sstring

Read only

Internally calculated

Name of the node that is colliding with the sensor.

ghost

sstring

Optional

Not set

Fully qualified ghost mesh. When not set, no ghost is shown.

interactWith

mstring

Optional

List of all and only the item type nodes with which the node can interact (collide) when manipulated. Cannot be changed at runtime.

manipulatorOrientation

svec3

Optional

0 0 0

Object offset to be used when owned by the manipulator.

manipulatorPosition

svec3

Optional

0 0 0

Object offset to be used when owned by the manipulator.

node

sstring

Mandatory

Name of the item type node to enables as manipulable.

sensorPosition

svec3

Optional

0 0 0

The sensor position, relative to manipulated object center.

sensorRayDirection

svec3

Optional

0 0 1

Ray sensor vector, relative to object axis.

sensorRayLength

sfloat

Optional

0

Collision ray length, expressed in meters.

sensorSphereRadius

sfloat

Optional

0.001

The sphere sensor radius, in meters.

sensorType

senum

Optional

none

Specifies type as None, Sphere, or Ray collision style.

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