Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
geoalgo::LineSegment Class Reference

Representation of a simple 3D line segment Defines a finite 3D straight line by having the start and end position (Point_t).
. More...

#include <GeoLineSegment.h>

Public Member Functions

 LineSegment ()
 Default constructor. More...
 
virtual ~LineSegment ()
 Default destructor. More...
 
 LineSegment (const double start_x, const double start_y, const double start_z, const double end_x, const double end_y, const double end_z)
 Alternative ctor (1) More...
 
 LineSegment (const Point_t &start, const Point_t &end)
 Altenartive ctor (2) More...
 
const Point_tStart () const
 Start getter. More...
 
const Point_tEnd () const
 End getter. More...
 
const Vector_t Dir () const
 Direction getter. More...
 
void Start (const double x, const double y, const double z)
 Start setter. More...
 
void End (const double x, const double y, const double z)
 End setter. More...
 
template<class T , class U >
 LineSegment (const T &start, const U &end)
 Alternative ctor using template (3) More...
 

Protected Member Functions

void DirReset ()
 Internal function to reset direction. More...
 

Protected Attributes

Point_t _start
 Start position of a line. More...
 
Point_t _end
 End position of a line. More...
 
Vector_t _dir
 Direction. More...
 

Detailed Description

Representation of a simple 3D line segment Defines a finite 3D straight line by having the start and end position (Point_t).
.

Definition at line 25 of file GeoLineSegment.h.

Constructor & Destructor Documentation

geoalgo::LineSegment::LineSegment ( )

Default constructor.

Definition at line 6 of file GeoLineSegment.cxx.

7  : _start(3)
8  , _end(3)
9  , _dir(3)
10  {DirReset();}
Vector_t _dir
Direction.
Point_t _end
End position of a line.
Point_t _start
Start position of a line.
void DirReset()
Internal function to reset direction.
virtual geoalgo::LineSegment::~LineSegment ( )
inlinevirtual

Default destructor.

Definition at line 33 of file GeoLineSegment.h.

33 {}
geoalgo::LineSegment::LineSegment ( const double  start_x,
const double  start_y,
const double  start_z,
const double  end_x,
const double  end_y,
const double  end_z 
)

Alternative ctor (1)

Definition at line 12 of file GeoLineSegment.cxx.

14  : _start ( start_x, start_y, start_z )
15  , _end ( end_x, end_y, end_z )
16  , _dir (3)
17  {DirReset();}
Vector_t _dir
Direction.
Point_t _end
End position of a line.
Point_t _start
Start position of a line.
void DirReset()
Internal function to reset direction.
geoalgo::LineSegment::LineSegment ( const Point_t start,
const Point_t end 
)

Altenartive ctor (2)

Definition at line 19 of file GeoLineSegment.cxx.

20  : _start ( start )
21  , _end ( end )
22  , _dir (3)
23  {
24  if(start.size()!=3 || end.size()!=3)
25  throw GeoAlgoException("LineSegment ctor accepts only 3D Point!");
26  DirReset();
27  }
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
Vector_t _dir
Direction.
Point_t _end
End position of a line.
Point_t _start
Start position of a line.
void DirReset()
Internal function to reset direction.
template<class T , class U >
geoalgo::LineSegment::LineSegment ( const T &  start,
const U &  end 
)
inline

Alternative ctor using template (3)

Definition at line 68 of file GeoLineSegment.h.

69  : LineSegment(Point_t(start), Point_t(end))
70  {}
end
while True: pbar.update(maxval-len(onlies[E][S])) #print iS, "/", len(onlies[E][S]) found = False for...
LineSegment()
Default constructor.
Vector Point_t
Definition: GeoVector.h:196

Member Function Documentation

const Vector_t geoalgo::LineSegment::Dir ( ) const

Direction getter.

Definition at line 33 of file GeoLineSegment.cxx.

33 { return _dir; }
Vector_t _dir
Direction.
void geoalgo::LineSegment::DirReset ( )
protected

Internal function to reset direction.

Definition at line 45 of file GeoLineSegment.cxx.

45 { _dir = _end - _start; }
Vector_t _dir
Direction.
Point_t _end
End position of a line.
Point_t _start
Start position of a line.
const Point_t & geoalgo::LineSegment::End ( void  ) const

End getter.

Definition at line 31 of file GeoLineSegment.cxx.

31 { return _end; }
Point_t _end
End position of a line.
void geoalgo::LineSegment::End ( const double  x,
const double  y,
const double  z 
)

End setter.

Definition at line 40 of file GeoLineSegment.cxx.

41  { _end[0] = x; _end[1] = y; _end[2] = z;
42  DirReset();
43  }
Point_t _end
End position of a line.
void DirReset()
Internal function to reset direction.
list x
Definition: train.py:276
const Point_t & geoalgo::LineSegment::Start ( ) const

Start getter.

Definition at line 29 of file GeoLineSegment.cxx.

29 { return _start; }
Point_t _start
Start position of a line.
void geoalgo::LineSegment::Start ( const double  x,
const double  y,
const double  z 
)

Start setter.

Definition at line 35 of file GeoLineSegment.cxx.

36  { _start[0] = x; _start[1] = y; _start[2] = z;
37  DirReset();
38  }
Point_t _start
Start position of a line.
void DirReset()
Internal function to reset direction.
list x
Definition: train.py:276

Member Data Documentation

Vector_t geoalgo::LineSegment::_dir
protected

Direction.

Definition at line 60 of file GeoLineSegment.h.

Point_t geoalgo::LineSegment::_end
protected

End position of a line.

Definition at line 59 of file GeoLineSegment.h.

Point_t geoalgo::LineSegment::_start
protected

Start position of a line.

Definition at line 58 of file GeoLineSegment.h.


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