Interface PlaneSensor

All Superinterfaces:
X3DChildNode, X3DDragSensorNode, X3DNode, X3DPointingDeviceSensorNode, X3DSensorNode
All Known Implementing Classes:
PlaneSensor

public interface PlaneSensor extends X3DDragSensorNode
PlaneSensor converts pointing device motion into 2D translation parallel to the local Z=0 plane.

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. X3D node tooltip: [X3DDragSensorNode] PlaneSensor converts pointing device motion into 2D translation parallel to the local Z=0 plane. Hint: create a LineSensor by constraining one axis: (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). 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: X3D Architecture 20.2.1 Overview of pointing device sensors <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#OverviewOfPointingDeviceSensors" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#OverviewOfPointingDeviceSensors</a> Hint: X3D Architecture 20.2.2 Drag sensors <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#DragSensors" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#DragSensors</a> Hint: X3D Architecture 20.2.3 Activating and manipulating pointing device sensors <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#Activatingandmanipulating" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/pointingDeviceSensor.html#Activatingandmanipulating</a> Hint: example scenes and authoring assets at <a href="https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity" target="_blank">https://www.web3d.org/x3d/content/examples/X3dForWebAuthors/Chapter08UserInteractivity</a> *


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 Type
    Method
    Description
    boolean
    Provide 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.
    boolean
    Provide boolean value from inputOutput SFBool field named enabled.
    boolean
    Provide boolean value from outputOnly SFBool field named isActive.
    boolean
    Provide boolean value from outputOnly SFBool field named isOver.
    float[]
    Provide array of 2-tuple float results from inputOutput SFVec2f field named maxPosition.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float[]
    Provide array of 2-tuple float results from inputOutput SFVec2f field named minPosition.
    float[]
    Provide array of 3-tuple float results from inputOutput SFVec3f field named offset.
    float[]
    Provide array of 3-tuple float results from outputOnly SFVec3f field named trackPoint_changed.
    float[]
    Provide array of 3-tuple float results from outputOnly SFVec3f field named translation_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.
    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.
    setMaxPosition(float[] newValue)
    Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named maxPosition.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setMinPosition(float[] newValue)
    Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named minPosition.
    setOffset(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f 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:
      getAutoOffset in interface X3DDragSensorNode
      Returns:
      value of autoOffset field
    • setAutoOffset

      PlaneSensor setAutoOffset(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named autoOffset.

      Tooltip: Determines whether previous offset values are remembered/accumulated. *
      Specified by:
      setAutoOffset in interface X3DDragSensorNode
      Parameters:
      newValue - is new value for the autoOffset field.
      Returns:
      PlaneSensor - 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

      PlaneSensor setAxisRotation(float[] newValue)
      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:
      PlaneSensor - 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 &#38; for & ampersand character, or &#34; for " quotation-mark character). *
      Specified by:
      getDescription in interface X3DDragSensorNode
      Specified by:
      getDescription in interface X3DPointingDeviceSensorNode
      Specified by:
      getDescription in interface X3DSensorNode
      Returns:
      value of description field
    • setDescription

      PlaneSensor setDescription(String newValue)
      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 &#38; for & ampersand character, or &#34; for " quotation-mark character). *
      Specified by:
      setDescription in interface X3DDragSensorNode
      Specified by:
      setDescription in interface X3DPointingDeviceSensorNode
      Specified by:
      setDescription in interface X3DSensorNode
      Parameters:
      newValue - is new value for the description field.
      Returns:
      PlaneSensor - 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 interface X3DDragSensorNode
      Specified by:
      getEnabled in interface X3DPointingDeviceSensorNode
      Specified by:
      getEnabled in interface X3DSensorNode
      Returns:
      value of enabled field
    • setEnabled

      PlaneSensor setEnabled(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named enabled.

      Tooltip: Enables/disables node operation. *
      Specified by:
      setEnabled in interface X3DDragSensorNode
      Specified by:
      setEnabled in interface X3DPointingDeviceSensorNode
      Specified by:
      setEnabled in interface X3DSensorNode
      Parameters:
      newValue - is new value for the enabled field.
      Returns:
      PlaneSensor - 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:
      getIsActive in interface X3DDragSensorNode
      Specified by:
      getIsActive in interface X3DPointingDeviceSensorNode
      Specified by:
      getIsActive in interface X3DSensorNode
      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 interface X3DDragSensorNode
      Specified by:
      getIsOver in interface X3DPointingDeviceSensorNode
      Returns:
      value of isOver field
    • getMaxPosition

      float[] getMaxPosition()
      Provide array of 2-tuple float results from inputOutput SFVec2f field named maxPosition.

      Tooltip: minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition &lt; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). *
      Returns:
      value of maxPosition field
    • setMaxPosition

      PlaneSensor setMaxPosition(float[] newValue)
      Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named maxPosition.

      Tooltip: minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition &lt; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). *
      Parameters:
      newValue - is new value for the maxPosition field.
      Returns:
      PlaneSensor - 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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata</a> *
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DDragSensorNode
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DPointingDeviceSensorNode
      Specified by:
      getMetadata in interface X3DSensorNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      PlaneSensor setMetadata(X3DMetadataObject newValue)
      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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata</a> *
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DDragSensorNode
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DPointingDeviceSensorNode
      Specified by:
      setMetadata in interface X3DSensorNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      PlaneSensor - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
    • getMinPosition

      float[] getMinPosition()
      Provide array of 2-tuple float results from inputOutput SFVec2f field named minPosition.

      Tooltip: minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition &lt; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). *
      Returns:
      value of minPosition field
    • setMinPosition

      PlaneSensor setMinPosition(float[] newValue)
      Accessor method to assign 2-tuple float array to inputOutput SFVec2f field named minPosition.

      Tooltip: minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition &lt; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). *
      Parameters:
      newValue - is new value for the minPosition field.
      Returns:
      PlaneSensor - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getOffset

      float[] getOffset()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named offset.

      Tooltip: Sends event and remembers last value sensed. Warning: ROUTE connecting translation_changed to set_offset creates a self-reinforcing positive feedback loop and results in unmanageable response. *
      Returns:
      value of offset field
    • setOffset

      PlaneSensor setOffset(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named offset.

      Tooltip: Sends event and remembers last value sensed. Warning: ROUTE connecting translation_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:
      PlaneSensor - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • 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:
      getTrackPoint in interface X3DDragSensorNode
      Returns:
      value of trackPoint_changed field
    • getTranslation

      float[] getTranslation()
      Provide array of 3-tuple float results from outputOnly SFVec3f field named translation_changed.

      Tooltip: translation_changed events equal sum of relative translation change plus offset value. 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 translation_changed field