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_DPOINT1D_HXX
00029 # define OLENA_CORE_DPOINT1D_HXX
00030
00031 # include <oln/core/point1d.hh>
00032 # include <iostream>
00033
00034 namespace oln {
00035
00036 inline coord
00037 dpoint1d::col() const
00038 {
00039 return nth(0);
00040 }
00041
00042 inline coord&
00043 dpoint1d::col()
00044 {
00045 return nth(0);
00046 }
00047
00048 inline
00049 dpoint1d::dpoint1d()
00050 {
00051 col() = 0;
00052 }
00053
00054 inline
00055 dpoint1d::dpoint1d(coord c)
00056 {
00057 col() = c;
00058 }
00059
00060 inline
00061 dpoint1d::dpoint1d(const point1d& p) : super_type(p)
00062 {
00063 }
00064
00065 inline dpoint1d
00066 dpoint1d::minus() const
00067 {
00068 dpoint1d dp(-col());
00069 return dp;
00070 }
00071
00072 inline dpoint1d&
00073 dpoint1d::plus_assign_dp(const dpoint1d& dp)
00074 {
00075 col() += dp.col();
00076 return *this;
00077 }
00078
00079 inline dpoint1d&
00080 dpoint1d::minus_assign_dp(const dpoint1d& dp)
00081 {
00082 col() -= dp.col();
00083 return *this;
00084 }
00085
00086 inline dpoint1d
00087 dpoint1d::plus_dp(const dpoint1d& dp) const
00088 {
00089 dpoint1d tmp = *this;
00090 tmp += dp;
00091 return tmp;
00092 }
00093
00094 inline dpoint1d
00095 dpoint1d::minus_dp(const dpoint1d& dp) const
00096 {
00097 dpoint1d tmp = *this;
00098 tmp -= dp;
00099 return tmp;
00100 }
00101
00102 }
00103
00104 inline std::ostream&
00105 operator<<(std::ostream& o, const oln::dpoint1d& dp)
00106 {
00107 return o << '(' << dp.col() << ')';
00108 }
00109
00110 #endif // ! OLENA_CORE_DPOINT1D_HXX