Forráskód Böngészése

hide marching cubes internal state in class

Former-commit-id: 32824a591cba59d9b20caaecc0bd30dae932527a
Francis Williams 6 éve
szülő
commit
b0eb3db0aa
1 módosított fájl, 20 hozzáadás és 20 törlés
  1. 20 20
      include/igl/copyleft/marching_cubes.cpp

+ 20 - 20
include/igl/copyleft/marching_cubes.cpp

@@ -33,32 +33,32 @@ extern const int edgeTable[256];
 extern const int triTable[256][2][17];
 extern const int polyTable[8][16];
 
-struct EdgeKey
-{
-  EdgeKey(unsigned i0, unsigned i1) : i0_(i0), i1_(i1) {}
 
-  bool operator==(const EdgeKey& _rhs) const
+template <typename DerivedValues, typename DerivedPoints, typename DerivedVertices, typename DerivedIndices, typename DerivedFaces>
+class MarchingCubes
+{
+  struct EdgeKey
   {
-    return i0_ == _rhs.i0_ && i1_ == _rhs.i1_;
-  }
+    EdgeKey(unsigned i0, unsigned i1) : i0_(i0), i1_(i1) {}
 
-  unsigned i0_, i1_;
-};
+    bool operator==(const EdgeKey& _rhs) const
+    {
+      return i0_ == _rhs.i0_ && i1_ == _rhs.i1_;
+    }
 
-struct EdgeHash
-{
-  std::size_t operator()(const EdgeKey& key) const {
-    std::size_t seed = 0;
-    seed ^= key.i0_ + 0x9e3779b9 + (seed<<6) + (seed>>2); // Copied from boost::hash_combine
-    seed ^= key.i1_ + 0x9e3779b9 + (seed<<6) + (seed>>2);
-    return std::hash<std::size_t>()(seed);
-  }
-};
+    unsigned i0_, i1_;
+  };
 
+  struct EdgeHash
+  {
+    std::size_t operator()(const EdgeKey& key) const {
+      std::size_t seed = 0;
+      seed ^= key.i0_ + 0x9e3779b9 + (seed<<6) + (seed>>2); // Copied from boost::hash_combine
+      seed ^= key.i1_ + 0x9e3779b9 + (seed<<6) + (seed>>2);
+      return std::hash<std::size_t>()(seed);
+    }
+  };
 
-template <typename DerivedValues, typename DerivedPoints, typename DerivedVertices, typename DerivedIndices, typename DerivedFaces>
-class MarchingCubes
-{
   typedef std::unordered_map<EdgeKey, unsigned, EdgeHash> MyMap;
   typedef typename MyMap::const_iterator                  MyMapIterator;