diff options
author | vng <viktor.govako@gmail.com> | 2011-02-05 02:31:46 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:11:38 +0300 |
commit | 3f869a3c193dc1136fc137a601eeecd5cf60bc1a (patch) | |
tree | f496b96785f8837cb275af912026a1ad3ae8b04a /indexer/tesselator_decl.hpp | |
parent | 910964da8546fe678e0e42aa07275268dfbab2b5 (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.hpp | 26 |
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; + } + }; +} |