Man Linux: Main Page and Category List

NAME

       SbLine -

       The SbLine class represents a line in 3D space.

       SbLine provides a way of specifying a directed line, through a 3D point
       (origin) and a vector direction in 3D space.

SYNOPSIS

       #include <Inventor/SbLinear.h>

   Public Member Functions
       SbLine (void)
       SbLine (const SbVec3f &origin, const SbVec3f &point)
       void setValue (const SbVec3f &origin, const SbVec3f &point)
       SbBool getClosestPoints (const SbLine &line2, SbVec3f &ptOnThis,
           SbVec3f &ptOnLine2) const
       SbVec3f getClosestPoint (const SbVec3f &point) const
       const SbVec3f & getPosition (void) const
       const SbVec3f & getDirection (void) const
       void print (FILE *file) const

Detailed Description

       The SbLine class represents a line in 3D space.

       SbLine provides a way of specifying a directed line, through a 3D point
       (origin) and a vector direction in 3D space.

       It is context dependent whether or not an SbLine is considered as a ray
       extending from the starting point in only one direction, or as a line
       intersecting the origin point and extending infinitely from it in both
       directions.

       SbLine is used by many other classes in Coin.

       See also:
           SbVec3f

Constructor & Destructor Documentation

   SbLine::SbLine (void) The default constructor does nothing. The line will
       be uninitialized until the first assignment or setValue() call.
   SbLine::SbLine (const SbVec3f & origin, const SbVec3f & point) Constructor
       with origin specifying the line origin point, and point specifying
       another point on the line that is used to determine the lines
       direction. point should not be the same as origin, as this will lead to
       the line having a null vector as the direction vector. This will cause
       division by zero problems in some of the other methods on this class.
       Be aware that the direction vector will be normalized and not be the
       same as point - origin.

       See also:
           setValue, getOrigin, getDirection

Member Function Documentation

   void SbLine::setValue (const SbVec3f & origin, const SbVec3f & point) Set
       new position and direction of the line by specifying line origin and
       another point on the line that is used to determine the lines
       direction. point should not be the same as origin, as this will lead to
       having a null vector as the direction vector. This will cause division
       by zero problems in some of the other methods on this class.
       Be aware that the direction vector will be normalized and not be the
       same as point - origin.

       See also:
           setValue, getOrigin, getDirection

   SbBool SbLine::getClosestPoints (const SbLine & line2, SbVec3f & ptOnThis,
       SbVec3f & ptOnLine2) const Returns the two closest points on the lines.
       If the lines are parallel, all points are equally close and we return
       FALSE. If the lines are not parallel, the point positions will be
       stored in ptOnThis and ptOnLine2, and well return TRUE.
       Note that both SbLine instances are considered to be infinite in both
       directions from their definition points, as far as this function is
       concerned.

       See also:
           getClosestPoint().

   SbVec3f SbLine::getClosestPoint (const SbVec3f & point) const Returns the
       point on the line which is closest to point:
                             _
                      Q      D
             SP x-----x------->
                     |
                     |
                     |
                     |

                      x P

          P = argument point            _
          SP = line starting point, and D = line direction of this line
          Q = point to find and return from function

         .fi

       The vector defined by point and the returned point will be normal to the line.

       Note that the SbLine instance is considered to be infinite in both directions from its definition point, as far as this function is concerned.

       See also:
           getClosestPoints().

   const SbVec3f & SbLine::getPosition (void) const Return a vector
       representing the origin point on the line.
       See also:
           setValue

   const SbVec3f & SbLine::getDirection (void) const Return a vector
       representing the direction of the line. The direction vector will
       always be normalized.
   void SbLine::print (FILE * fp) const Dump the state of this object to the
       file stream. Only works in debug version of library, method does
       nothing in an optimized compile.

Author

       Generated automatically by Doxygen for Coin from the source code.