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.