Fawkes API  Fawkes Development Version
fawkes::LineSegment Class Reference

A line segment. More...

#include <>>

Inheritance diagram for fawkes::LineSegment:

List of all members.

Public Member Functions

 LineSegment (const HomPoint &a, const HomPoint &b)
 Constructor.
 LineSegment (const HomPoint &p, const HomVector &v)
 Constructor.
 LineSegment (const LineSegment &l)
 Copy constructor.
virtual ~LineSegment ()
 Destructor.
float length () const
 Get the length of the line segment.
const HomPointp1 () const
 Get the starting point.
const HomPointp2 () const
 Get the endpoint.

Protected Member Functions

virtual void register_primitives ()
 Here, a derived class should register its primitives (HomPoints and HomVectors) by calling add_primitive for each of those.
virtual void post_transform ()
 This method is called after the primitives are transformed.
virtual std::ostreamprint (std::ostream &stream) const
 This method is called by the overloaded <<-operator.

Detailed Description

A line segment.

Author:
Daniel Beck

Constructor & Destructor Documentation

fawkes::LineSegment::LineSegment ( const HomPoint a,
const HomPoint b 
)

Constructor.

Parameters:
athe starting point of the line segment
bthe endpoint of of the line segment

Definition at line 37 of file line_segment.cpp.

References register_primitives().

fawkes::LineSegment::LineSegment ( const HomPoint p,
const HomVector v 
)

Constructor.

Parameters:
pthe starting point of the line segment
va vector defining orientation and length of the line segment

Definition at line 49 of file line_segment.cpp.

References register_primitives().

fawkes::LineSegment::LineSegment ( const LineSegment l)

Copy constructor.

Parameters:
lanother line segment

Definition at line 59 of file line_segment.cpp.

References fawkes::Transformable::clear_primitives(), and register_primitives().

fawkes::LineSegment::~LineSegment ( ) [virtual]

Destructor.

Definition at line 68 of file line_segment.cpp.


Member Function Documentation

float fawkes::LineSegment::length ( ) const

Get the length of the line segment.

Returns:
the length of the line segment

Definition at line 76 of file line_segment.cpp.

References fawkes::HomVector::length().

const HomPoint & fawkes::LineSegment::p1 ( ) const

Get the starting point.

Returns:
the starting point

Definition at line 87 of file line_segment.cpp.

Referenced by fawkes::LineSegmentDrawer::draw().

const HomPoint & fawkes::LineSegment::p2 ( ) const

Get the endpoint.

Returns:
the endpoint

Definition at line 96 of file line_segment.cpp.

Referenced by fawkes::LineSegmentDrawer::draw().

void fawkes::LineSegment::post_transform ( ) [protected, virtual]

This method is called after the primitives are transformed.

Any additional updates that need to be done should be done here.

Implements fawkes::Transformable.

Definition at line 109 of file line_segment.cpp.

std::ostream & fawkes::LineSegment::print ( std::ostream stream) const [protected, virtual]

This method is called by the overloaded <<-operator.

Parameters:
streamthe output stream
Returns:
reference to the output stream

Implements fawkes::Printable.

Definition at line 114 of file line_segment.cpp.

void fawkes::LineSegment::register_primitives ( ) [protected, virtual]

Here, a derived class should register its primitives (HomPoints and HomVectors) by calling add_primitive for each of those.

Implements fawkes::Transformable.

Definition at line 102 of file line_segment.cpp.

References fawkes::Transformable::add_primitive().

Referenced by LineSegment().


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