Interface TouchSensor
- All Superinterfaces:
X3DChildNode
,X3DNode
,X3DPointingDeviceSensorNode
,X3DSensorNode
,X3DTouchSensorNode
- All Known Implementing Classes:
TouchSensor
TouchSensor tracks location and state of the pointing device, detecting when a user points at or selects (activates) geometry.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
TouchSensor node tooltip: [X3DTouchSensorNode] TouchSensor tracks location and state of the pointing device, detecting when a user points at or selects (activates) geometry.
- Hint: this sensor detects user interactions affecting peer nodes and their child geometry.
- Hint: X3D Architecture 20.2.1 Overview of pointing device sensors https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/pointingDeviceSensor.html#OverviewOfPointingDeviceSensors
- Hint: X3D Architecture 20.2.3 Activating and manipulating pointing device sensors https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/pointingDeviceSensor.html#Activatingandmanipulating
- Hint: example scenes and authoring assets at https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionProvide String value from inputOutput SFString field named description.boolean
Provide boolean value from inputOutput SFBool field named enabled.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named hitNormal_changed.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named hitPoint_changed.float[]
Provide array of 2-tuple float results from outputOnly SFVec2f field named hitTexCoord_changed.boolean
Provide boolean value from outputOnly SFBool field named isActive.boolean
Provide boolean value from outputOnly SFBool field named isOver.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.double
Provide double value in seconds from outputOnly SFTime field named touchTime.setDescription
(String newValue) Accessor method to assign String value to inputOutput SFString field named description.setEnabled
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named enabled.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
-
Method Details
-
getDescription
String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of this node.- Hint: include space characters since a description is not a DEF identifier. Write short phrases that make descriptions clear and readable.
- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
getDescription
in interfaceX3DPointingDeviceSensorNode
- Specified by:
getDescription
in interfaceX3DSensorNode
- Specified by:
getDescription
in interfaceX3DTouchSensorNode
- Returns:
- value of description field
-
setDescription
Accessor method to assign String value to inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of this node.- Hint: include space characters since a description is not a DEF identifier. Write short phrases that make descriptions clear and readable.
- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
setDescription
in interfaceX3DPointingDeviceSensorNode
- Specified by:
setDescription
in interfaceX3DSensorNode
- Specified by:
setDescription
in interfaceX3DTouchSensorNode
- Parameters:
newValue
- is new value for the description field.- Returns:
TouchSensor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getEnabled
boolean getEnabled()Provide boolean value from inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Specified by:
getEnabled
in interfaceX3DPointingDeviceSensorNode
- Specified by:
getEnabled
in interfaceX3DSensorNode
- Specified by:
getEnabled
in interfaceX3DTouchSensorNode
- Returns:
- value of enabled field
-
setEnabled
Accessor method to assign boolean value to inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Specified by:
setEnabled
in interfaceX3DPointingDeviceSensorNode
- Specified by:
setEnabled
in interfaceX3DSensorNode
- Specified by:
setEnabled
in interfaceX3DTouchSensorNode
- Parameters:
newValue
- is new value for the enabled field.- Returns:
TouchSensor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getHitNormal
float[] getHitNormal()Provide array of 3-tuple float results from outputOnly SFVec3f field named hitNormal_changed.
Tooltip: When pointing device selects geometry, send event containing surface normal vector at the hitPoint.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of hitNormal_changed field
-
getHitPoint
float[] getHitPoint()Provide array of 3-tuple float results from outputOnly SFVec3f field named hitPoint_changed.
Tooltip: When pointing device selects geometry, send event containing 3D point on surface of underlying geometry, as measured in reference frame for TouchSensor's local coordinate system.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of hitPoint_changed field
-
getHitTexCoord
float[] getHitTexCoord()Provide array of 2-tuple float results from outputOnly SFVec2f field named hitTexCoord_changed.
Tooltip: When pointing device selects geometry, send event containing texture coordinates of surface at the hitPoint.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of hitTexCoord_changed field
-
getIsActive
boolean getIsActive()Provide boolean value from outputOnly SFBool field named isActive.
Tooltip: Select geometry by activating the pointing device (for example, clicking the mouse) to generate isActive events. Output event isActive=true is sent when pointing device selection is activated, output event isActive=false is sent when pointing device is deselected.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Specified by:
getIsActive
in interfaceX3DPointingDeviceSensorNode
- Specified by:
getIsActive
in interfaceX3DSensorNode
- Specified by:
getIsActive
in interfaceX3DTouchSensorNode
- Returns:
- value of isActive field
-
getIsOver
boolean getIsOver()Provide boolean value from outputOnly SFBool field named isOver.
Tooltip: Hover over geometry by aiming the mouse (or pointing device) to generate isOver events. Sensor sends output event isOver=true event when pointing device moves over sensor's geometry, and later sends output event isOver=false event when pointing device moves off.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Specified by:
getIsOver
in interfaceX3DPointingDeviceSensorNode
- Specified by:
getIsOver
in interfaceX3DTouchSensorNode
- Returns:
- value of isOver field
-
getMetadata
X3DMetadataObject getMetadata()Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DPointingDeviceSensorNode
- Specified by:
getMetadata
in interfaceX3DSensorNode
- Specified by:
getMetadata
in interfaceX3DTouchSensorNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in interfaceX3DPointingDeviceSensorNode
- Specified by:
setMetadata
in interfaceX3DSensorNode
- Specified by:
setMetadata
in interfaceX3DTouchSensorNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
TouchSensor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getTouchTime
double getTouchTime()Provide double value in seconds from outputOnly SFTime field named touchTime.
Tooltip: Time event generated when sensor is touched by pointing device, and then deselected by the user.- Hint: touchTime event is generated when following three conditions are all met: (a) pointing device was pointing towards geometry when initially activated (isActive=true), (b) pointing device is currently pointing towards the geometry (isOver=true), and (c) pointing device selection is deactivated/deselected by user (isActive=false event is also generated).
- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Specified by:
getTouchTime
in interfaceX3DTouchSensorNode
- Returns:
- value of touchTime field
-