summaryrefslogtreecommitdiffstats
path: root/libdimensionxx/dimensionxx/geometry.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'libdimensionxx/dimensionxx/geometry.hpp')
-rw-r--r--libdimensionxx/dimensionxx/geometry.hpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/libdimensionxx/dimensionxx/geometry.hpp b/libdimensionxx/dimensionxx/geometry.hpp
index fdeccf0..4da6f47 100644
--- a/libdimensionxx/dimensionxx/geometry.hpp
+++ b/libdimensionxx/dimensionxx/geometry.hpp
@@ -134,6 +134,65 @@ namespace Dimension
dmnsn_line m_line;
};
+ // Array_Element specializations
+
+ template <>
+ class Array_Element<Matrix>
+ : public DMNSN_Array_Element<Matrix, dmnsn_matrix>
+ {
+ public:
+ typedef dmnsn_matrix C_Type;
+
+ Array_Element()
+ : DMNSN_Array_Element<Matrix, dmnsn_matrix>(Matrix()) { }
+ Array_Element(Matrix& matrix)
+ : DMNSN_Array_Element<Matrix, dmnsn_matrix>(matrix) { }
+ Array_Element(C_Type c)
+ : DMNSN_Array_Element<Matrix, dmnsn_matrix>(c) { }
+ // Array_Element(const Array_Element& ae);
+ // ~Array_Element();
+
+ // Array_Element& operator=(const Array_Element& ae);
+ };
+
+ template <>
+ class Array_Element<Vector>
+ : public DMNSN_Array_Element<Vector, dmnsn_vector>
+ {
+ public:
+ typedef dmnsn_vector C_Type;
+
+ Array_Element()
+ : DMNSN_Array_Element<Vector, dmnsn_vector>(Vector()) { }
+ Array_Element(Vector& vector)
+ : DMNSN_Array_Element<Vector, dmnsn_vector>(vector) { }
+ Array_Element(C_Type c)
+ : DMNSN_Array_Element<Vector, dmnsn_vector>(c) { }
+ // Array_Element(const Array_Element& ae);
+ // ~Array_Element();
+
+ // Array_Element& operator=(const Array_Element& ae);
+ };
+
+ template <>
+ class Array_Element<Line>
+ : public DMNSN_Array_Element<Line, dmnsn_line>
+ {
+ public:
+ typedef dmnsn_line C_Type;
+
+ Array_Element()
+ : DMNSN_Array_Element<Line, dmnsn_line>(Line()) { }
+ Array_Element(Line& line)
+ : DMNSN_Array_Element<Line, dmnsn_line>(line) { }
+ Array_Element(C_Type c)
+ : DMNSN_Array_Element<Line, dmnsn_line>(c) { }
+ // Array_Element(const Array_Element& ae);
+ // ~Array_Element();
+
+ // Array_Element& operator=(const Array_Element& ae);
+ };
+
// Matrix operators
inline Matrix