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

# ProjectorConfig

See also: [Calibration Guide](/plugins/guides/calibration), [Stage Guide](/plugins/guides/stage)

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

## Properties

#### **\_autoCalcZClipping** : _bool_

Turning this off lets you set near and far clip planes manually

#### **\_bFixThrowRatio** : _bool_

#### **\_bFixThrowRatioOld** : _bool_

#### **\_calibLastChange** : _int_

#### **\_calibMethod** : _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_

Lets you select a specific calibration algorithm

#### **\_calibMethodOld** : _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_

#### **\_calibMethodUsed** : _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_

Which calibration algorithm is actually being used

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

Shows the aggregate calibration error (in pixels)

#### **\_followRefPointMoves** : _bool_

If set, moving a screen that was used for calibration will also move the projector

#### **\_iPointCursor** : _int_

#### **\_lensShiftOld** : _[Vec2](/python-api/docs/vec2#vec2)_

#### **\_lens\_shift** : _[Vec2](/python-api/docs/vec2#vec2)_

Projector lens shift; 0 is centered, +/-1 is shift to image border

#### **\_lookDistanceOld** : _float_

#### **\_look\_distance** : _float_

Distance of lookAt point from world position, in meters.

#### **\_matrix** : _[Mat](/python-api/docs/mat#mat)_

#### **\_points** : _List\[[CalibratedPoint](/python-api/docs/calibratedpoint#calibratedpoint)\]_

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

Position of projector lens centre, in meters; relative to parent object in the hierarchy.

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

#### **\_preferredOutputMode** : _[ProjectorOutputMode](/python-api/docs/projectoroutputmode#projectoroutputmode)_

Controls the output of the projector during calibration

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

Radial lens distortion coefficients k1, k2, k3.

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

Rotation around x, y and z axes, in degrees; relative to parent object in hierarchy.

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

#### **\_skew** : _float_

Skew / keystone in solved calibration matrix (diagnostic only).

#### **\_skewOld** : _float_

#### **\_tangential\_distortion** : _[Vec2](/python-api/docs/vec2#vec2)_

Tangential lens distortion coefficients p1, p2.

#### **\_throwRatioOld** : _float_

#### **\_throw\_ratio** : _float_

Projector lens throw ratio, as (distance from lens to screen) / (width of image).

#### **\_zFarOverride** : _float_

Far clip plane, in meters

#### **\_zNearOverride** : _float_

Near clip plane, in meters

#### **autoZClipping** : _bool_

#### **background** : _[DxTexture](/python-api/docs/dxtexture#dxtexture)_

Sets the projector background colour during calibration

#### **calcViewingDirection** : _[Vec](/python-api/docs/vec#vec)_ _(Read-Only)_

#### **calibMethod** : _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_

#### **calibMethodUsed** : _[CalibMethod](/python-api/docs/calibmethod#calibmethod)_ _(Read-Only)_

#### **calibrationErrorColour** : _[Colour](/python-api/docs/colour#colour)_ _(Read-Only)_

#### **calibrationErrors** : _[Vec](/python-api/docs/vec#vec)_ _(Read-Only)_

#### **calibrationSource** : _int_

_Options: {0: ‘QuickCal’, 1: ‘OmniCal’}_

#### **controlRotation** : _int_

Rotate calibration controls to match projector angle

#### **cursorType** : _[LineupCursorType](/python-api/docs/lineupcursortype#lineupcursortype)_

Controls the form of the calibration cursor; select the one that works best for you

#### **disableReferencePointBounds** : _int_

Whether to allow reference point lineup to move the cursor beyond the bounds of the feed (i.e. outside of the projector image). Default: Off.

_UserName: Disable Reference Point Bounds_

#### **displayCalibValues** : _bool_

#### **drawOccludedMarkers** : _int_

Whether to draw calibration markers for hidden Reference Points, i.e. on the back face of objects (vertex normals point away from projector).  
Not drawing hidden markers, or drawing them at lower opacity affects performance for large meshes. Default: Yes.

