# Math::VectorPair<3> struct reference [Core module]

## Declaration

`#include <Goptical/Math/VectorPair>namespace Goptical { namespace Math { template <> struct VectorPair<3>; };};`

This struct is a member of the Math namespace.

This struct is a specialization of VectorPair.

Light::Ray

Trace::Ray

## Description

This class hold two 3d vectors.

## Members detail

### VectorPair()

No documentation available

### VectorPair(const VectorPairBase<3> &vp)

No documentation available

### VectorPair(const Vector<3> &a, const Vector<3> &b = vector3_001)

No documentation available

### VectorPair(double ax, double ay, double az, double bx = 0.0, double by = 0.0, double bz = 1.0)

No documentation available

### Vector<3> ln_ln_clst_pt(const VectorPair<3> &line) const

Consider the VectorPair as a line with origin and direction vectors and find the closest point on this line to an other line.

The return value is position of the closest point on the line. this function throws if lines are almost parallel.

### double ln_ln_clst_pt_scale(const VectorPair<3> &line) const

Consider the VectorPair as a line with origin and direction vectors and find the closest point on this line to an other line.

The return value is scale factor of the direction vector from origin. this function throws if lines are almost parallel.

### Vector<3> pl_ln_intersect(const VectorPair<3> &line) const

Consider the VectorPair as a plane and find intersection point with a line. Plane is defined by origin and normal vectors and line is defined by origin and direction vectors.

The return value is position of the intersection point on the line.

### double pl_ln_intersect_scale(const VectorPair<3> &line) const

Consider the VectorPair as a plane and find intersection point with a line. Plane is defined by origin and normal vectors and line is defined by origin and direction vectors.

The return value is scale factor of the line direction vector from line origin.

### double x0() const

Get vector pair component

### double & x0()

Get vector pair component

### double x1() const

Get vector pair component

### double & x1()

Get vector pair component

### double y0() const

Get vector pair component

### double & y0()

Get vector pair component

### double y1() const

Get vector pair component

### double & y1()

Get vector pair component

### double z0() const

Get vector pair component

### double & z0()

Get vector pair component

### double z1() const

Get vector pair component

### double & z1()

Get vector pair component

Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:24 2012 using MkDoc