H3D API
2.4.1
|
A StringSensor node generates events as the user presses keys on the keyboard. More...
#include <H3D/StringSensor.h>
Public Member Functions | |
StringSensor (Inst< SFBool > _deletionAllowed=0, Inst< SFBool > _enabled=0, Inst< SFNode > _metadata=0, Inst< SFString > _enteredText=0, Inst< SFString > _finalText=0, Inst< SFBool > _isActive=0) | |
Constructor. | |
virtual void | keyboardDown (int key, bool special_key) |
Function called when key is pressed. | |
virtual void | keyboardUp (int key, bool special_key) |
Function called when key is released. | |
![]() | |
X3DKeyDeviceSensorNode (Inst< SFBool > _enabled=0, Inst< SFNode > _metadata=0, Inst< SFBool > _isActive=0) | |
Constructor. | |
~X3DKeyDeviceSensorNode () | |
Destructor. | |
![]() | |
X3DSensorNode (Inst< SFBool > _enabled=0, Inst< SFNode > _metadata=0, Inst< SFBool > _isActive=0) | |
Constructor. | |
![]() | |
X3DChildNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
![]() | |
X3DNode (Inst< SFNode > _metadata=0) | |
Constructor. | |
X3DMetadataObject * | getMetadataByName (const string &_name) |
Given a name, the first X3DMetadataObject in the metadata field that matches that name is returned. More... | |
![]() | |
Node () | |
Constructor. | |
virtual Node * | clone (bool deepCopy=true, DeepCopyMap *deepCopyMap=NULL) |
Returns a new instance of this node type with the same state as this one. More... | |
virtual | ~Node () |
Destructor. | |
X3DPrototypeInstance * | getProtoInstanceParent () |
If this node is the root node in the proto body of a X3DPrototypeInstance then this will return that node. More... | |
void | setProtoInstanceParent (X3DPrototypeInstance *p) |
Set the X3DPrototypeInstance this node is the the root node if applicaple. | |
virtual void | render () |
the render() function is used for the depth-first rendering traversal of the scene-graph. More... | |
virtual void | traverseSG (TraverseInfo &ti) |
traverseSG is called once per scenegraph loop on the scene in order to traverse the scenegraph. More... | |
virtual bool | lineIntersect (const Vec3f &from, const Vec3f &to, LineIntersectResult &result) |
Detect intersection between a line segment and the Node. More... | |
virtual void | closestPoint (const Vec3f &p, NodeIntersectResult &result) |
Find closest point on Node to p. More... | |
virtual bool | movingSphereIntersect (H3DFloat radius, const Vec3f &from, const Vec3f &to, NodeIntersectResult &result) |
Detect collision between a moving sphere and the Node. More... | |
virtual string | defaultXMLContainerField () |
Returns the default xml containerField attribute value. More... | |
virtual Field * | getField (const string &_name) const |
return a pointer to the field specified by name within this instance | |
int | addDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
int | removeDestructCallback (void(*func)(Node *, void *), void *args) |
Add a callback function to be run on destruction of node. More... | |
Public Attributes | |
H3DUniquePtr< SFBool > | deletionAllowed |
If a deletionAllowed has value TRUE, the previously entered character in the enteredText is removed when the backspace key is entered. More... | |
H3DUniquePtr< SFString > | enteredText |
enteredText events are generated as keys which produce characters are pressed on the keyboard. More... | |
H3DUniquePtr< SFString > | finalText |
The finalText event is generated whenever the browser-recognized value for terminating a string is entered. More... | |
![]() | |
H3DUniquePtr< SFBool > | enabled |
If enabled is true the sensor node is enabled otherwise it is disabled and will not generate any output. More... | |
H3DUniquePtr< SFBool > | isActive |
A sensor is active when some special conditions are fulfilled and it will then generate extra output. More... | |
![]() | |
H3DUniquePtr< SFNode > | metadata |
Meta data about the node. More... | |
Static Public Attributes | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
![]() | |
static H3DNodeDatabase | database |
The H3DNodeDatabase for this node. | |
Additional Inherited Members | |
![]() | |
typedef std::map< Node *, Node * > | DeepCopyMap |
A map type used during a deep copy clone() to map from original nodes to cloned nodes. | |
![]() | |
static void | keyboardDownCallback (unsigned char key) |
Call this function from a window whenever the window get a character event. | |
static void | keyboardSpecialDownCallback (int key) |
Call this function from a window whenever the window get a key event. | |
static void | keyboardUpCallback (unsigned char key) |
Call this function from a window whenever the window get a character event. | |
static void | keyboardSpecialUpCallback (int key) |
Call this function from a window whenever the window get a key event. | |
![]() | |
static unsigned int | nrNodesAlive () |
Returns the nr of nodes currently alive, i.e. nodes created but not destructed. | |
static int | nrNodesCreated () |
Returns the number of nodes created in total since the start of the program. | |
![]() | |
void | cloneFieldValue (Field &_from, Field &_to, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for the clone() method. More... | |
![]() | |
static Node * | getClonedInstance (Node *original, bool deepCopy, DeepCopyMap &deepCopyMap) |
A helper function for nodes that implement clone() More... | |
A StringSensor node generates events as the user presses keys on the keyboard.
A StringSensor node can be enabled or disabled by sending it an enabled event with a value of TRUE or FALSE. If the StringSensor node is disabled, it does not track keyboard input or send events.
enteredText events are generated as keys which produce characters are pressed on the keyboard. The value of this event is the UTF-8 string entered including the latest character struck. The set of UTF-8 characters that can be generated will vary between different keyboards and different implementations.
If a deletionAllowed has value TRUE, the previously entered character in the enteredText is removed when the backspace key is entered. If deletionAllowed has value FALSE, characters may only be added to the string; deletion of characters shall not be allowed. Should the browser-recognized value for deleting the preceding character is entered, it shall be ignored.
The finalText event is generated whenever the browser-recognized value for terminating a string is entered; in H3D this is the enter key. When this recognition occurs, the finalText field generates an event with value equal to that of enteredText. After the finalText field event has been generated, the enteredText field is set to the empty string but no event is generated.
When the user begins typing, the StringSensor sends an isActive event with value TRUE. When the string is terminated, the StringSensor sends an isActive event with value FALSE.
The StringSensor is not affected by its position in the transformation hierarchy.
Examples:
H3DUniquePtr< SFBool> H3D::StringSensor::deletionAllowed |
If a deletionAllowed has value TRUE, the previously entered character in the enteredText is removed when the backspace key is entered.
Access type: inputOutput Default value: SFBool = TRUE
Referenced by keyboardDown(), and StringSensor().
H3DUniquePtr< SFString> H3D::StringSensor::enteredText |
enteredText events are generated as keys which produce characters are pressed on the keyboard.
Access type: outputOnly
Referenced by keyboardDown().
H3DUniquePtr< SFString> H3D::StringSensor::finalText |
The finalText event is generated whenever the browser-recognized value for terminating a string is entered.
Access type: outputOnly
Referenced by keyboardDown().