Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2011-02-05 02:31:46 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:11:38 +0300
commit3f869a3c193dc1136fc137a601eeecd5cf60bc1a (patch)
treef496b96785f8837cb275af912026a1ad3ae8b04a /indexer/tesselator_decl.hpp
parent910964da8546fe678e0e42aa07275268dfbab2b5 (diff)
Feature geometry size optimization : make triangles Encoding\Decoding as binary tree.
Diffstat (limited to 'indexer/tesselator_decl.hpp')
-rw-r--r--indexer/tesselator_decl.hpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/indexer/tesselator_decl.hpp b/indexer/tesselator_decl.hpp
new file mode 100644
index 0000000000..5f0cd5a1a6
--- /dev/null
+++ b/indexer/tesselator_decl.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include "../base/assert.hpp"
+
+namespace tesselator
+{
+ // Edge of graph, builded from triangles list.
+ struct Edge
+ {
+ int m_p[2]; // indexes of connected triangles (0 -> 1)
+ uint64_t m_delta; // delta of 1 - triangle from 0 - triangle
+
+ // intersected rib of 0 - triangle:
+ // - -1 - uninitialized or root edge
+ // - 0 - this edge intersects 1-2 rib;
+ // - 1 - this edge intersects 2-0 rib;
+ char m_side;
+
+ Edge(int from, int to, uint64_t delta, char side)
+ : m_delta(delta), m_side(side)
+ {
+ m_p[0] = from;
+ m_p[1] = to;
+ }
+ };
+}