PlaneSensor
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: Sensors are affected by peer nodes and children of peers. Hint: add transparent geometry to see the effect of the sensor.
Inheritance
Code
XML encoding
<PlaneSensor logFeature='' enabled='TRUE' description='' triggerName='Timer' axisRotation='0 0 1 0' autoOffset='TRUE' offset='0 0 0' minPosition='0 0' maxPosition='-1 -1' />
Classic encoding
PlaneSensor { logFeature [""] enabled TRUE description "" triggerName "Timer" axisRotation 0 0 1 0 autoOffset TRUE offset 0 0 0 minPosition 0 0 maxPosition -1 -1 }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
autoOffset | SFBool | inputOutput | TRUE | Determines whether previous offset values are remembered/accumulated. | ||
axisRotation | SFRotation | inputOutput | 0 0 1 0 | The local sensor coordinate system is created by applying the axisRotation field value to the local coordinate system. | ||
description | SFString | inputOutput | Text description to comment the sensor task. Can be used in run-time systems to give usefull feedback to the user and developer | |||
enabled | SFBool | inputOutput | TRUE | Enables/disables the sensor node. | ||
hitObject_changed | SFNode | outputOnly | The next non-shared hit node's parent of type BoundedNode. | |||
isActive | SFBool | outputOnly | FALSE | isActive true/false events are sent when the sensor gets active | ||
isOver | SFBool | outputOnly | Is pointing device over sensor's geometry? | |||
logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||
maxPosition | SFVec2f | inputOutput | -1 -1 | minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition less then; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). | ||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element | ||
minPosition | SFVec2f | inputOutput | 0 0 | minPosition and maxPosition clamp translations to a range of values measured from origin of Z=0 plane default maxPosition less then; minPosition means no clamping. Hint: create a LineSensor by constraining one axis (minPosition.x=maxPosition.x) or (minPosition.y=maxPosition.y). | ||
offset | SFVec3f | inputOutput | 0 0 0 | Sends event and remembers last value sensed. | ||
touchPoints_changed | MFVec3f | outputOnly | Events containing all 3D points on surface of underlying geometry, given in Sensor's local coordinate system. | |||
trackPoint_changed | SFVec3f | outputOnly | trackPoint_changed events give intersection point of bearing with sensor's virtual geometry. | |||
translation_changed | SFVec3f | outputOnly | translation_changed events equal sum of relative translation change plus offset value. | |||
triggerName | SFString | initializeOnly | Timer | Name of the dynamic context-slot, which is used by the run-time environment (e.g. Jobs) to trigger the node. Life-Nodes will automatically connect the context-eventOutput to the triggerSlot-eventInput Slot. | ||
triggerSlot | SFTime | inputOnly | slot which is used internally to connect a dynamic context-slot which name is set by the triggerName value. Its used automatically to install run-time environment trigger. |