![]() |
#include <array>
#include <memory>
#include <functional>
#include "SurgSim/DataStructures/EmptyData.h"
#include "SurgSim/Framework/Asset.h"
#include "SurgSim/Math/Vector.h"
#include "SurgSim/Math/Aabb.h"
#include "SurgSim/DataStructures/OctreeNode-inl.h"
Go to the source code of this file.
Classes | |
class | SurgSim::DataStructures::OctreePathHash |
Enable the OctreePath to be used as a key in an unordered map, if the int range is exceeded this will just push the least significant numbers (root addresses) out of scope, it loses a little bit of address space as octree ids only go from 0-7. More... | |
class | SurgSim::DataStructures::OctreeNode< Data > |
Octree data structure. More... | |
Namespaces | |
SurgSim | |
SurgSim::Math | |
SurgSim::DataStructures | |
Typedefs | |
typedef std::vector< size_t > | SurgSim::DataStructures::OctreePath |
Typedef of octree path The path is a vector of children indexes (each within 0 to 7) that lead to the specific node the front of the vector holds the index of the root's children. More... | |
Enumerations | |
enum | SurgSim::DataStructures::Neighborhood { SurgSim::DataStructures::NEIGHBORHOOD_NONE = 0x0, SurgSim::DataStructures::NEIGHBORHOOD_FACE = 0x1, SurgSim::DataStructures::NEIGHBORHOOD_EDGE = 0x2, SurgSim::DataStructures::NEIGHBORHOOD_VERTEX = 0x4, SurgSim::DataStructures::NEIGHBORHOOD_ALL = 0x1 | 0x2 | 0x4 } |
Indicates what neighbors to grab. More... | |
enum | SurgSim::DataStructures::Symbol { SurgSim::DataStructures::SYMBOL_HALT = -1, SurgSim::DataStructures::SYMBOL_DOWN = 0, SurgSim::DataStructures::SYMBOL_UP = 1, SurgSim::DataStructures::SYMBOL_RIGHT = 2, SurgSim::DataStructures::SYMBOL_LEFT = 3, SurgSim::DataStructures::SYMBOL_BACK = 4, SurgSim::DataStructures::SYMBOL_FRONT = 5 } |
Direction code for the neighborhood search. More... | |
Functions | |
SurgSim::DataStructures::OctreePath | SurgSim::DataStructures::getNeighbor (const OctreePath &origin, const std::array< Symbol, 3 > &direction) |
Calculate the neighbor of an node in the octree by traversing a state machine, see http://ww1.ucmss.com/books/LFS/CSREA2006/MSV4517.pdf for detailed description. More... | |
std::vector< OctreePath > | SurgSim::DataStructures::getNeighbors (const OctreePath &origin, int type) |
Fetch a list of neighbors, indicated by the type, Face, Edge and Vertex are possible types and can be combined via OR. More... | |