summaryrefslogtreecommitdiff
path: root/c++/core/platonic.h
diff options
context:
space:
mode:
Diffstat (limited to 'c++/core/platonic.h')
-rw-r--r--c++/core/platonic.h103
1 files changed, 0 insertions, 103 deletions
diff --git a/c++/core/platonic.h b/c++/core/platonic.h
deleted file mode 100644
index eefe99f..0000000
--- a/c++/core/platonic.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#pragma once
-
-#include "error.h"
-
-namespace saw {
-namespace impl {
-/**
- *
- */
-template<typename Prec, uint8_t N>
-struct platonic_helper {
- static_assert(always_false<Prec,N>, "Unsupported platonic body. Alternatively it's not a platonic body");
-};
-
-template<typename Prec>
-struct platonic_helper<Prec,4u> {
- static constexpr surface_edges = 3u;
-/*
- static constexpr std::array<std::array<Prec,3u>, 4u> normals = {
- {0.0, 0.0, -1.0}, // 1
- {}, // 2
- {}, // 3
- {} // 4
- };
-*/
-};
-
-template<typename Prec>
-struct platonic_helper<Prec,6u> {
- static constexpr surface_edges = 4u;
-
- static constexpr std::array<std::array<Prec,3u>, 6u> normals = {
- { 1.0, 0.0, 0.0}, // 1
- {-1.0, 0.0, 0.0}, // 2
- { 0.0, 1.0, 0.0}, // 3
- { 0.0,-1.0, 0.0}, // 4
- { 0.0, 0.0, 1.0}, // 5
- { 0.0, 0.0,-1.0} // 6
- };
-};
-
-template<typename Prec>
-struct platonic_helper<Prec,20u> {
- static constexpr uint8_t surface_edges = 3u;
-/*
- static constexpr std::array<std::array<Prec,3u>, 20u> normals = {
- {}, // 1
- {}, // 2
- {}, // 3
- {}, // 4
- {}, // 5
- {}, // 6
- {}, // 7
- {}, // 8
- {}, // 9
- {}, // 10
- {}, // 11
- {}, // 12
- {}, // 13
- {}, // 14
- {}, // 15
- {}, // 16
- {}, // 17
- {}, // 18
- {}, // 19
- {} // 20
- };
-*/
-};
-}
-/**
- * Container for describing each platonic body with
- * helpers describing the orientation of each body.
- */
-template<typename T, typename Prec, uint8_t N>
-class platonic {
-private:
- /**
- * Storage for the surfaces
- */
- std::array<T,N> surfaces_;
-public:
- constexpr uint8_t get_surface_edge_size() constexpr {
- return platonic_helper<T,N>::surface_edges;
- }
-
- constexpr uint8_t get_surface_size() constexpr {
- return N;
- }
-
- T& at(uint8_t i){
- return surface_.at(i);
- }
-
- const T& at(uint8_t i) const {
- return surface_.at(i);
- }
-
- constexpr std::array<Prec, 3>& get_surface_normal(size_t i) constexpr {
-
- }
-};
-}