# Plane

class Plane()

  Object representing a Plane.

Constructors

- `constructor()`

Properties

- `d`

- `normal`

Methods

- `assign()`

- `copy()`

- `determineSide()`

- `distanceToPoint()`

- `equals()`

- `getCoefficients()`

- `intersectsRay()`

- `rayIntersection()`

- `setFromCoefficients()`

- `setFromPointAndNormal()`

- `setFromPoints()`

- `createFromCoefficients()`

- `createFromPointAndNormal()`

- `createFromPoints()`

## Constructors

Plane.constructor()
  Return type

    Plane

## Properties

Plane.d
  Type

    number

Plane.normal
  Type

    Point3

## Methods

### assign

Plane.assign(plane)
  Arguments

    - plane (`Plane()`) – the plane to assign

  Sets this plane equal to another plane

  Return type

    void

### copy

Plane.copy()

  Creates a copy of this plane

  Returns

    a copy of this plane object

  Return type

    Plane

### determineSide

Plane.determineSide(p)
  Arguments

    - p (`Point3()`) – The point to test.

  Returns true if the point is on the side of the plane that the plane’s normal is directed. Returns false otherwise.

  Return type

    boolean

### distanceToPoint

Plane.distanceToPoint(point)
  Arguments

    - point (`Point3()`) – None

  Return type

    number

### equals

Plane.equals(plane)
  Arguments

    - plane (`Plane()`) – None

  Returns true if the normal and d value are the same.

  Return type

    boolean

### getCoefficients

Plane.getCoefficients()
  Return type

    (number, number, number, number)

### intersectsRay

Plane.intersectsRay(ray[, outPoint])
  Arguments

    - ray (`Ray()`) – None

    - outPoint (`Point3()`) – optional None

  Return type

    boolean

### rayIntersection

Plane.rayIntersection(ray)
  Arguments

    - ray (`Ray()`) – None

  Return type

    null | Point3

### setFromCoefficients

Plane.setFromCoefficients(a, b, c, d)
  Arguments

    - a (`number()`) – None

    - b (`number()`) – None

    - c (`number()`) – None

    - d (`number()`) – None

  Return type

    void

### setFromPointAndNormal

Plane.setFromPointAndNormal(point, normal)
  Arguments

    - point (`Point3()`) – None

    - normal (`Point3()`) – None

  Return type

    this

### setFromPoints

Plane.setFromPoints(p1, p2, p3)
  Arguments

    - p1 (`Point3()`) – None

    - p2 (`Point3()`) – None

    - p3 (`Point3()`) – None

  Update the plane to pass through the three points

  Return type

    void

### static createFromCoefficients

Plane.createFromCoefficients(a, b, c, d)
  Arguments

    - a (`number()`) – None

    - b (`number()`) – None

    - c (`number()`) – None

    - d (`number()`) – None

  Return type

    Plane

### static createFromPointAndNormal

Plane.createFromPointAndNormal(point, normal)
  Arguments

    - point (`Point3()`) – None

    - normal (`Point3()`) – None

  Return type

    Plane

### static createFromPoints

Plane.createFromPoints(p1, p2, p3)
  Arguments

    - p1 (`Point3()`) – None

    - p2 (`Point3()`) – None

    - p3 (`Point3()`) – None

  Return type

    Plane