Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

ShapeLine.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef _SHAPELINE_H_
00003 #define _SHAPELINE_H_
00004 
00005 #include "Shared/Measures.h"
00006 #include "ShapeRoot.h"
00007 #include "LineData.h"
00008 
00009 namespace DualCoding {
00010 
00011 class ShapeSpace;
00012 class Point;
00013 
00014 //! Smart pointer to a @a LineData object
00015 template<> class Shape<LineData> : public ShapeRoot {
00016 public:
00017 
00018   SHAPESTUFF_H(LineData);  // defined in ShapeRoot.h
00019 
00020   //! Make a line from two points.
00021   Shape<LineData>(ShapeSpace &s, const Point &end1pt, const Point &end2pt)
00022     : ShapeRoot(addShape(new LineData(s, end1pt, end2pt))) { };
00023   
00024   //! Make a line from a point and an orientation.
00025   Shape<LineData>(ShapeSpace &s, const Point &colinear_pt, AngPi orientation);
00026 
00027   //! Make a line from a point and a slope.
00028   Shape<LineData>(ShapeSpace &s, const Point &colinear_pt, Slope slope);
00029 
00030   //! Copy constructor.
00031   explicit Shape<LineData>(const LineData& newData) : ShapeRoot(addShape(new LineData(newData))) {};
00032 
00033 };
00034 
00035 } // namespace
00036 
00037 #endif

DualCoding 5.1CVS
Generated Mon May 9 04:56:27 2016 by Doxygen 1.6.3