# DebugModelMatrixPrimitive

#### new Cesium.DebugModelMatrixPrimitive(options)
Scene/DebugModelMatrixPrimitive.js 41

Draws the axes of a reference frame defined by a matrix that transforms to world coordinates, i.e., Earth's WGS84 coordinates. The most prominent example is a primitives `modelMatrix`.

The X axis is red; Y is green; and Z is blue.

This is for debugging only; it is not optimized for production use.

Name | Type | Description
--- | --- | ---

`options`

Object

optional Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`length` | Number | `10000000.0` | optional The length of the axes in meters.
`width` | Number | `2.0` | optional The width of the axes in pixels.
`modelMatrix` | Matrix4 | `Matrix4.IDENTITY` | optional The 4x4 matrix that defines the reference frame, i.e., origin plus axes, to visualize.
`show` | Boolean | `true` | optional Determines if this primitive will be shown.
`id` | Object |  | optional A user-defined object to return when the instance is picked with `Scene#pick`

##### Example:

    primitives.add(new Cesium.DebugModelMatrixPrimitive({
      modelMatrix : primitive.modelMatrix,  // primitive to debug
      length : 100000.0,
      width : 10.0
    }));

### Members

#### id : *
Scene/DebugModelMatrixPrimitive.js 89

User-defined value returned when the primitive is picked.

Default Value: `undefined`

##### See:

- Scene#pick

#### length : Number
Scene/DebugModelMatrixPrimitive.js 50

The length of the axes in meters.

Default Value: `10000000.0`

#### modelMatrix : Matrix4
Scene/DebugModelMatrixPrimitive.js 76

The 4x4 matrix that defines the reference frame, i.e., origin plus axes, to visualize.

Default Value: ``Matrix4.IDENTITY``

#### show : Boolean
Scene/DebugModelMatrixPrimitive.js 68

Determines if this primitive will be shown.

Default Value: `true`

#### width : Number
Scene/DebugModelMatrixPrimitive.js 59

The width of the axes in pixels.

Default Value: `2.0`

### Methods

#### destroy()
Scene/DebugModelMatrixPrimitive.js 218

Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.

Once an object is destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception. Therefore, assign the return value (`undefined`) to the object as done in the example.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    p = p && p.destroy();

##### See:

- DebugModelMatrixPrimitive#isDestroyed

#### isDestroyed() → Boolean
Scene/DebugModelMatrixPrimitive.js 198

Returns true if this object was destroyed; otherwise, false.

If this object was destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception.

##### Returns:

`true` if this object was destroyed; otherwise, `false`.

##### See:

- DebugModelMatrixPrimitive#destroy