# Plane

class `Plane`()

  Object representing a Plane.

  ## Index

  Constructors

  - `constructor`

  Properties

  - `d`
  - `normal`

  Methods

  - `assign`
  - `copy`
  - `determineSide`
  - `distanceToPoint`
  - `equals`
  - `getCoefficients`
  - `intersectsRay`
  - `rayIntersection`
  - `setFromCoefficients`
  - `setFromPointAndNormal`
  - `setFromPoints`
  - `createFromCoefficients`
  - `createFromPointAndNormal`
  - `createFromPoints`

## Constructors

`Plane.``constructor`()
  Plane(): `Plane`

  Returns: `Plane`

## Properties

`Plane.``d`
  d: number

`Plane.``normal`
  normal: `Point3`

## Methods

`Plane.``assign`()
  assign(plane: `Plane`): void

  Sets this plane equal to another plane

  Parameters

  > plane: `Plane`

  > > the plane to assign

  Returns: void

`Plane.``copy`()
  copy(): `Plane`

  Creates a copy of this plane

  Returns: `Plane`

  > a copy of this plane object

`Plane.``determineSide`()
  determineSide(p: `Point3`): boolean

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

  Parameters

  > p: `Point3`

  > > The point to test.

  Returns: boolean

`Plane.``distanceToPoint`()
  distanceToPoint(point: `Point3`): number

  Parameters

  > point: `Point3`

  Returns: number

`Plane.``equals`()
  equals(plane: `Plane`): boolean

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

  Parameters

  > plane: `Plane`

  Returns: boolean

`Plane.``getCoefficients`()
  getCoefficients(): [number, number, number, number]

  Returns: [number, number, number, number]

`Plane.``intersectsRay`()
  intersectsRay(ray: `Ray`, outPoint: `Point3`): boolean

  Parameters

  > ray: `Ray`

  > outPoint: `Point3`

  Returns: boolean

`Plane.``rayIntersection`()
  rayIntersection(ray: `Ray`): (None | `Point3`)

  Parameters

  > ray: `Ray`

  Returns: (None | `Point3`)

`Plane.``setFromCoefficients`()
  setFromCoefficients(a: number, b: number, c: number, d: number): void

  Parameters

  > a: number

  > b: number

  > c: number

  > d: number

  Returns: void

`Plane.``setFromPointAndNormal`()
  setFromPointAndNormal(point: `Point3`, normal: `Point3`): this

  Parameters

  > point: `Point3`

  > normal: `Point3`

  Returns: this

`Plane.``setFromPoints`()
  setFromPoints(p1: `Point3`, p2: `Point3`, p3: `Point3`): void

  Update the plane to pass through the three points

  Parameters

  > p1: `Point3`

  > p2: `Point3`

  > p3: `Point3`

  Returns: void

`static Plane.``createFromCoefficients`()

  static

  createFromCoefficients(a: number, b: number, c: number, d: number): `Plane`

  Parameters

  > a: number

  > b: number

  > c: number

  > d: number

  Returns: `Plane`

`static Plane.``createFromPointAndNormal`()

  static

  createFromPointAndNormal(point: `Point3`, normal: `Point3`): `Plane`

  Parameters

  > point: `Point3`

  > normal: `Point3`

  Returns: `Plane`

`static Plane.``createFromPoints`()

  static

  createFromPoints(p1: `Point3`, p2: `Point3`, p3: `Point3`): `Plane`

  Parameters

  > p1: `Point3`

  > p2: `Point3`

  > p3: `Point3`

  Returns: `Plane`

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your Docs generative AI assistant. Ask me anything about HOOPS Visualize Web or choose a sample question below to start a conversation:

What is HOOPS Visualize Web?
What are the latest release notes for HOOPS Visualize Web?
How do I start evaluating HOOPS Visualize Web?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...