Tanoda
Leap.Unity.OldRigHierarchy Class Reference

Description of an old Leap VR rig from before Core version 4.4. More...

Classes

class  ImageRigData
 
class  OldCameraData
 Old camera objects that weren't modified at all would have had a LeapEyeDislocator (formerly LeapVRCameraControl), a Camera component, and an EnableDepthBuffer component. More...
 
class  OldLeapHandControllerData
 
class  OldLeapSpaceData
 
class  UpgradeOptions
 

Public Member Functions

void Upgrade (UpgradeOptions options)
 

Static Public Member Functions

static bool DetectFor (Transform transform, OldRigHierarchy toFill)
 Detects if the argument Transform is the rig root of an old Leap rig, modifying the passed-in old rig hierarchy description. Returns true if the rig was detected as an old rig, false otherwise. More...
 
static OldRigHierarchy DetectFor (Transform transform)
 Detects if the argument Transform is the rig root of an old Leap rig, in which case an OldRigHierarchy description is returned, otherwise this method returns null. More...
 

Public Attributes

bool isUpgradeableOldRig = false
 Whether this rig can be upgraded. Set after a DetectFor(transform) call. More...
 
bool detectedAsPotentialRig = false
 Whether the scan data indicates the scanned transform is potentially an old Leap rig. Set after a DetectFor(transform) call. More...
 
string reasonRigCannotBeUpgraded
 If the rig was detected as a potential rig but not upgradeable, this is the reason the rig cannot be upgraded. Set after a DetectFor(transform) call. More...
 
Transform rigTransform
 The root transform of the old rig hierarchy. More...
 
Transform handModelParentTransform
 The parent of hand models in this rig that will receive the HandModelManager. More...
 
OldCameraData cameraData
 The driven camera transform and component info of the rig hierarchy, or that of the LEFT eye if this rig was an IR viewer rig specifically. More...
 
OldLeapSpaceData leapSpaceData
 
OldLeapHandControllerData lhcData
 
ImageRigData imageRigData
 

Properties

bool isImageRig [get]
 

Detailed Description

Description of an old Leap VR rig from before Core version 4.4.

Use DetectFor(transform) to attempt to detect an instance of an old Leap rig with its root at that Transform. If the rig is detected and upgradeable, also provides a call to upgrade the rig in an Undo-able way.

This is essentially the hierarchy that we're matching to build this object:

Standard VR rig (old) "LMHeadMountedRig" - soft-contain VRHeightOffset -> XRHeightOffset (automatic) | |- "CenterEyeAnchor" - soft-contain LeapVRCameraControl -> LeapEyeDislocator, | | soft-contain Camera, | | soft-contain EnableDepthBuffer -> remove | | | `- "LeapSpace" - soft-contain LeapVRTemporalWarping -> Missing Script | | | `- "LeapHandController" - contain LeapHandController -> Missing Script, | contain LeapServiceProvider, | soft-contain Hand Model Manager `- "HandModels" | `- X handModelTransforms, unmodified.

Alternatively, the old rig could be an old pass-through camera rig, which is more complicated because it has two separate eye cameras:

Standard pass-through rig (old) "LMHeadMountedRig" - soft-contain VRHeightOffset -> XRHeightOffset (automatic) | |- "LeftEyeAnchor" - soft-contain LeapVRCameraControl -> LeapEyeDislocator, | | soft-contain Camera, | | soft-contain EnableDepthBuffer -> remove, | | contain LeapImageRetriever | | | `- "LeapSpace" - soft-contain TempWarp -> Missing Script | | | |- "LeapHandController" - contain LeapHandController -> Missing Script, | | contain LeapServiceProvider | | soft-contain Hand Pool | ‘- "QuadBackground" -> as 'extra’ Transform, moved to child of Camera. | |- "RightEyeAnchor" - contain LeapVRCameraControl -> LeapEyeDislocator | ^- this on a sibling of the Leap Image Retriever | indicates extremely high certainty of Image Rig. | soft-contain Camera, | soft-contain Enable Depth Buffer -> Missing Script | `- "HandModels" | `- X handModelTransforms, unmodified.

Definition at line 592 of file LeapRigUpgrader.cs.

Member Function Documentation

◆ DetectFor() [1/2]

static OldRigHierarchy Leap.Unity.OldRigHierarchy.DetectFor ( Transform  transform)
static

Detects if the argument Transform is the rig root of an old Leap rig, in which case an OldRigHierarchy description is returned, otherwise this method returns null.

Definition at line 939 of file LeapRigUpgrader.cs.

◆ DetectFor() [2/2]

static bool Leap.Unity.OldRigHierarchy.DetectFor ( Transform  transform,
OldRigHierarchy  toFill 
)
static

Detects if the argument Transform is the rig root of an old Leap rig, modifying the passed-in old rig hierarchy description. Returns true if the rig was detected as an old rig, false otherwise.

Definition at line 690 of file LeapRigUpgrader.cs.

◆ Upgrade()

void Leap.Unity.OldRigHierarchy.Upgrade ( UpgradeOptions  options)

Definition at line 972 of file LeapRigUpgrader.cs.

Member Data Documentation

◆ cameraData

OldCameraData Leap.Unity.OldRigHierarchy.cameraData

The driven camera transform and component info of the rig hierarchy, or that of the LEFT eye if this rig was an IR viewer rig specifically.

Definition at line 646 of file LeapRigUpgrader.cs.

◆ detectedAsPotentialRig

bool Leap.Unity.OldRigHierarchy.detectedAsPotentialRig = false

Whether the scan data indicates the scanned transform is potentially an old Leap rig. Set after a DetectFor(transform) call.

Definition at line 605 of file LeapRigUpgrader.cs.

◆ handModelParentTransform

Transform Leap.Unity.OldRigHierarchy.handModelParentTransform

The parent of hand models in this rig that will receive the HandModelManager.

Definition at line 625 of file LeapRigUpgrader.cs.

◆ imageRigData

ImageRigData Leap.Unity.OldRigHierarchy.imageRigData

Definition at line 676 of file LeapRigUpgrader.cs.

◆ isUpgradeableOldRig

bool Leap.Unity.OldRigHierarchy.isUpgradeableOldRig = false

Whether this rig can be upgraded. Set after a DetectFor(transform) call.

Definition at line 599 of file LeapRigUpgrader.cs.

◆ leapSpaceData

OldLeapSpaceData Leap.Unity.OldRigHierarchy.leapSpaceData

Definition at line 662 of file LeapRigUpgrader.cs.

◆ lhcData

OldLeapHandControllerData Leap.Unity.OldRigHierarchy.lhcData

Definition at line 671 of file LeapRigUpgrader.cs.

◆ reasonRigCannotBeUpgraded

string Leap.Unity.OldRigHierarchy.reasonRigCannotBeUpgraded
Initial value:
= "Rig data has not been collected. Call OldRigHierarchy.DetectFor(transform) to "
+ "scan."

If the rig was detected as a potential rig but not upgradeable, this is the reason the rig cannot be upgraded. Set after a DetectFor(transform) call.

Definition at line 611 of file LeapRigUpgrader.cs.

◆ rigTransform

Transform Leap.Unity.OldRigHierarchy.rigTransform

The root transform of the old rig hierarchy.

Definition at line 620 of file LeapRigUpgrader.cs.

Property Documentation

◆ isImageRig

bool Leap.Unity.OldRigHierarchy.isImageRig
get

Definition at line 677 of file LeapRigUpgrader.cs.


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