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
SFBool autoOffset SFBool inputOutput TRUE Determines whether previous offset values are remembered/accumulated.
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.
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
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.
SFBool enabled SFBool inputOutput TRUE Enables/disables the sensor node.
SFNode hitObject_changed SFNode outputOnly The next non-shared hit node's parent of type BoundedNode.
SFBool isActive SFBool outputOnly FALSE isActive true/false events are sent when the sensor gets active
SFBool isOver SFBool outputOnly Is pointing device over sensor's geometry?
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
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.
SFNode metadata SFNode inputOutput MetadataObject container for payload metadata inside MetadataSet element
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 rotation_changed SFRotation outputOnly rotation_changed events equal sum of relative bearing changes plus offset value.
MFVec3f touchPoints_changed MFVec3f outputOnly Events containing all 3D points on surface of underlying geometry, given in Sensor's local coordinate system.
SFVec3f trackPoint_changed SFVec3f outputOnly trackPoint_changed events give intersection point of bearing with sensor's virtual geometry.
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.
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.