#ifndef _utl_Line_h_ #define _utl_Line_h_ #include #include #include namespace utl { /*! \class Line Line.h utl/Line.h \author Darko Veberic \version $Id$ \ingroup geometry */ class Line { public: Line(const Point& anchor, const Vector& direction); const Point& GetAnchor() const { return fAnchor; } const Vector& GetDirection() const { return fDirection; } Plane GetPerpendicularPlane() const { return Plane(fAnchor, fDirection); } Plane GetPerpendicularPlane(const Point& anchor) const { return Plane(anchor, fDirection); } Point Propagate(const double s) const { return fAnchor + s*fDirection; } private: Point fAnchor; Vector fDirection; }; } #endif