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

# GeometryConverter

> Abstract class that is the base for all concrete geometry converter implementations.

## Constructors

### constructor

```typescript theme={null}
constructor();
```

Default constructor.

## Methods

### getSpeckleType

```typescript theme={null}
abstract getSpeckleType(node: NodeData): SpeckleType
```

Gets an opinionated [*SpeckleType*](/developers/viewer/geometry-converter-api#speckletype) based on the node's data.

**Parameters**

* **node**: [*NodeData*](/developers/viewer/world-tree-api#nodedata)

**Returns**: [*SpeckleType*](/developers/viewer/geometry-converter-api#speckletype)

### convertNodeToGeometryData

```typescript theme={null}
abstract convertNodeToGeometryData(node: NodeData): GeometryData
```

Takes in [*NodeData*](/developers/viewer/world-tree-api#nodedata) and outputs viewer defined geometry data.

**Parameters**

* **node**: [*NodeData*](/developers/viewer/world-tree-api#nodedata)

**Returns**: [*GeometryData*](/developers/viewer/render-view-api#geometrydata)

### disposeNodeGeometryData

```typescript theme={null}
abstract disposeNodeGeometryData(node: NodeData): void
```

**Parameters**

* **node**: [*NodeData*](/developers/viewer/world-tree-api#nodedata)
  Disposes the explicit node data geometry

**Returns**: void

## Typedefs

### SpeckleType

```typescript theme={null}
enum SpeckleType {
  View3D = "View3D",
  BlockInstance = "BlockInstance",
  Pointcloud = "Pointcloud",
  Brep = "Brep",
  Mesh = "Mesh",
  Point = "Point",
  Line = "Line",
  Polyline = "Polyline",
  Box = "Box",
  Polycurve = "Polycurve",
  Curve = "Curve",
  Circle = "Circle",
  Arc = "Arc",
  Ellipse = "Ellipse",
  RevitInstance = "RevitInstance",
  Text = "Text",
  Transform = "Transform",
  Unknown = "Unknown",
}
```

Non-exhaustive enum for viewer recognized object types.
