Interface CylinderSensor
- All Superinterfaces:
 X3DChildNode,X3DDragSensorNode,X3DNode,X3DPointingDeviceSensorNode,X3DSensorNode
- All Known Implementing Classes:
 CylinderSensor
CylinderSensor converts pointer motion (for example, a mouse or wand) into rotation values using an invisible cylinder aligned with local Y-axis.
 
 
CylinderSensor node tooltip: [X3DDragSensorNode] CylinderSensor converts pointer motion (for example, a mouse or wand) into rotation values using an invisible cylinder aligned with local Y-axis.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
CylinderSensor node tooltip: [X3DDragSensorNode] CylinderSensor converts pointer motion (for example, a mouse or wand) into rotation values using an invisible cylinder aligned with local Y-axis.
- Hint: this sensor detects user interactions affecting peer nodes and their child geometry.
 - Hint: add semi-transparent surrounding geometry to see the effect of the sensor.
 - Hint: initial relative bearing of pointer drag determines whether cylinder sides or end-cap disks are used for manipulation.
 - 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.2 Drag sensors https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/pointingDeviceSensor.html#DragSensors
 - 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 TypeMethodDescriptionbooleanProvide boolean value from inputOutput SFBool field named autoOffset.float[]Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named axisRotation.Provide String value from inputOutput SFString field named description.floatProvide float value unit axis, angle (in radians) within allowed range of [0,1.5708] from inputOutput SFFloat field named diskAngle.booleanProvide boolean value from inputOutput SFBool field named enabled.booleanProvide boolean value from outputOnly SFBool field named isActive.booleanProvide boolean value from outputOnly SFBool field named isOver.floatProvide float value unit axis, angle (in radians) within allowed range of (-6.2832,6.2832) from inputOutput SFFloat field named maxAngle.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.floatProvide float value unit axis, angle (in radians) within allowed range of (-6.2832,6.2832) from inputOutput SFFloat field named minAngle.floatProvide float value from inputOutput SFFloat field named offset.float[]Provide array of 4-tuple float results unit axis, angle (in radians) from outputOnly SFRotation field named rotation_changed.float[]Provide array of 3-tuple float results from outputOnly SFVec3f field named trackPoint_changed.setAutoOffset(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named autoOffset.setAxisRotation(float[] newValue) Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named axisRotation.setDescription(String newValue) Accessor method to assign String value to inputOutput SFString field named description.setDiskAngle(float newValue) Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named diskAngle.setEnabled(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named enabled.setMaxAngle(float newValue) Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named maxAngle.setMetadata(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setMinAngle(float newValue) Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named minAngle.setOffset(float newValue) Accessor method to assign float value to inputOutput SFFloat field named offset. 
- 
Method Details
- 
getAutoOffset
boolean getAutoOffset()Provide boolean value from inputOutput SFBool field named autoOffset.
Tooltip: determines whether previous offset values are remembered/accumulated. *- Specified by:
 getAutoOffsetin interfaceX3DDragSensorNode- Returns:
 - value of autoOffset field
 
 - 
setAutoOffset
Accessor method to assign boolean value to inputOutput SFBool field named autoOffset.
Tooltip: determines whether previous offset values are remembered/accumulated. *- Specified by:
 setAutoOffsetin interfaceX3DDragSensorNode- Parameters:
 newValue- is new value for the autoOffset field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
getAxisRotation
float[] getAxisRotation()Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named axisRotation.
Tooltip: axisRotation determines local sensor coordinate system by rotating the local coordinate system. *- Returns:
 - value of axisRotation field
 
 - 
setAxisRotation
Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named axisRotation.
Tooltip: axisRotation determines local sensor coordinate system by rotating the local coordinate system. *- Parameters:
 newValue- is new value for the axisRotation field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
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:
 getDescriptionin interfaceX3DDragSensorNode- Specified by:
 getDescriptionin interfaceX3DPointingDeviceSensorNode- Specified by:
 getDescriptionin interfaceX3DSensorNode- 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:
 setDescriptionin interfaceX3DDragSensorNode- Specified by:
 setDescriptionin interfaceX3DPointingDeviceSensorNode- Specified by:
 setDescriptionin interfaceX3DSensorNode- Parameters:
 newValue- is new value for the description field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
getDiskAngle
float getDiskAngle()Provide float value unit axis, angle (in radians) within allowed range of [0,1.5708] from inputOutput SFFloat field named diskAngle.
Tooltip: Help decide rotation behavior from initial relative bearing of pointer drag: acute angle whether cylinder sides or end-cap disks of virtual-geometry sensor are used for manipulation.- Hint: diskAngle 0 forces disk-like behavior, diskAngle 1.570796 (90 degrees) forces cylinder-like behavior.
 
- Returns:
 - value of diskAngle field
 
 - 
setDiskAngle
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named diskAngle.
Tooltip: Help decide rotation behavior from initial relative bearing of pointer drag: acute angle whether cylinder sides or end-cap disks of virtual-geometry sensor are used for manipulation.- Hint: diskAngle 0 forces disk-like behavior, diskAngle 1.570796 (90 degrees) forces cylinder-like behavior.
 
- Parameters:
 newValue- is new value for the diskAngle field.- Returns:
 CylinderSensor- 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:
 getEnabledin interfaceX3DDragSensorNode- Specified by:
 getEnabledin interfaceX3DPointingDeviceSensorNode- Specified by:
 getEnabledin interfaceX3DSensorNode- 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:
 setEnabledin interfaceX3DDragSensorNode- Specified by:
 setEnabledin interfaceX3DPointingDeviceSensorNode- Specified by:
 setEnabledin interfaceX3DSensorNode- Parameters:
 newValue- is new value for the enabled field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
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 geometry is selected (for example, when primary mouse button is pressed), output event isActive=false is sent when geometry is deselected (for example, when primary mouse button is released).- 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:
 getIsActivein interfaceX3DDragSensorNode- Specified by:
 getIsActivein interfaceX3DPointingDeviceSensorNode- Specified by:
 getIsActivein interfaceX3DSensorNode- 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:
 getIsOverin interfaceX3DDragSensorNode- Specified by:
 getIsOverin interfaceX3DPointingDeviceSensorNode- Returns:
 - value of isOver field
 
 - 
getMaxAngle
float getMaxAngle()Provide float value unit axis, angle (in radians) within allowed range of (-6.2832,6.2832) from inputOutput SFFloat field named maxAngle.
Tooltip: clamps rotation_changed events within range of min/max values- Hint: if minAngle > maxAngle, rotation is not clamped.
 - Hint: radian units for angular measure https://en.wikipedia.org/wiki/Radian
 
- Returns:
 - value of maxAngle field
 
 - 
setMaxAngle
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named maxAngle.
Tooltip: clamps rotation_changed events within range of min/max values- Hint: if minAngle > maxAngle, rotation is not clamped.
 - Hint: radian units for angular measure https://en.wikipedia.org/wiki/Radian
 
- Parameters:
 newValue- is new value for the maxAngle field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
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:
 getMetadatain interfaceX3DChildNode- Specified by:
 getMetadatain interfaceX3DDragSensorNode- Specified by:
 getMetadatain interfaceX3DNode- Specified by:
 getMetadatain interfaceX3DPointingDeviceSensorNode- Specified by:
 getMetadatain interfaceX3DSensorNode- 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:
 setMetadatain interfaceX3DChildNode- Specified by:
 setMetadatain interfaceX3DDragSensorNode- Specified by:
 setMetadatain interfaceX3DNode- Specified by:
 setMetadatain interfaceX3DPointingDeviceSensorNode- Specified by:
 setMetadatain interfaceX3DSensorNode- Parameters:
 newValue- is new value for the metadata field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
 
 - 
getMinAngle
float getMinAngle()Provide float value unit axis, angle (in radians) within allowed range of (-6.2832,6.2832) from inputOutput SFFloat field named minAngle.
Tooltip: clamps rotation_changed events within range of min/max values- Hint: if minAngle > maxAngle, rotation is not clamped.
 - Hint: radian units for angular measure https://en.wikipedia.org/wiki/Radian
 
- Returns:
 - value of minAngle field
 
 - 
setMinAngle
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named minAngle.
Tooltip: clamps rotation_changed events within range of min/max values- Hint: if minAngle > maxAngle, rotation is not clamped.
 - Hint: radian units for angular measure https://en.wikipedia.org/wiki/Radian
 
- Parameters:
 newValue- is new value for the minAngle field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
getOffset
float getOffset()Provide float value from inputOutput SFFloat field named offset.
Tooltip: Sends event and remembers last value sensed.- Warning: ROUTE connecting rotation_changed to set_offset creates a self-reinforcing positive feedback loop and results in unmanageable response.
 
- Returns:
 - value of offset field
 
 - 
setOffset
Accessor method to assign float value to inputOutput SFFloat field named offset.
Tooltip: Sends event and remembers last value sensed.- Warning: ROUTE connecting rotation_changed to set_offset creates a self-reinforcing positive feedback loop and results in unmanageable response.
 
- Parameters:
 newValue- is new value for the offset field.- Returns:
 CylinderSensor- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
 - 
getRotation
float[] getRotation()Provide array of 4-tuple float results unit axis, angle (in radians) from outputOnly SFRotation field named rotation_changed.
Tooltip: rotation_changed events equal sum of relative bearing changes plus offset value about Y-axis in 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 rotation_changed field
 
 - 
getTrackPoint
float[] getTrackPoint()Provide array of 3-tuple float results from outputOnly SFVec3f field named trackPoint_changed.
Tooltip: trackPoint_changed events give intersection point of bearing with sensor's virtual geometry.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
 - Warning: trackPoint_changed events represent unclamped intersection points on plane surface. Browsers can interpret drags off of the surface in various ways. Note that translation_changed events are clamped by minPosition/maxPosition and thus may be preferable.
 
- Specified by:
 getTrackPointin interfaceX3DDragSensorNode- Returns:
 - value of trackPoint_changed field
 
 
 -