00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef OLENA_CORE_POINT1D_HXX
00029 # define OLENA_CORE_POINT1D_HXX
00030
00031 # include <oln/core/dpoint1d.hh>
00032 # include <iostream>
00033
00034 namespace oln {
00035
00036 inline
00037 point1d::point1d()
00038 {
00039 nth(0) = 0;
00040 }
00041
00042 inline
00043 point1d::point1d(coord col)
00044 {
00045 nth(0) = col;
00046 }
00047
00048 inline coord
00049 point1d::col() const
00050 {
00051 return nth(0);
00052 }
00053
00054 inline coord&
00055 point1d::col()
00056 {
00057 return nth(0);
00058 }
00059
00060 inline point1d&
00061 point1d::plus_assign_dp(const dpoint1d& dp)
00062 {
00063 col() += dp.col();
00064 return *this;
00065 }
00066
00067 inline point1d&
00068 point1d::minus_assign_dp(const dpoint1d& dp)
00069 {
00070 col() -= dp.col();
00071 return *this;
00072 }
00073
00074 inline dpoint1d
00075 point1d::minus_p(const point1d& p) const
00076 {
00077 dpoint1d dp(col() - p.col());
00078 return dp;
00079 }
00080
00081 inline point1d
00082 point1d::plus_dp(const dpoint1d& dp) const
00083 {
00084 point1d p = *this;
00085 p += dp;
00086 return p;
00087 }
00088
00089 inline point1d
00090 point1d::minus_dp(const dpoint1d& dp) const
00091 {
00092 point1d p = *this;
00093 p -= dp;
00094 return p;
00095 }
00096
00097 inline point1d
00098 point1d::minus() const
00099 {
00100 point1d p(-col());
00101 return p;
00102 }
00103
00104 }
00105
00106 inline std::ostream&
00107 operator<<(std::ostream& o, const oln::point1d& p)
00108 {
00109 return o << '(' << p.col() << ')';
00110 }
00111
00112 #endif // ! OLENA_CORE_POINT1D_HXX