Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
SbLined Class Reference

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 SbVec3dgetPosition () const
 Returns position of line origin point.
 
const SbVec3dgetDirection () 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.
 

Detailed Description

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.

SEE ALSO

SbVec3d, SbLine, SbPlane

Definition at line 182 of file SbLine.h.

Constructor & Destructor Documentation

◆ SbLined() [1/2]

SbLined::SbLined ( )
inline

Default constructor.

The line is not initialized.

Definition at line 187 of file SbLine.h.

◆ SbLined() [2/2]

SbLined::SbLined ( const SbVec3d p0,
const SbVec3d p1 
)

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.

Member Function Documentation

◆ getClosestPoint()

SbVec3d SbLined::getClosestPoint ( const SbVec3d point) const

Returns the closest point on the line to the given point.

◆ getClosestPoints()

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.

◆ getDirection()

const SbVec3d & SbLined::getDirection ( ) const
inline

Returns direction vector of line.

Definition at line 239 of file SbLine.h.

◆ getPosition()

const SbVec3d & SbLined::getPosition ( ) const
inline

Returns position of line origin point.

Definition at line 234 of file SbLine.h.

◆ setIntersectEpsilon()

static void SbLined::setIntersectEpsilon ( const double  epsilon)
static

Setup epsilon to detect intersection of very small geometry.

◆ setPosDir()

void SbLined::setPosDir ( const SbVec3d position,
const SbVec3d direction 
)

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.

◆ setValue() [1/2]

void SbLined::setValue ( const SbLine line)
inline

Set value from single precision line.

Definition at line 284 of file SbLine.h.

◆ setValue() [2/2]

void SbLined::setValue ( const SbVec3d p0,
const SbVec3d p1 
)

Sets line to pass through points p0 and p1.


The documentation for this class was generated from the following file: