SbLine Class Reference

Directed line in 3D. More...

#include <Inventor/SbLine.h>

List of all members.

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 SbVec3fgetPosition () const
const SbVec3fgetDirection () const

Static Public Member Functions

static void setIntersectEpsilon (const float epsilon)

Detailed Description

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.


SbVec3f, SbPlane

Constructor & Destructor Documentation

SbLine::SbLine (  )  [inline]

Default constructor.

The line is not initialized.

SbLine::SbLine ( const SbVec3f p0,
const SbVec3f p1 


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

SbVec3f SbLine::getClosestPoint ( const SbVec3f point  )  const

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 (  )  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.

void SbLine::setPosDir ( const SbVec3f position,
const SbVec3f 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.

void SbLine::setValue ( const SbLined line  )  [inline]

Sets line from a double precision line.

void SbLine::setValue ( const SbVec3f p0,
const SbVec3f p1 

Sets line to pass through points p0 and p1.

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

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.