# Geometry

Class · category: Graphics

Source: https://github.com/playcanvas/engine/blob/b5b983982a9860d21e0c1dafb2f85f72e2c01afb/src/scene/geometry/geometry.js#L10

The Geometry class serves as a container for storing geometric information. It encapsulates data
such as positions, normals, colors, and indices.

## Properties

### blendIndices

```ts
blendIndices: ArrayLike<number> | undefined
```

Blend indices.

### blendWeights

```ts
blendWeights: ArrayLike<number> | undefined
```

Blend weights.

### colors

```ts
colors: ArrayLike<number> | undefined
```

Colors.

### indices

```ts
indices: number[] | Uint8Array<ArrayBufferLike> | Uint16Array<ArrayBufferLike> | Uint32Array<ArrayBufferLike> | undefined
```

Indices.

### normals

```ts
normals: ArrayLike<number> | undefined
```

Normals.

### positions

```ts
positions: ArrayLike<number> | undefined
```

Positions.

### tangents

```ts
tangents: ArrayLike<number> | undefined
```

Tangents.

### uvs

```ts
uvs: ArrayLike<number> | undefined
```

UVs.

### uvs1

```ts
uvs1: ArrayLike<number> | undefined
```

Additional Uvs.

## Methods

### calculateNormals

```ts
calculateNormals(): void
```

Generates normal information from the positions and triangle indices.

### calculateTangents

```ts
calculateTangents(): void
```

Generates tangent information from the positions, normals, texture coordinates and triangle
indices.
