triangle3D.h
Go to the documentation of this file.00001
00015 #ifndef DLR_GEOMETRY_TRIANGLE3D_H
00016 #define DLR_GEOMETRY_TRIANGLE3D_H
00017
00018 #include <iostream>
00019 #include <dlrNumeric/vector3D.h>
00020
00021 namespace dlr {
00022
00023 namespace geometry {
00024
00028 class Triangle3D {
00029 public:
00030
00035 Triangle3D()
00036 : m_vertex0(0.0, 0.0, 0.0), m_vertex1(1.0, 0.0, 0.0),
00037 m_vertex2(0.0, 1.0, 0.0) {}
00038
00039
00052 Triangle3D(const Vector3D& vertex0,
00053 const Vector3D& vertex1,
00054 const Vector3D& vertex2);
00055
00056
00062 Triangle3D(const Triangle3D& source);
00063
00064
00068 ~Triangle3D() {}
00069
00070
00078 Triangle3D&
00079 operator=(const Triangle3D& source);
00080
00081
00089 const Vector3D&
00090 getVertex0() const {return m_vertex0;}
00091
00092
00100 const Vector3D&
00101 getVertex1() const {return m_vertex1;}
00102
00103
00111 const Vector3D&
00112 getVertex2() const {return m_vertex2;}
00113
00114
00115 Triangle3D&
00116 setValue(Vector3D const& vertex0,
00117 Vector3D const& vertex1,
00118 Vector3D const& vertex2) {
00119 m_vertex0 = vertex0;
00120 m_vertex1 = vertex1;
00121 m_vertex2 = vertex2;
00122 return *this;
00123 }
00124
00125 private:
00126
00127
00128 Vector3D m_vertex0;
00129 Vector3D m_vertex1;
00130 Vector3D m_vertex2;
00131
00132 };
00133
00134
00135
00136
00137
00138 std::ostream&
00139 operator<<(std::ostream& stream, const Triangle3D& triangle);
00140
00141
00142 std::istream&
00143 operator>>(std::istream& stream, Triangle3D& triangle);
00144
00145
00146 }
00147
00148 }
00149
00150
00151
00152
00153 #include <dlrLinearAlgebra/linearAlgebra.h>
00154 #include <dlrNumeric/subArray1D.h>
00155
00156 namespace dlr {
00157
00158 namespace geometry {
00159
00160
00161 }
00162
00163 }
00164
00165
00166 #endif