HandPosing
A tool for quickly authoring hand poses to objects in VR using hand-tracking
HandPosing.SnapSurfaces.BoxSurface Class Reference

This SnapSurface defines a Rectangle around which the grip point is valid. Since the grip point might be offset from the fingers, a valid range for each opposite side of the rectangle can be set so the grabbing fingers are constrained to the object bounds. More...

Inheritance diagram for HandPosing.SnapSurfaces.BoxSurface:
HandPosing.SnapSurfaces.SnapSurface

Public Member Functions

override HandPose InvertedPose (HandPose pose)
 STUB: Inverts a hand pose to an upside-down position. More...
 
override Pose MirrorPose (Pose pose)
 Method for mirroring a Pose around the surface. Different surfaces will prefer mirroring along different axis. More...
 
override Vector3 NearestPointInSurface (Vector3 targetPosition)
 The nearest position at the surface from a given position. More...
 
override Pose MinimalRotationPoseAtSurface (Pose userPose, Pose snapPose)
 Calculates a valid pose at the surface with the most similar rotation possible to the user's hand More...
 
override Pose MinimalTranslationPoseAtSurface (Pose userPose, Pose snapPose)
 Calculates a valid pose at the surface with the most similar position possible to the user's hand More...
 

Protected Member Functions

Quaternion RotateUp (Quaternion baseRot, float angle)
 

Properties

override SnapSurfaceData Data [get, set]
 
float WidthOffset [get, set]
 The lateral displacement of the grip point in the main side. More...
 
Vector4 SnapOffset [get, set]
 The range at which the sides are constrained. X,Y for the back and forward sides range. Z,W for the left and right sides range. More...
 
Vector3 Size [get, set]
 The size of the rectangle. Y is ignored. More...
 
Quaternion Rotation [get, set]
 The rotation of the rectange from the Grip point More...
 
Vector3 Direction [get]
 The forward direction of the rectangle (based on its rotation) More...
 
- Properties inherited from HandPosing.SnapSurfaces.SnapSurface
virtual SnapSurfaceData Data [get, set]
 Getter for the data-only version of this surface. Used so it can be stored when created at Play-Mode. More...
 
Transform GripPoint [get]
 Valid point at which the hand can snap, typically the SnapPoint position itself. More...
 

Additional Inherited Members

- Public Attributes inherited from HandPosing.SnapSurfaces.SnapSurface
Transform relativeTo
 Object to which the surface refers to. More...
 

Detailed Description

This SnapSurface defines a Rectangle around which the grip point is valid. Since the grip point might be offset from the fingers, a valid range for each opposite side of the rectangle can be set so the grabbing fingers are constrained to the object bounds.

Member Function Documentation

◆ InvertedPose()

override HandPose HandPosing.SnapSurfaces.BoxSurface.InvertedPose ( HandPose  pose)
virtual

STUB: Inverts a hand pose to an upside-down position.

Parameters
poseThe hand pose to be inverted
Returns
An upside-down version of the given pose.

Implements HandPosing.SnapSurfaces.SnapSurface.

◆ MinimalRotationPoseAtSurface()

override Pose HandPosing.SnapSurfaces.BoxSurface.MinimalRotationPoseAtSurface ( Pose  userPose,
Pose  snapPose 
)
virtual

Calculates a valid pose at the surface with the most similar rotation possible to the user's hand

Parameters
userPoseThe user's hand pose
snapPoseThe pose for the snap point
Returns
A valid pose at the surface

Implements HandPosing.SnapSurfaces.SnapSurface.

◆ MinimalTranslationPoseAtSurface()

override Pose HandPosing.SnapSurfaces.BoxSurface.MinimalTranslationPoseAtSurface ( Pose  userPose,
Pose  snapPose 
)
virtual

Calculates a valid pose at the surface with the most similar position possible to the user's hand

Parameters
userPoseThe user's hand pose
snapPoseThe pose for the snap point
Returns
A valid pose at the surface

Implements HandPosing.SnapSurfaces.SnapSurface.

◆ MirrorPose()

override Pose HandPosing.SnapSurfaces.BoxSurface.MirrorPose ( Pose  pose)
virtual

Method for mirroring a Pose around the surface. Different surfaces will prefer mirroring along different axis.

Parameters
poseThe Pose to be mirrored.
Returns
A new pose mirrored at this surface.

Reimplemented from HandPosing.SnapSurfaces.SnapSurface.

◆ NearestPointInSurface()

override Vector3 HandPosing.SnapSurfaces.BoxSurface.NearestPointInSurface ( Vector3  targetPosition)
virtual

The nearest position at the surface from a given position.

Parameters
targetPositionThe position to measure from at world coordinates.
Returns
A valid position at the surface in world coordinates.

Implements HandPosing.SnapSurfaces.SnapSurface.

Property Documentation

◆ Direction

Vector3 HandPosing.SnapSurfaces.BoxSurface.Direction
get

The forward direction of the rectangle (based on its rotation)

◆ Rotation

Quaternion HandPosing.SnapSurfaces.BoxSurface.Rotation
getset

The rotation of the rectange from the Grip point

◆ Size

Vector3 HandPosing.SnapSurfaces.BoxSurface.Size
getset

The size of the rectangle. Y is ignored.

◆ SnapOffset

Vector4 HandPosing.SnapSurfaces.BoxSurface.SnapOffset
getset

The range at which the sides are constrained. X,Y for the back and forward sides range. Z,W for the left and right sides range.

◆ WidthOffset

float HandPosing.SnapSurfaces.BoxSurface.WidthOffset
getset

The lateral displacement of the grip point in the main side.


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