CylinderSensor
CylinderSensor converts pointer motion (for example, a mouse or wand) into rotation values using an invisible cylinder aligned with local Y-axis. Hint: Sensors are affected by peer nodes and children of peers. Hint: add transparent 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.
Inheritance
Code
XML encoding
<CylinderSensor diskAngle='0.262' maxAngle='-1' minAngle='0' offset='0' axisRotation='0 1 0 0' autoOffset='TRUE' triggerName='Timer' description='' enabled='TRUE' logFeature='' />
Classic encoding
CylinderSensor { diskAngle 0.262 maxAngle -1 minAngle 0 offset 0 axisRotation 0 1 0 0 autoOffset TRUE triggerName "Timer" description "" enabled TRUE logFeature [""] }
Interface
Filter: X3D only | Avalon only | All
id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|
diskAngle | SFFloat | inputOutput | 0.262 | 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.57 (90 degrees) forces cylinder-like behavior. | ||
maxAngle | SFFloat | inputOutput | -1 | clamps rotation_changed events within range of min/max values Hint: if minAngle greater then; maxAngle, rotation is not clamped. | ||
minAngle | SFFloat | inputOutput | 0 | clamps rotation_changed events within range of min/max values Hint: if minAngle greater then; maxAngle, rotation is not clamped. | ||
offset | SFFloat | inputOutput | 0 | Sends event and remembers last value sensed. | ||
axisRotation | SFRotation | inputOutput | 0 1 0 0 | The local sensor coordinate system is created by applying the axisRotation field value to the local coordinate system. | ||
rotation_changed | SFRotation | outputOnly | rotation_changed events equal sum of relative bearing changes plus offset value. | |||
autoOffset | SFBool | inputOutput | TRUE | Determines whether previous offset values are remembered/accumulated. | ||
trackPoint_changed | SFVec3f | outputOnly | trackPoint_changed events give intersection point of bearing with sensor's virtual geometry. | |||
isOver | SFBool | outputOnly | Is pointing device over sensor's geometry? | |||
hitObject_changed | SFNode | outputOnly | The next non-shared hit node's parent of type BoundedNode. | |||
touchPoints_changed | MFVec3f | outputOnly | Events containing all 3D points on surface of underlying geometry, given in Sensor's local coordinate system. | |||
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. | ||
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. | ||
isActive | SFBool | outputOnly | FALSE | isActive true/false events are sent when the sensor gets active | ||
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. | |||
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 | ||
metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |