> ## 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.

# PolygonPrimitive

> A closed outline with three points or more.

## Import

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

**Inheritance:** `extends Polygon implements IPrimitive`

## Constructor

```typescript theme={null}
constructor(polygonConfig?: PolygonOptions);
```

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

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

<ParamField path="polygonConfig.profile" type="Profile" required />

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

<ParamField path="polygonConfig.placement" type="Placement" required />

## 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="locked" type="boolean" />

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

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

<ResponseField name="profile" type="Profile" />

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

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

## Methods

### setProfile

```typescript theme={null}
setProfile(profile: Profile): void;
```

### setOPConfig

```typescript theme={null}
setOPConfig(config: PolygonOptions): void;
```

### getOPConfig

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

### setOPGeometry

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

### setOPMaterial

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

### dispose

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

Dispose the wrapper's render resources and owned OGPolygon handle.

## Types

### PolygonOptions

```typescript theme={null}
interface PolygonOptions {
  ogid?: string;
  center: Array<number>;
  profile: Profile;
  color: number;
  placement: Placement;
}
```

## Related

* [`IPrimitive`](/floorkit/api/primitives/line-primitive#iprimitive)
* [`Placement`](/floorkit/api/shapes/cuboid-shape#placement)
* [`Profile`](/floorkit/api/primitives/line-primitive#profile)


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