instantreality 1.0

Component:
PointingDeviceSensor
Status:
fully implemented
Structure type:
concrete
Standard:
X3D2.0

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
SFFloat 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.
SFFloat maxAngle SFFloat inputOutput -1 clamps rotation_changed events within range of min/max values Hint: if minAngle greater then; maxAngle, rotation is not clamped.
SFFloat minAngle SFFloat inputOutput 0 clamps rotation_changed events within range of min/max values Hint: if minAngle greater then; maxAngle, rotation is not clamped.
SFFloat offset SFFloat inputOutput 0 Sends event and remembers last value sensed.
SFRotation 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.
SFRotation rotation_changed SFRotation outputOnly rotation_changed events equal sum of relative bearing changes plus offset value.
SFBool autoOffset SFBool inputOutput TRUE Determines whether previous offset values are remembered/accumulated.
SFVec3f trackPoint_changed SFVec3f outputOnly trackPoint_changed events give intersection point of bearing with sensor's virtual geometry.
SFBool isOver SFBool outputOnly Is pointing device over sensor's geometry?
SFNode hitObject_changed SFNode outputOnly The next non-shared hit node's parent of type BoundedNode.
MFVec3f touchPoints_changed MFVec3f outputOnly Events containing all 3D points on surface of underlying geometry, given in Sensor's local coordinate system.
SFString 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.
SFString 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
SFBool enabled SFBool inputOutput TRUE Enables/disables the sensor node.
SFBool isActive SFBool outputOnly FALSE isActive true/false events are sent when the sensor gets active
SFTime 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.
MFString 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
SFNode metadata SFNode inputOutput MetadataObject container for payload metadata inside MetadataSet element