diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-02-10 15:33:02 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-02-10 15:34:10 +0300 |
commit | cd4309ced0e65e7800bfd17b5869daf40b8dc601 (patch) | |
tree | 51c216790d645feaff0043419a15827eeffcd07f /intern/cycles/blender/blender_util.h | |
parent | 0178915ce94d7aab89109e8ea6786e2df88653cc (diff) |
Cycles: Cleanup, move EdgeMap to blender_util
it's better place for such an utility structure. Still not fully ideal tho.
Diffstat (limited to 'intern/cycles/blender/blender_util.h')
-rw-r--r-- | intern/cycles/blender/blender_util.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index b67834cdea3..8120de96362 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -19,6 +19,7 @@ #include "mesh.h" +#include "util_algorithm.h" #include "util_map.h" #include "util_path.h" #include "util_set.h" @@ -786,6 +787,35 @@ struct ParticleSystemKey { } }; +class EdgeMap { +public: + EdgeMap() { + } + + void clear() { + edges_.clear(); + } + + void insert(int v0, int v1) { + get_sorted_verts(v0, v1); + edges_.insert(std::pair<int, int>(v0, v1)); + } + + bool exists(int v0, int v1) { + get_sorted_verts(v0, v1); + return edges_.find(std::pair<int, int>(v0, v1)) != edges_.end(); + } + +protected: + void get_sorted_verts(int& v0, int& v1) { + if(v0 > v1) { + swap(v0, v1); + } + } + + set< std::pair<int, int> > edges_; +}; + CCL_NAMESPACE_END #endif /* __BLENDER_UTIL_H__ */ |