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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2020-05-19 17:43:16 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2020-05-27 13:07:16 +0300
commit15bcfc5b1993a38ce75d568aae434391680e6efe (patch)
treeb424c781234ba9b84664949888e3831e69be36ff /intern/opensubdiv
parent12c42738f3dad4c89d1b1b0935a4478c02005545 (diff)
OpenSubdiv: Cleanup, remove unused code
There is no need in edge map anymore.
Diffstat (limited to 'intern/opensubdiv')
-rw-r--r--intern/opensubdiv/CMakeLists.txt1
-rw-r--r--intern/opensubdiv/internal/base/edge_map.h162
2 files changed, 0 insertions, 163 deletions
diff --git a/intern/opensubdiv/CMakeLists.txt b/intern/opensubdiv/CMakeLists.txt
index efa8fccd8b6..3bd125f0a35 100644
--- a/intern/opensubdiv/CMakeLists.txt
+++ b/intern/opensubdiv/CMakeLists.txt
@@ -51,7 +51,6 @@ if(WITH_OPENSUBDIV)
list(APPEND SRC
# Base.
- internal/base/edge_map.h
internal/base/memory.h
internal/base/opensubdiv_capi.cc
internal/base/type.h
diff --git a/intern/opensubdiv/internal/base/edge_map.h b/intern/opensubdiv/internal/base/edge_map.h
deleted file mode 100644
index da1ec5bd31b..00000000000
--- a/intern/opensubdiv/internal/base/edge_map.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2019 Blender Foundation. All rights reserved.
-//
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License
-// as published by the Free Software Foundation; either version 2
-// of the License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the Free Software Foundation,
-// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-// Author: Sergey Sharybin
-
-#ifndef OPENSUBDIV_BASE_EDGE_MAP_H_
-#define OPENSUBDIV_BASE_EDGE_MAP_H_
-
-#include "internal/base/type.h"
-
-namespace blender {
-namespace opensubdiv {
-
-// Helper class to ease dealing with edge indexing.
-// Simply takes care of ensuring order of vertices is strictly defined.
-class EdgeKey {
- public:
- inline EdgeKey();
- inline EdgeKey(int v1, int v2);
-
- inline size_t hash() const;
- inline bool operator==(const EdgeKey &other) const;
-
- // These indices are guaranteed to be so v1 < v2.
- int v1;
- int v2;
-};
-
-// Map from an edge defined by its vertices index to a custom tag value.
-template<typename T> class EdgeTagMap {
- public:
- typedef EdgeKey key_type;
- typedef T value_type;
-
- inline EdgeTagMap();
-
- // Modifiers.
- inline void clear();
- inline void insert(const key_type &key, const value_type &value);
- inline void insert(int v1, int v2, const value_type &value);
-
- // Lookup.
- value_type &at(const key_type &key);
- value_type &at(key_type &&key);
- value_type &at(int v1, int v2);
-
- value_type &operator[](const key_type &key);
- value_type &operator[](key_type &&key);
-
- protected:
- unordered_map<key_type, value_type> edge_tags_;
-};
-
-////////////////////////////////////////////////////////////////////////////////
-// Implementation.
-
-// EdgeKey.
-
-EdgeKey::EdgeKey() : v1(-1), v2(-1)
-{
-}
-
-EdgeKey::EdgeKey(int v1, int v2)
-{
- assert(v1 >= 0);
- assert(v2 >= 0);
- assert(v1 != v2);
- if (v1 < v2) {
- this->v1 = v1;
- this->v2 = v2;
- }
- else {
- this->v1 = v2;
- this->v2 = v1;
- }
-}
-
-size_t EdgeKey::hash() const
-{
- return (static_cast<uint64_t>(v1) << 32) | v2;
-}
-
-bool EdgeKey::operator==(const EdgeKey &other) const
-{
- return v1 == other.v1 && v2 == other.v2;
-}
-
-// EdgeTagMap.
-
-template<typename T> EdgeTagMap<T>::EdgeTagMap()
-{
-}
-
-template<typename T> void EdgeTagMap<T>::clear()
-{
- edge_tags_.clear();
-}
-
-template<typename T> void EdgeTagMap<T>::insert(const key_type &key, const value_type &value)
-{
- edge_tags_.insert(make_pair(key, value));
-}
-
-template<typename T> void EdgeTagMap<T>::insert(int v1, int v2, const value_type &value)
-{
- insert(EdgeKey(v1, v2), value);
-}
-
-template<typename T> typename EdgeTagMap<T>::value_type &EdgeTagMap<T>::at(const key_type &key)
-{
- return edge_tags_.at[key];
-}
-
-template<typename T> typename EdgeTagMap<T>::value_type &EdgeTagMap<T>::at(key_type &&key)
-{
- return edge_tags_.at[key];
-}
-
-template<typename T> typename EdgeTagMap<T>::value_type &EdgeTagMap<T>::at(int v1, int v2)
-{
- return edge_tags_.at(EdgeKey(v1, v2));
-}
-
-template<typename T>
-typename EdgeTagMap<T>::value_type &EdgeTagMap<T>::operator[](const key_type &key)
-{
- return edge_tags_[key];
-}
-
-template<typename T> typename EdgeTagMap<T>::value_type &EdgeTagMap<T>::operator[](key_type &&key)
-{
- return edge_tags_[key];
-}
-
-} // namespace opensubdiv
-} // namespace blender
-
-namespace std {
-
-template<> struct hash<blender::opensubdiv::EdgeKey> {
- std::size_t operator()(const blender::opensubdiv::EdgeKey &key) const
- {
- return key.hash();
- }
-};
-
-} // namespace std
-
-#endif // OPENSUBDIV_BASE_EDGE_MAP_H_