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:
Diffstat (limited to 'source/blender/freestyle/intern/geometry/HashGrid.h')
-rw-r--r--source/blender/freestyle/intern/geometry/HashGrid.h120
1 files changed, 60 insertions, 60 deletions
diff --git a/source/blender/freestyle/intern/geometry/HashGrid.h b/source/blender/freestyle/intern/geometry/HashGrid.h
index 289079fe0d9..b1fc4824b6f 100644
--- a/source/blender/freestyle/intern/geometry/HashGrid.h
+++ b/source/blender/freestyle/intern/geometry/HashGrid.h
@@ -23,13 +23,13 @@
*/
#if 0
-# if defined(__GNUC__) && (__GNUC__ >= 3)
+# if defined(__GNUC__) && (__GNUC__ >= 3)
// hash_map is not part of the C++ standard anymore;
// hash_map.h has been kept though for backward compatibility
-# include <hash_map.h>
-# else
-# include <hash_map>
-# endif
+# include <hash_map.h>
+# else
+# include <hash_map>
+# endif
#endif
#include <map>
@@ -39,69 +39,69 @@
namespace Freestyle {
/*! Defines a hash table used for searching the Cells */
-struct GridHasher
-{
+struct GridHasher {
#define _MUL 950706376UL
#define _MOD 2147483647UL
- inline size_t operator() (const Vec3u& p) const
- {
- size_t res = ((unsigned long) (p[0] * _MUL)) % _MOD;
- res = ((res + (unsigned long) (p[1]) * _MUL)) % _MOD;
- return ((res +(unsigned long) (p[2]) * _MUL)) % _MOD;
- }
+ inline size_t operator()(const Vec3u &p) const
+ {
+ size_t res = ((unsigned long)(p[0] * _MUL)) % _MOD;
+ res = ((res + (unsigned long)(p[1]) * _MUL)) % _MOD;
+ return ((res + (unsigned long)(p[2]) * _MUL)) % _MOD;
+ }
#undef _MUL
#undef _MOD
};
/*! Class to define a regular grid used for ray casting computations */
-class HashGrid : public Grid
-{
-public:
- typedef map<Vec3u, Cell*> GridHashTable;
-
- HashGrid() : Grid() {}
-
- virtual ~HashGrid()
- {
- clear();
- }
-
- /*! clears the grid
- * Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells.
- */
- virtual void clear();
-
- /*! Sets the different parameters of the grid
- * orig
- * The grid origin
- * size
- * The grid's dimensions
- * nb
- * The number of cells of the grid
- */
- virtual void configure(const Vec3r& orig, const Vec3r& size, unsigned nb);
-
- /*! returns the cell whose coordinates are pased as argument */
- virtual Cell *getCell(const Vec3u& p)
- {
- Cell *found_cell = NULL;
-
- GridHashTable::const_iterator found = _cells.find(p);
- if (found != _cells.end())
- found_cell = (*found).second;
- return found_cell;
- }
-
- /*! Fills the case p with the cell iCell */
- virtual void fillCell(const Vec3u& p, Cell& cell)
- {
- _cells[p] = &cell;
- }
-
-protected:
- GridHashTable _cells;
+class HashGrid : public Grid {
+ public:
+ typedef map<Vec3u, Cell *> GridHashTable;
+
+ HashGrid() : Grid()
+ {
+ }
+
+ virtual ~HashGrid()
+ {
+ clear();
+ }
+
+ /*! clears the grid
+ * Deletes all the cells, clears the hashtable, resets size, size of cell, number of cells.
+ */
+ virtual void clear();
+
+ /*! Sets the different parameters of the grid
+ * orig
+ * The grid origin
+ * size
+ * The grid's dimensions
+ * nb
+ * The number of cells of the grid
+ */
+ virtual void configure(const Vec3r &orig, const Vec3r &size, unsigned nb);
+
+ /*! returns the cell whose coordinates are pased as argument */
+ virtual Cell *getCell(const Vec3u &p)
+ {
+ Cell *found_cell = NULL;
+
+ GridHashTable::const_iterator found = _cells.find(p);
+ if (found != _cells.end())
+ found_cell = (*found).second;
+ return found_cell;
+ }
+
+ /*! Fills the case p with the cell iCell */
+ virtual void fillCell(const Vec3u &p, Cell &cell)
+ {
+ _cells[p] = &cell;
+ }
+
+ protected:
+ GridHashTable _cells;
};
} /* namespace Freestyle */
-#endif // __HASHGRID_H__
+#endif // __HASHGRID_H__