---
title: "RigidBodyTrackingSource"
description: "API documentation for RigidBodyTrackingSource"
url: https://developer.disguise.one/python-api/docs/rigidbodytrackingsource/
---

# RigidBodyTrackingSource

Base class (inherits properties and methods): _[ObjectTrackingSource](/python-api/docs/objecttrackingsource#objecttrackingsource)_

## Properties

#### **actionOnTrackingLost** : _int_

Action to carry out if tracking is lost for any reason

_Options: {0: ‘Maintain Last Known Values’, 1: ‘Reset’, 2: ‘Follow Sequencing’}  
Category: On Tracking Lost/ Regained  
UserName: Action On Tracking Lost_

#### **calibrated** : _int_

_Options: {0: ‘NotCalibrated’, 1: ‘Calibrated’}  
Category: Rigid Body  
UserName: Status_

#### **constrainXYZEnabled** : _[Vec](/python-api/docs/vec#vec)_

Limiting motion in XYZ dimensions (0 = off, 1 = on)

_Category: Constraints  
UserName: Constraints XYZ Enabled_

#### **constrainXYZRotEnabled** : _[Vec](/python-api/docs/vec#vec)_

Limiting motion in XYZ orientations (0 = off, 1 = on)

_Category: Constraints  
UserName: Constraints XYZ Rotation Enabled_

#### **constraintXYZMax** : _[Vec](/python-api/docs/vec#vec)_

Limit in the +XYZ Axes (m)

_Category: Constraints  
UserName: Constraint XYZ Max_

#### **constraintXYZMin** : _[Vec](/python-api/docs/vec#vec)_

Limit in the -XYZ Axes (m)

_Category: Constraints  
UserName: Constraint XYZ Min_

#### **constraintXYZRotMax** : _[Vec](/python-api/docs/vec#vec)_

Limit the +XYZ Rotation (deg)

_Category: Constraints  
UserName: Constraint XYZ Max Rotation_

#### **constraintXYZRotMin** : _[Vec](/python-api/docs/vec#vec)_

Limit the -XYZ Rotation (deg)

_Category: Constraints  
UserName: Constraint XYZ Min Rotation_

#### **engaged** : _int_

_Options: {0: ‘No’, 1: ‘Yes’}  
Category: Rigid Body  
UserName: Engaged_

#### **fixed** : _List\[[ReferencePoint](/python-api/docs/referencepoint#referencepoint)\]_

#### **isPositionApproximationEnabled** : _int_

With this option enabled the RigidBody solver will attempt to track position (excluding any rotation) if there are 1 or 2 points visible. Note: only valid for the RigidBody solver, which requires 3 visible tracked points for a full solve of position and rotation.

_Options: {0: ‘Off’, 1: ‘On’}  
Category: On Tracking Lost/ Regained  
UserName: Position Approximation_

#### **nSolverIterations** : _int_

Number of iterations to improve base solved pose.

_Category: Rigid Body  
UserName: Solver iterations_

#### **offset** : _[Vec](/python-api/docs/vec#vec)_

Set a tweak offset. Only active when receiving tracking data

_Category: Tweak  
UserName: Offset_

#### **offsets** : _List\[[Vec](/python-api/docs/vec#vec)\]_

#### **posThreshold** : _float_

Set this to a value greater than zero to prevent Dynamic Blend from recomputing because of static oscillation

_Category: Rigid Body  
UserName: Movement threshold (mm/frame)_

#### **resetPosition** : _[Vec](/python-api/docs/vec#vec)_

Stage position to return to in ‘Reset’ mode

_Category: On Tracking Lost/ Regained  
UserName: Reset Position_

#### **resetRotation** : _[Vec](/python-api/docs/vec#vec)_

Stage Orientation to return to in ‘Reset’ mode

_Category: On Tracking Lost/ Regained  
UserName: Reset Rotation_

#### **rotation** : _[Vec](/python-api/docs/vec#vec)_

Set a tweak rotation. Only active when receiving tracking data

_Category: Tweak  
UserName: Rotation_

#### **rotationThreshold** : _float_

Set this to a value greater than zero to prevent Dynamic Blend from recomputing because of static oscillation

_Category: Rigid Body  
UserName: Rotation threshold (deg/frame)_

#### **samplingSnapFixedPoints** : _bool_ _(Read-Only)_

#### **smoothingFactorSolvedOffset** : _float_

_UserName: Solver smooothing factor (%)_

#### **solverMode** : _int_

The RigidBody solver requires 3 visible tracked points for a full solve of position and rotation. The Actor solver will only solve for position and requires at least 1 visible tracked point.

_Options: {0: ‘RigidBody’, 1: ‘Actor’}  
Category: Rigid Body  
UserName: Solver mode_

#### **tpReceiveTimeoutSecs** : _float_

Tracked point receive timeout after N seconds. Applies to all tracked points for rigid body.

_Category: Tracked Point Timeouts  
UserName: Receive Timeout (sec)_

#### **tpReceivingForThresholdSecs** : _float_

Tracked point receiving with confidence threshold after N seconds. Applies to all tracked points for rigid body.

_Category: Tracked Point Timeouts  
UserName: Confidence Threshold (sec)_

#### **tpStoppedReceivingForThresholdSecs** : _float_

Tracked point remove from stage after N seconds. Applies to all tracked points for rigid body.

_Category: Tracked Point Timeouts  
UserName: Remove from Stage Timeout (sec)_

#### **tracked** : _List\[[TrackedPoint](/python-api/docs/trackedpoint#trackedpoint)\]_

#### **trackingLostTimeout** : _float_

How long to wait after tracking loss before executing the action

_Category: On Tracking Lost/ Regained  
UserName: On Tracking Lost Timeout (sec)_

#### **trackingRegainedAnimationDuration** : _float_

Duration of animating position to tracked position when tracking is regained

_Category: On Tracking Lost/ Regained  
UserName: On Tracking Regained Animation Duration (sec)_

## Methods

#### **addPair**(self)

#### **removePair**(self)

#### **showBtMarkers**(self, onOff: _bool_)

#### **snapButtonDisabledReason**(self) -> _str_

The reason why the ‘Calibrate’ button is currently disabled. Returns empty String if it’s enabled.

#### **snapFixedPoints**(self)
