# Interface BoundingVolume

interface BoundingVolume {
type: "box" | "sphere" | "regin";
applyMatrix4(matrix: Matrix4): this;
clone(): BoundingVolume;
copy(boundingVolume: this): this;
distanceSquaredToPoint(point: Vector3): number;
distanceToPlane(plane: Plane): number;
distanceToPoint(point: Vector3): number;
fromJson(json: any): this;
getBoundingBox(target: Box3): Box3;
getCenter(result: Vector3): Vector3;
intersectPlane(plane: Plane): VolumePlaneIntersect;
intersectRay(ray: Ray, threshold?: number, far?: number): boolean;
toGeometry(): BufferGeometry;
toJson(): BoundingVolumeJson;
}

#### Implemented by

- BoxBoundingVolume
- RegionBoundingVolume
- SphereBoundingVolume

- Defined in lib/five/utils/volume.ts:143

##### Index

### Properties

type

### Methods

applyMatrix4
clone
copy
distanceSquaredToPoint
distanceToPlane
distanceToPoint
fromJson
getBoundingBox
getCenter
intersectPlane
intersectRay
toGeometry
toJson

## Properties

### type

type: "box" | "sphere" | "regin"

- Defined in lib/five/utils/volume.ts:144

## Methods

### applyMatrix4

- applyMatrix4(matrix: Matrix4): this

  #### Parameters

  - matrix: Matrix4

  #### Returns this

  - Defined in lib/five/utils/volume.ts:146

### clone

- clone(): BoundingVolume

  #### Returns BoundingVolume

  - Defined in lib/five/utils/volume.ts:164

### copy

- copy(boundingVolume: this): this

  #### Parameters

  - boundingVolume: this

  #### Returns this

  - Defined in lib/five/utils/volume.ts:166

### distanceSquaredToPoint

- distanceSquaredToPoint(point: Vector3): number

  #### Parameters

  - point: Vector3

  #### Returns number

  - Defined in lib/five/utils/volume.ts:154

### distanceToPlane

- distanceToPlane(plane: Plane): number

  #### Parameters

  - plane: Plane

  #### Returns number

  - Defined in lib/five/utils/volume.ts:158

### distanceToPoint

- distanceToPoint(point: Vector3): number

  #### Parameters

  - point: Vector3

  #### Returns number

  - Defined in lib/five/utils/volume.ts:156

### fromJson

- fromJson(json: any): this

  #### Parameters

  - json: any

  #### Returns this

  - Defined in lib/five/utils/volume.ts:168

### getBoundingBox

- getBoundingBox(target: Box3): Box3

  #### Parameters

  - target: Box3

  #### Returns Box3

  - Defined in lib/five/utils/volume.ts:148

### getCenter

- getCenter(result: Vector3): Vector3

  #### Parameters

  - result: Vector3

  #### Returns Vector3

  - Defined in lib/five/utils/volume.ts:152

### intersectPlane

- intersectPlane(plane: Plane): VolumePlaneIntersect

  #### Parameters

  - plane: Plane

  #### Returns VolumePlaneIntersect

  - Defined in lib/five/utils/volume.ts:160

### intersectRay

- intersectRay(ray: Ray, threshold?: number, far?: number): boolean

  #### Parameters

  - ray: Ray
  - `Optional` threshold: number
  - `Optional` far: number

  #### Returns boolean

  - Defined in lib/five/utils/volume.ts:162

### toGeometry

- toGeometry(): BufferGeometry

  #### Returns BufferGeometry

  - Defined in lib/five/utils/volume.ts:150

### toJson

- toJson(): BoundingVolumeJson

  #### Returns BoundingVolumeJson

  - Defined in lib/five/utils/volume.ts:170