_Options: {0: ‘No’, 1: ‘Yes’, 2: ‘Reduced Opacity’}  
UserName: Draw hidden markers_

#### **fieldOfView** : _float_ _(Read-Only)_

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

Offset added to projector position, in meters; use this for last-minute micro-adjustments if necessary

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

Offset added to projector rotation, in degrees; use this for last-minute micro-adjustments if necessary

#### **fixThrowRatio** : _bool_

#### **followRefPointMoves** : _bool_

#### **hideOtherReferencePoints** : _int_

Hides reference points that are not calibrated in this projector config. Default: Off.

_UserName: Hide other reference points_

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

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

#### **lensShift** : _[Vec2](/python-api/docs/vec2#vec2)_

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

#### **lookDistance** : _float_

#### **markerSize** : _int_

Controls the size of the calibration markers in the output, in pixels

#### **nMinLineUps** : _int_ _(Read-Only)_

#### **numModifiedRefPoints** : _int_ _(Read-Only)_

#### **numReferencePoints** : _int_ _(Read-Only)_

#### **numReferencePointsForCurrentPose** : _int_ _(Read-Only)_

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

#### **projector** : _[Projector](/python-api/docs/projector#projector)_ _(Read-Only)_

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

#### **refPointEditMode** : _int_

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

#### **skew** : _float_

#### **tangentialDistortion** : _[Vec2](/python-api/docs/vec2#vec2)_

#### **throwRatio** : _float_

#### **warpGrid** : _[Array2](/python-api/docs/array2#array2)\[[Vec2](/python-api/docs/vec2#vec2)\]_

#### **wireframeCleanup** : _float_

If the angle between two surfaces is less than this angle, the edge is not displayed. Useful for removing excessive edges from curved objects.

_UserName: Wireframe cleanup_

#### **wireframeColour** : _[Colour](/python-api/docs/colour#colour)_

#### **zFar** : _float_

#### **zFarAuto** : _float_

#### **zNear** : _float_

#### **zNearAuto** : _float_

## Methods

#### **clearSelection**(self)

#### **debugAutoCal**(self)

#### **findCalibratedPoint**(self, point: _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_) -> _[CalibratedPoint](/python-api/docs/calibratedpoint#calibratedpoint)_

#### **findModifiedPoints**(self) -> _List\[[CalibratedPoint](/python-api/docs/calibratedpoint#calibratedpoint)\]_

#### **findReferencePoint**(self, point: _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_) -> _int_

#### **getReferencePointStatus**(self, p: _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_) -> _[CalibrationStatus](/python-api/docs/calibrationstatus#calibrationstatus)_

#### **lineupReferencePoint2D**(self, deltaPixels: _[Vec2](/python-api/docs/vec2#vec2) | [Int2](/python-api/docs/int2#int2) | [Vec](/python-api/docs/vec#vec)_)

#### **lineupReferencePointEnd**(self)

#### **nLineUpsForStatus**(self, status: _[CalibrationStatus](/python-api/docs/calibrationstatus#calibrationstatus)_) -> _int_

#### **preferredOutputMode**(self, mode: _[ProjectorOutputMode](/python-api/docs/projectoroutputmode#projectoroutputmode)_)

#### **recomputeMatrixOnUpdate**(self)

#### **removeAllReferencePoints**(self)

#### **removeAllReferencePointsCurrentPose**(self)

#### **removeReferencePoint**(self, point: _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_)

#### **selectReferencePoint**(self)

#### **setReferencePointColours**(self)

#### **setReferencePointStatus**(self, p: _[ReferencePoint](/python-api/docs/referencepoint#referencepoint)_, s: _[CalibrationStatus](/python-api/docs/calibrationstatus#calibrationstatus)_)

#### **updateManualSettings**(self)

#### **updateModifiedPoints**(self)

#### **usingAutoCalibration**(self) -> _bool_

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

## Static Methods

#### **calcFlashFactor**() -> _float_

#### **getSupportedCalibMethodNames**() -> _List\[str\]_

#### **getSupportedCursorTypeNames**() -> _List\[str\]_
