00001 #ifndef LineAtoB_H 00002 #define LineAtoB_H 00003 00004 #include "vector3.h" 00005 00007 class LineAtoB { 00008 public: 00009 LineAtoB(mesh::Vector3 a, mesh::Vector3 b) 00010 : a_(a), 00011 b_(b) 00012 { } 00014 mesh::Vector3 operator()(double t) const { 00015 return (1.0-t)*a_ + t*b_; 00016 } 00018 mesh::Vector3 deriv(double phi) const { 00019 return b_ - a_; 00020 } 00021 private: 00022 mesh::Vector3 a_; 00023 mesh::Vector3 b_; 00024 }; 00025 00026 #endif