# SbPlane.3coin4 - Man Page

The SbPlane class represents a plane in 3D space.

## Synopsis

`#include <Inventor/SbLinear.h>`

### Public Member Functions

**SbPlane** (void)**SbPlane** (const **SbVec3f** &normal, const float D)**SbPlane** (const **SbVec3f** &p0, const **SbVec3f** &p1, const **SbVec3f** &p2)**SbPlane** (const **SbVec3f** &normal, const **SbVec3f** &point)

void **offset** (const float d)

SbBool **intersect** (const **SbLine** &l, **SbVec3f** &intersection) const

void **transform** (const **SbMatrix** &matrix)

SbBool **isInHalfSpace** (const **SbVec3f** &point) const

float **getDistance** (const **SbVec3f** &point) const

const **SbVec3f** & **getNormal** (void) const

float **getDistanceFromOrigin** (void) const

void **print** (FILE *file) const

SbBool **intersect** (const **SbPlane** &pl, **SbLine** &line) const

## Detailed Description

The **SbPlane** class represents a plane in 3D space.

**SbPlane** is used by many other classes in Coin. It provides a way of representing a plane, specified by a plane normal vector and a distance from the origin of the coordinate system.

## Constructor & Destructor Documentation

### SbPlane::SbPlane (void )

An **SbPlane** instantiated with the default constructor will be uninitialized.

### SbPlane::SbPlane (const SbVec3f & normalref, const float D)

Construct an **SbPlane** instance with a normal pointing in the given direction and the given shortest distance from the origin of the coordinate system to a point in the plane.

*normal* must not be a null vector.

### SbPlane::SbPlane (const SbVec3f & p0, const SbVec3f & p1, const SbVec3f & p2)

Construct an **SbPlane** with three points laying in the plane. Make sure *p0*, *p1* and *p2* are actually three distinct points, not on a line, when using this constructor.

### SbPlane::SbPlane (const SbVec3f & normalref, const SbVec3f & point)

Construct an **SbPlane** from a normal and a point laying in the plane.

*normal* must not be a null vector.

## Member Function Documentation

### void SbPlane::offset (const float d)

Add the given offset *d* to the plane distance from the origin.

### SbBool SbPlane::intersect (const SbLine & l, SbVec3f & intersection) const

Find the point on given line *l* intersecting the plane and return it in *intersection*. If the line is parallel to the plane, we return FALSE, otherwise TRUE.

Do not pass an invalid line for the *l* parameter (i.e. with a null direction vector).

### void SbPlane::transform (const SbMatrix & matrix)

Transform the plane by *matrix*.

**See also****offset()**

### SbBool SbPlane::isInHalfSpace (const SbVec3f & point) const

Check if the given point lies in the halfspace of the plane which the plane normal vector is pointing.

### float SbPlane::getDistance (const SbVec3f & point) const

Return the distance from *point* to plane. Positive distance means the point is in the plane's halfspace.

This method is an extension specific to Coin versus the original SGI Inventor API.

### const SbVec3f & SbPlane::getNormal (void ) const

Return the plane's normal vector, which indicates which direction the plane is oriented.

**See also****getDistanceFromOrigin()**.

### float SbPlane::getDistanceFromOrigin (void ) const

Return distance from origin of coordinate system to the point in the plane which is closest to the origin.

**See also****getNormal()**.

### void SbPlane::print (FILE * fp) const

Dump the state of this object to the *fp* file stream. Only works in debug version of library, method does nothing in an optimized build.

### SbBool SbPlane::intersect (const SbPlane & pl, SbLine & line) const

Intersect this plane with *pl*, and return the resulting line in *line*. Returns TRUE if an intersection line can be found, and FALSE if the planes are parallel.

Please note that the resulting **SbLine** must be considered as a *line* intersecting the **SbLine**'s origin, extending infinitely in both directions.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.

**Since**Coin 2.0

## Author

Generated automatically by Doxygen for Coin from the source code.