Directed line in 3D (double precision). More...
#include <Inventor/SbLine.h>
Public Member Functions | |
SbLined () | |
Default constructor. | |
SbLined (const SbVec3d &p0, const SbVec3d &p1) | |
Constructor. | |
void | setValue (const SbVec3d &p0, const SbVec3d &p1) |
Sets line to pass through points p0 and p1. | |
void | setPosDir (const SbVec3d &position, const SbVec3d &direction) |
Sets line using a position and a direction vector. | |
void | setValue (const SbLine &line) |
Set value from single precision line. | |
SbBool | getClosestPoints (const SbLined &line2, SbVec3d &ptOnThis, SbVec3d &ptOnLine2) const |
Finds the two closest points between this line and line2, and loads them into ptOnThis and ptOnLine2. | |
SbVec3d | getClosestPoint (const SbVec3d &point) const |
Returns the closest point on the line to the given point. | |
const SbVec3d & | getPosition () const |
Returns position of line origin point. | |
const SbVec3d & | getDirection () const |
Returns direction vector of line. | |
Static Public Member Functions | |
static void | setIntersectEpsilon (const double epsilon) |
Setup epsilon to detect intersection of very small geometry. | |
Directed line in 3D (double precision).
Represents a (double precision) 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.
|
inline |
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 SbLined::getClosestPoints | ( | const SbLined & | line2, |
SbVec3d & | ptOnThis, | ||
SbVec3d & | 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.
|
inline |
|
inline |
|
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.
|
inline |
Sets line to pass through points p0 and p1.