circle2D.h
Go to the documentation of this file.00001
00015 #ifndef DLR_GEOMETRY_CIRCLE2D_H
00016 #define DLR_GEOMETRY_CIRCLE2D_H
00017
00018 #include <iostream>
00019 #include <dlrNumeric/vector2D.h>
00020
00021 namespace dlr {
00022
00023 namespace geometry {
00024
00028 class Circle2D {
00029 public:
00030
00034 inline
00035 Circle2D();
00036
00037
00049 inline
00050 Circle2D(const dlr::numeric::Vector2D& origin,
00051 double radius);
00052
00053
00059 inline
00060 Circle2D(const Circle2D& source);
00061
00062
00066 ~Circle2D() {}
00067
00068
00076 inline Circle2D&
00077 operator=(const Circle2D& source);
00078
00079
00086 dlr::numeric::Vector2D const&
00087 getOrigin() const {return m_origin;}
00088
00089
00095 double
00096 getRadius() const {return m_radius;}
00097
00098
00099 private:
00100
00101
00102
00103 dlr::numeric::Vector2D m_origin;
00104 double m_radius;
00105
00106 };
00107
00108
00109
00110
00111
00112 std::ostream&
00113 operator<<(std::ostream& stream, const Circle2D& circle);
00114
00115 }
00116
00117 }
00118
00119
00120
00121
00122 namespace dlr {
00123
00124 namespace geometry {
00125
00126
00127 Circle2D::
00128 Circle2D()
00129 : m_origin(0.0, 0.0),
00130 m_radius(1.0)
00131 {
00132
00133 }
00134
00135
00136
00137
00138 Circle2D::
00139 Circle2D(const dlr::numeric::Vector2D& origin,
00140 double radius)
00141 : m_origin(origin),
00142 m_radius(radius)
00143 {
00144 if(radius < 0.0) {
00145 m_radius = -m_radius;
00146 }
00147 }
00148
00149
00150
00151 Circle2D::
00152 Circle2D(const Circle2D& source)
00153 : m_origin(source.m_origin),
00154 m_radius(source.m_radius)
00155 {
00156
00157 }
00158
00159
00160
00161 Circle2D&
00162 Circle2D::
00163 operator=(const Circle2D& source)
00164 {
00165 if(&source != this) {
00166 m_origin = source.m_origin;
00167 m_radius = source.m_radius;
00168 }
00169 return *this;
00170 }
00171
00172 }
00173
00174 }
00175
00176
00177 #endif