3D Repo Bouncer  1.4
All Classes Namespaces Functions Variables Enumerations
repo_spatial_partitioner_rdtree.h
1 
18 #pragma once
19 #include "repo_spatial_partitioner_abstract.h"
20 
21 namespace repo{
22  namespace manipulator{
23  namespace modelutility{
25  {
26  public:
38  const repo::core::model::RepoScene *scene,
39  const uint32_t &maxDepth = 12)
40  ;
41 
42  virtual ~RDTreeSpatialPartitioner();
43 
44  virtual std::shared_ptr<repo_partitioning_tree_t> partitionScene();
45 
46  protected:
47 
52  std::vector<repo_mesh_entry_t> createMeshEntries();
53 
60  std::shared_ptr<repo_partitioning_tree_t> createPartition(
61  const std::vector<repo_mesh_entry_t> &meshes,
62  const repo::PartitioningTreeType &axis,
63  const uint32_t &depthCount,
64  const uint32_t &failcount,
65  const std::vector<std::vector<float>> &currentSection);
66 
75  void sortMeshes(
76  const std::vector<repo_mesh_entry_t> &meshes,
77  const repo::PartitioningTreeType &axis,
78  const std::vector<std::vector<float>> &currentSection,
79  float &median,
80  std::vector<repo_mesh_entry_t> &lMeshes,
81  std::vector<repo_mesh_entry_t> &rMeshes
82  );
83  };
84  }
85  }
86 }
Definition: repo_spatial_partitioner_rdtree.h:24
Definition: repo_connection_pool_mongo.h:32
Definition: repo_scene.h:44
void sortMeshes(const std::vector< repo_mesh_entry_t > &meshes, const repo::PartitioningTreeType &axis, const std::vector< std::vector< float >> &currentSection, float &median, std::vector< repo_mesh_entry_t > &lMeshes, std::vector< repo_mesh_entry_t > &rMeshes)
Definition: repo_spatial_partitioner_rdtree.cpp:208
virtual std::shared_ptr< repo_partitioning_tree_t > partitionScene()
Definition: repo_spatial_partitioner_rdtree.cpp:173
std::shared_ptr< repo_partitioning_tree_t > createPartition(const std::vector< repo_mesh_entry_t > &meshes, const repo::PartitioningTreeType &axis, const uint32_t &depthCount, const uint32_t &failcount, const std::vector< std::vector< float >> &currentSection)
Definition: repo_spatial_partitioner_rdtree.cpp:105
Definition: repo_spatial_partitioner_abstract.h:27
RDTreeSpatialPartitioner(const repo::core::model::RepoScene *scene, const uint32_t &maxDepth=12)
Definition: repo_spatial_partitioner_rdtree.cpp:23
std::vector< repo_mesh_entry_t > createMeshEntries()
Definition: repo_spatial_partitioner_rdtree.cpp:34