Creating and Deleting Touch Sensors

touchsensors.py

# This example shows how to create touch sensors and
# connect them to a variant set.
# It also contains a function that deletes a touch sensor
# from a node.

def createTouchSensor(node):
    # Create the touch sensor first. This will create the needed
    # attachment and register the touch sensor in VRED.
    touchSensor = vrTouchSensor(node)

     # To add a variant set, that will be called whenever the touch
    # sensor is activated, we need to modify the attachement and
    # add the variant set directly.
    touchSensorAtt = node.getAttachment("TouchSensorAttachment")
    touchSensorAttAccess = vrFieldAccess(touchSensorAtt)

    # Note: this takes a list as parameter, so you can trigger multiple
    # variant sets
    touchSensorAttAccess.setMString("variantSets", ["toggleColor"])

    return touchSensor

def deleteTouchSensor(node):

  # To delete a touch sensor from a node, the touch sensor attachment
  # must be removed:

  if node.hasAttachment("TouchSensorAttachment"):
      att = node.getAttachment("TouchSensorAttachment")
      node.subAttachment(att)


tsensor1 = createTouchSensor(findNode("Cone"))
tsensor2 = createTouchSensor(findNode("Box"))

# Refresh the Touch Sensor UI
vrController.updateTouchSensors()
# Refresh the Scenegraph UI
vrScenegraph.updateScenegraph(False)