3Gear Systems SDK  v0.9.34
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
Public Member Functions | List of all members
HandTrackingClient::PinchMessage Class Reference

Messages relating to pressing, releasing, dragging and moving of each hand. More...

#include <HandTrackingMessage.h>

Inheritance diagram for HandTrackingClient::PinchMessage:
HandTrackingClient::BasicMessage HandTrackingClient::HandTrackingMessage

Public Member Functions

 PinchMessage (const MessageType type, const Hand hand, const Vector3f &positionLeft, const Quaternionf &rotationLeft, const int clickCountLeft, const Vector3f &positionRight, const Quaternionf &rotationRight, const int clickCountRight)
 Constructs a PinchMessage. Should not generally be called by users of the API.
 
const Hand getHand () const
 
std::string serialize () const
 
- Public Member Functions inherited from HandTrackingClient::BasicMessage
MessageType getType () const
 
const HandStategetHandState (int hand) const
 Returns the overall general hand state, excluding fingers. More...
 
 BasicMessage (const MessageType type, const Vector3f &positionLeft, const Quaternionf &rotationLeft, const int clickCountLeft, const Vector3f &positionRight, const Quaternionf &rotationRight, const int clickCountRight)
 Constructs a BasicMessage. Should not generally be called by users of the API.
 

Additional Inherited Members

- Public Types inherited from HandTrackingClient::HandTrackingMessage
enum  MessageType {
  WELCOME = 0, USER = 100, CALIBRATION = 101, POSE = 200,
  PRESSED = 300, DRAGGED = 301, RELEASED = 302, MOVED = 303,
  SIMULTANEOUSLY_PRESSED = 400, INDIVIDUALLY_PRESSED = 401, SIMULTANEOUSLY_RELEASED = 402, INDIVIDUALLY_RELEASED = 403,
  DRAGGED_BIMANUAL = 404, POINT = 500, INVALID_DATA = 10000
}
 
- Static Public Member Functions inherited from HandTrackingClient::HandTrackingMessage
static const char * messageTypeToString (MessageType m)
 Convert from a MessageType to its string representation; used for serialization.
 
static MessageType stringToMessageType (const std::string &str)
 Convert from a string to a MessageType; used in deserialization.
 
static HandTrackingMessagedeserialize (const std::string &data)
 Given a line of text sent over the network connection, converts it to a valid hand message. More...
 
- Protected Member Functions inherited from HandTrackingClient::HandTrackingMessage
 HandTrackingMessage ()
 

Detailed Description

Messages relating to pressing, releasing, dragging and moving of each hand.

Pinch messages are always a single hand at a time. That is, if the user pinches left and right simultaneously, you will still get two separate PRESS messages (one for the right and one for the left). As a result, there is less lag for pinch messages (which can be reported as soon as they happen) than for the "higher-level" BimanualPinchMessage messages.

Note that we do not recommend responding to both the PinchMessage and the BimanualPinchMessage; applications should generally pick one or the other. Responding to both can lead to very confusing interactions (since most pinches will be detected at least twice).

Member Function Documentation

const Hand HandTrackingClient::PinchMessage::getHand ( ) const
inline
Returns
which hand(s) this message applies to (can be LEFT or RIGHT, never BOTH).
std::string HandTrackingClient::PinchMessage::serialize ( ) const
virtual

Serializes the message to a string, which could then be output over the network.

Reimplemented from HandTrackingClient::BasicMessage.


The documentation for this class was generated from the following files: