# Capsule

A capsule is essentially a cylinder with hemispherical caps at both ends. It can be thought of as a swept sphere, where a sphere is moved along a line segment.

Capsules are often used as bounding volumes (next to AABBs and bounding spheres).

## Import

Capsule is an addon, and must be imported explicitly, see Installation#Addons.

    import { Capsule } from 'three/addons/math/Capsule.js';

## Constructor

### new Capsule ( start : Vector3, end : Vector3, radius : number )

Constructs a new capsule.

start | The start vector.
end | The end vector.
radius | The capsule's radius. Default is `1`.

## Properties

### .end : Vector3

The end vector.

### .radius : number

The capsule's radius.

Default is `1`.

### .start : Vector3

The start vector.

## Methods

### .clone () : Capsule

Returns a new capsule with copied values from this instance.

Returns: A clone of this instance.

### .copy ( capsule : Capsule ) : Capsule

Copies the values of the given capsule to this instance.

capsule | The capsule to copy.

Returns: A reference to this capsule.

### .getCenter ( target : Vector3 ) : Vector3

Returns the center point of this capsule.

target | The target vector that is used to store the method's result.

Returns: The center point.

### .intersectsBox ( box : Box3 ) : boolean

Returns `true` if the given bounding box intersects with this capsule.

box | The bounding box to test.

Returns: Whether the given bounding box intersects with this capsule.

### .set ( start : Vector3, end : Vector3, radius : number ) : Capsule

Sets the capsule components to the given values. Please note that this method only copies the values from the given objects.

start | The start vector.
end | The end vector
radius | The capsule's radius.

Returns: A reference to this capsule.

### .translate ( v : Vector3 ) : Capsule

Adds the given offset to this capsule, effectively moving it in 3D space.

v | The offset that should be used to translate the capsule.

Returns: A reference to this capsule.

## Source

examples/jsm/math/Capsule.js