Directed line in 3D. More...
#include <Inventor/SbLine.h>
Public Member Functions | |
| SbLine () | |
| SbLine (const SbVec3f &p0, const SbVec3f &p1) | |
| void | setValue (const SbVec3f &p0, const SbVec3f &p1) |
| void | setPosDir (const SbVec3f &position, const SbVec3f &direction) |
| void | setValue (const SbLined &line) |
| SbBool | getClosestPoints (const SbLine &line2, SbVec3f &ptOnThis, SbVec3f &ptOnLine2) const |
| SbVec3f | getClosestPoint (const SbVec3f &point) const |
| const SbVec3f & | getPosition () const |
| const SbVec3f & | getDirection () const |
Static Public Member Functions | |
| static void | setIntersectEpsilon (const float epsilon) |
Directed line in 3D.
Represents a directed line in 3D. This is a basic Open Inventor datatype that is used for representing a 3D line. It is used as input and output by a variety of Open Inventor classes.
| SbLine::SbLine | ( | ) | [inline] |
Default constructor.
The line is not initialized.
Constructor.
The line is directed from p0 to p1.
To construct a line from a position and direction you can use: SbLine(p0, p0 + dir), but using the default constructor followed by the setPosDir() method is recommended to avoid floating point precision problems.
Returns the closest point on the line to the given point.
| SbBool SbLine::getClosestPoints | ( | const SbLine & | line2, | |
| SbVec3f & | ptOnThis, | |||
| SbVec3f & | ptOnLine2 | |||
| ) | const |
Finds the two closest points between this line and line2, and loads them into ptOnThis and ptOnLine2.
Returns FALSE if the lines are parallel (results undefined), and returns TRUE otherwise.
| const SbVec3f& SbLine::getDirection | ( | ) | const [inline] |
Returns direction vector of line.
| const SbVec3f& SbLine::getPosition | ( | void | ) | const [inline] |
Returns position of line origin point.
| static void SbLine::setIntersectEpsilon | ( | const float | epsilon | ) | [static] |
Setup epsilon to detect intersection of very small geometry.
Sets line using a position and a direction vector.
The direction vector will be normalized automatically. This method is preferred over setValue when the point has very large magnitude, for example 1e6, because adding a normalized direction vector to such a point may not be significant.
| void SbLine::setValue | ( | const SbLined & | line | ) | [inline] |
Sets line from a double precision line.
Sets line to pass through points p0 and p1.