> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ploterr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AngleDimension

> A dimension that shows the angle between two lines in the model.

## Import

```typescript theme={null}
import { AngleDimension } from '@opengeometry/floorkit';
```

**Inheritance:** `extends Arc implements IPrimitive`

## Constructor

```typescript theme={null}
constructor(angleDimensionConfig?: AngleDimensionOptions);
```

<ParamField path="angleDimensionConfig.ogid" type="string" />

<ParamField path="angleDimensionConfig.center" type="number[]" required />

<ParamField path="angleDimensionConfig.vector1" type="number[]" required />

<ParamField path="angleDimensionConfig.vector2" type="number[]" required />

<ParamField path="angleDimensionConfig.radius" type="number" required />

<ParamField path="angleDimensionConfig.color" type="number" required />

<ParamField path="angleDimensionConfig.label" type="string" />

<ParamField path="angleDimensionConfig.fontSize" type="number" required />

<ParamField path="angleDimensionConfig.fontColor" type="number" required />

<ParamField path="angleDimensionConfig.font" type="string" />

<ParamField path="angleDimensionConfig.lineWidth" type="number" required />

<ParamField path="angleDimensionConfig.textOffset" type="number" />

<ParamField path="angleDimensionConfig.opposite" type="boolean" />

## Properties

<ResponseField name="ogType" type="string" />

<ResponseField name="subNodes" type="Map<string, THREE.Object3D>" />

<ResponseField name="selected" type="boolean" />

<ResponseField name="edit" type="boolean" />

<ResponseField name="propertySet" type="AngleDimensionOptions" />

<ResponseField name="center" type="Array<number>" />

<ResponseField name="vector1" type="Array<number>" />

<ResponseField name="vector2" type="Array<number>" />

<ResponseField name="radius" type="number" />

<ResponseField name="dimColor" type="number" />

<ResponseField name="fontSize" type="number" />

<ResponseField name="fontColor" type="number" />

<ResponseField name="label" type="string | undefined" />

<ResponseField name="opposite" type="boolean" />

<ResponseField name="textOffset" type="number" />

## Methods

### setOPConfig

```typescript theme={null}
setOPConfig(config: Partial<AngleDimensionOptions>): void;
```

### getOPConfig

```typescript theme={null}
getOPConfig(): AngleDimensionOptions;
```

### getEditAnchors

```typescript theme={null}
getEditAnchors(): EditAnchor[];
```

A single handle for the arc `center`, free on its plane.

### applyEditAnchor

```typescript theme={null}
applyEditAnchor(id: string, position: [
    number,
    number,
    number
]): void;
```

### setOPGeometry

```typescript theme={null}
setOPGeometry(): void;
```

### createWitnessLines

```typescript theme={null}
createWitnessLines(startAngle: number, endAngle: number, baseV1: Vector3, baseV2: Vector3): void;
```

### createLabel

```typescript theme={null}
createLabel(position: {
    x: number;
    y: number;
    z: number;
}, angleY: number, text: string): void;
```

### setOPMaterial

```typescript theme={null}
setOPMaterial(): void;
```

## Types

### AngleDimensionOptions

The package does not export this type by name.

```typescript theme={null}
interface AngleDimensionOptions {
  ogid?: string;
  center: Array<number>;
  vector1: Array<number>;
  vector2: Array<number>;
  radius: number;
  color: number;
  label?: string;
  fontSize: number;
  fontColor: number;
  font?: string;
  lineWidth: number;
  textOffset?: number;
  opposite?: boolean;
}
```

## Related

* [`EditAnchor`](/floorkit/api/architecture/op-element#editanchor)
* [`IPrimitive`](/floorkit/api/primitives/line-primitive#iprimitive)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.