# osg::LineSegment Class Reference

LineSegment class for representing a line segment. More...

Inheritance diagram for osg::LineSegment:

[legend]
List of all members.

## Public Member Functions

| LineSegment ()
| LineSegment (const LineSegment &seg)
| LineSegment (const Vec3 &s, const Vec3 &e)
LineSegment & | operator= (const LineSegment &seg)
void | set (const Vec3 &s, const Vec3 &e)
Vec3 & | start ()
const Vec3 & | start () const
Vec3 & | end ()
const Vec3 & | end () const
bool | valid () const
bool | intersect (const BoundingBox &bb) const
| return true if segment intersects BoundingBox.
bool | intersect (const BoundingBox &bb, float &r1, float &r2) const
| return true if segment intersects BoundingBox and return the intersection ratios.
bool | intersect (const BoundingSphere &bs) const
| return true if segment intersects BoundingSphere.
bool | intersect (const BoundingSphere &bs, float &r1, float &r2) const
| return true if segment intersects BoundingSphere and return the intersection ratio.
bool | intersect (const Vec3 &v1, const Vec3 &v2, const Vec3 &v3, float &r)
| return true if segment intersects triangle and set ratio long segment.
void | mult (const LineSegment &seg, const Matrix &m)
| post multiply a segment by matrix.
void | mult (const Matrix &m, const LineSegment &seg)
| pre multiply a segment by matrix.

## Protected Member Functions

virtual | ~LineSegment ()

## Static Protected Member Functions

static bool | intersectAndClip (Vec3 &s, Vec3 &e, const BoundingBox &bb)

## Protected Attributes

Vec3 | _s
Vec3 | _e

## Detailed Description

LineSegment class for representing a line segment.

## Constructor & Destructor Documentation

osg::LineSegment::LineSegment | ( |  | ) | `[inline]`

osg::LineSegment::LineSegment | ( | const LineSegment & | seg | ) | `[inline]`

osg::LineSegment::LineSegment | ( | const Vec3 & | s,
|  | const Vec3 & | e
| ) | `[inline]`

LineSegment::~LineSegment | ( |  | ) | `[protected, virtual]`

## Member Function Documentation

const Vec3& osg::LineSegment::end | ( |  | ) | const`[inline]`

Vec3& osg::LineSegment::end | ( |  | ) | `[inline]`

bool LineSegment::intersect | ( | const Vec3 & | v1,
|  | const Vec3 & | v2,
|  | const Vec3 & | v3,
|  | float & | r
| ) |

| return true if segment intersects triangle and set ratio long segment.

bool LineSegment::intersect | ( | const BoundingSphere & | bs,
|  | float & | r1,
|  | float & | r2
| ) | const

| return true if segment intersects BoundingSphere and return the intersection ratio.

bool LineSegment::intersect | ( | const BoundingSphere & | bs | ) | const

| return true if segment intersects BoundingSphere.

bool LineSegment::intersect | ( | const BoundingBox & | bb,
|  | float & | r1,
|  | float & | r2
| ) | const

| return true if segment intersects BoundingBox and return the intersection ratios.

bool LineSegment::intersect | ( | const BoundingBox & | bb | ) | const

| return true if segment intersects BoundingBox.

bool LineSegment::intersectAndClip | ( | Vec3 & | s,
|  | Vec3 & | e,
|  | const BoundingBox & | bb
| ) | `[static, protected]`

void osg::LineSegment::mult | ( | const Matrix & | m,
|  | const LineSegment & | seg
| ) | `[inline]`

| pre multiply a segment by matrix.

void osg::LineSegment::mult | ( | const LineSegment & | seg,
|  | const Matrix & | m
| ) | `[inline]`

| post multiply a segment by matrix.

LineSegment& osg::LineSegment::operator= | ( | const LineSegment & | seg | ) | `[inline]`

void osg::LineSegment::set | ( | const Vec3 & | s,
|  | const Vec3 & | e
| ) | `[inline]`

const Vec3& osg::LineSegment::start | ( |  | ) | const`[inline]`

Vec3& osg::LineSegment::start | ( |  | ) | `[inline]`

bool osg::LineSegment::valid | ( |  | ) | const`[inline]`

## Member Data Documentation

Vec3 osg::LineSegment::_e `[protected]`

Vec3 osg::LineSegment::_s `[protected]`

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

- LineSegment
- LineSegment.cpp