Hermes SDK Documentation
Classes | Enumerations | Variables
Hermes::Protocol Namespace Reference

Classes

struct  AdvertisingHapticsModules
 
struct  AssignRoleToTrackerArgs
 
struct  AssignSetToRoleArgs
 
struct  AssignTrackerToSetArgs
 
struct  Color
 
struct  Devices
 
struct  Diagnostics
 
struct  Filter
 
struct  FilterInventory
 
struct  Finger
 
struct  Glove
 
struct  GloveInfo
 
struct  GloveRaw
 
struct  HapticsModuleAdvertisement
 
struct  HiveNode
 
struct  Mat44
 
struct  MeshConfig
 
struct  MeshNodeConfig
 
struct  Orientation
 
struct  Parameter
 
struct  ParameterSet
 
struct  Phalange
 
struct  Pipeline
 
struct  PipelineCommitArgs
 
struct  Player
 
struct  PlayerCollection
 
struct  PlayerHandArgs
 
struct  PlayerProfileArgs
 
struct  PlayerTrackerSetArgs
 
struct  Quat
 
struct  RawFinger
 
struct  ServiceRoute
 
struct  Session
 
struct  SessionArguments
 
struct  SessionSet
 
struct  Tracker
 
struct  TrackerData
 
struct  TrackerList
 
struct  TrackingSystemInfo
 
struct  TrackingSystemMessage
 
struct  Translation
 
struct  UpgradeNotification
 
struct  Vec3
 
struct  Version
 
struct  Void
 
struct  WrappedDevices
 

Enumerations

enum  UpdateMode { CheckOnly, StartUpdater }
 
enum  FingerType { UnknownFinger, Regular, Thumb }
 
enum  HandType { UnknownChirality, Left, Right }
 
enum  GloveVersion { UnknownVersion, PrimeOne, PrimeTwo }
 
enum  coor_axis_t {
  CoorAxisZneg, CoorAxisYneg, CoorAxisXneg, CoorAxisXpos,
  CoorAxisYpos, CoorAxisZpos
}
 
enum  TrackerType {
  Unknown, Head, Waist, LeftHand,
  RightHand, LeftFoot, RightFoot, LeftUpperArm,
  RightUpperArm, LeftUpperLeg, RightUpperLeg, Controller,
  Camera
}
 

Variables

import protodefinitions ParameterSet proto
 

Detailed Description

option optimize_for = LITE_RUNTIME;

Enumeration Type Documentation

◆ coor_axis_t

Specifies how the 3d mesh model is setup at the client side (Unity/Unreal/etc) for the BasisConversionFilter. ExternalMeshNodeConfig defines the coordinate frame in a node/bone of the mesh. We assume that hand mesh bones are oriented in such a way that one axis points towards the tips of the fingers, one axis points out of the hand perpendicular to the palmar plane or the plane in which the finger nails would lie (in case of the thumb), and one axis perpendicular to the other two, usually designating the axis of rotation of the finger joints. For the world frame, forward = from viewer, right = right of viewer Some engines flip a coordinate frame axis to convert a right-handed coordinate frame to a left-handed coordinate frame This negation axis should also be specified for your application The bone that you try to describe has its x-Axis pointing towards the finger tip, its y-Axis pointing towards the palm and rotates around the z-Axis, which points left. In this case, upDirection = CoorAxisY_NEG (the negation of the y-Axis points to the back of the hand), forwardDirection = CoorAxisX_POS, and rightDirection = CoorAxisZ_NEG (the negation of the z-Axis points right according to the above definition)

Attention
the upAxis for the thumb refers to the direction outward from the back of the thumb, and its rightAxis refers to the direction pointing right when looking at the back of the thumb (i.e. the side on which the nail is) For an illustration check out the online documentation for the Apollo Network SDK
Enumerator
CoorAxisZneg 

proto forces enums to begin at 0 https://developers.google.com/protocol-buffers/docs/proto3#enum

◆ FingerType

Enums.

◆ UpdateMode

Shared mode for firmware & application updates.

Variable Documentation

◆ proto

import protodefinitions ParameterSet Hermes::Protocol::proto

import "protodefinitions/Common.proto";