Signals | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
lvr2::LVRChunkedMeshBridge Class Reference

#include <LVRChunkedMeshBridge.hpp>

Inheritance diagram for lvr2::LVRChunkedMeshBridge:
Inheritance graph
[legend]

Signals

void updateHighRes (actorMap lowRes, actorMap highRes)
 

Public Member Functions

void addInitialActors (vtkSmartPointer< vtkRenderer > renderer)
 
void fetchHighRes (BoundingBox< BaseVector< float > > bb, std::vector< size_t > indices, std::vector< BaseVector< float >> centroids)
 
void getActors (double planes[24], std::vector< BaseVector< float > > &centroids, std::vector< size_t > &indices)
 
std::unordered_map< size_t, vtkSmartPointer< vtkActor > > getHighResActors ()
 
double getHighResDistance ()
 
std::unordered_map< size_t, vtkSmartPointer< vtkActor > > getLowResActors ()
 
 LVRChunkedMeshBridge (std::string file, vtkSmartPointer< vtkRenderer > renderer, std::vector< std::string > layers, size_t cache_size=1000)
 

Public Attributes

std::condition_variable mw_cond
 
std::mutex mw_mutex
 
bool release = false
 

Protected Member Functions

vtkSmartPointer< vtkActor > computeMeshActor (size_t &id, MeshBufferPtr &chunk)
 
void computeMeshActors ()
 

Private Member Functions

void highResWorker ()
 

Private Attributes

std::condition_variable cond_
 
bool getNew_
 
size_t m_cacheSize
 
std::unordered_map< size_t, vtkSmartPointer< vtkActor > > m_chunkActors
 
lvr2::ChunkManager m_chunkManager
 
std::unordered_map< size_t, MeshBufferPtrm_chunks
 
std::unordered_map< size_t, MeshBufferPtrm_highRes
 
std::unordered_map< size_t, vtkSmartPointer< vtkActor > > m_highResActors
 
std::vector< BaseVector< float > > m_highResCentroids
 
double m_highResDistance
 
std::vector< size_t > m_highResIndices
 
std::vector< BaseVector< float > > m_lastCentroids
 
std::vector< size_t > m_lastIndices
 
BoundingBox< BaseVector< float > > m_lastRegion
 
std::vector< std::string > m_layers
 
std::unique_ptr< MeshOctree< BaseVector< float > > > m_oct
 
BoundingBox< BaseVector< float > > m_region
 
vtkSmartPointer< vtkRenderer > m_renderer
 
std::mutex mutex
 
bool running_
 
std::thread worker
 

Detailed Description

Definition at line 66 of file LVRChunkedMeshBridge.hpp.

Constructor & Destructor Documentation

◆ LVRChunkedMeshBridge()

LVRChunkedMeshBridge::LVRChunkedMeshBridge ( std::string  file,
vtkSmartPointer< vtkRenderer >  renderer,
std::vector< std::string >  layers,
size_t  cache_size = 1000 
)

Definition at line 26 of file LVRChunkedMeshBridge.cpp.

Member Function Documentation

◆ addInitialActors()

void LVRChunkedMeshBridge::addInitialActors ( vtkSmartPointer< vtkRenderer >  renderer)

Definition at line 235 of file LVRChunkedMeshBridge.cpp.

◆ computeMeshActor()

vtkSmartPointer< vtkActor > LVRChunkedMeshBridge::computeMeshActor ( size_t &  id,
MeshBufferPtr chunk 
)
inlineprotected

Definition at line 350 of file LVRChunkedMeshBridge.cpp.

◆ computeMeshActors()

void LVRChunkedMeshBridge::computeMeshActors ( )
protected

Definition at line 332 of file LVRChunkedMeshBridge.cpp.

◆ fetchHighRes()

void LVRChunkedMeshBridge::fetchHighRes ( BoundingBox< BaseVector< float > >  bb,
std::vector< size_t >  indices,
std::vector< BaseVector< float >>  centroids 
)

Definition at line 220 of file LVRChunkedMeshBridge.cpp.

◆ getActors()

void LVRChunkedMeshBridge::getActors ( double  planes[24],
std::vector< BaseVector< float > > &  centroids,
std::vector< size_t > &  indices 
)

Definition at line 323 of file LVRChunkedMeshBridge.cpp.

◆ getHighResActors()

std::unordered_map<size_t, vtkSmartPointer<vtkActor> > lvr2::LVRChunkedMeshBridge::getHighResActors ( )
inline

Definition at line 80 of file LVRChunkedMeshBridge.hpp.

◆ getHighResDistance()

double lvr2::LVRChunkedMeshBridge::getHighResDistance ( )
inline

Definition at line 89 of file LVRChunkedMeshBridge.hpp.

◆ getLowResActors()

std::unordered_map<size_t, vtkSmartPointer<vtkActor> > lvr2::LVRChunkedMeshBridge::getLowResActors ( )
inline

Definition at line 81 of file LVRChunkedMeshBridge.hpp.

◆ highResWorker()

void LVRChunkedMeshBridge::highResWorker ( )
private

Definition at line 35 of file LVRChunkedMeshBridge.cpp.

◆ updateHighRes

void lvr2::LVRChunkedMeshBridge::updateHighRes ( actorMap  lowRes,
actorMap  highRes 
)
signal

Member Data Documentation

◆ cond_

std::condition_variable lvr2::LVRChunkedMeshBridge::cond_
private

Definition at line 104 of file LVRChunkedMeshBridge.hpp.

◆ getNew_

bool lvr2::LVRChunkedMeshBridge::getNew_
private

Definition at line 106 of file LVRChunkedMeshBridge.hpp.

◆ m_cacheSize

size_t lvr2::LVRChunkedMeshBridge::m_cacheSize
private

Definition at line 117 of file LVRChunkedMeshBridge.hpp.

◆ m_chunkActors

std::unordered_map<size_t, vtkSmartPointer<vtkActor> > lvr2::LVRChunkedMeshBridge::m_chunkActors
private

Definition at line 122 of file LVRChunkedMeshBridge.hpp.

◆ m_chunkManager

lvr2::ChunkManager lvr2::LVRChunkedMeshBridge::m_chunkManager
private

Definition at line 119 of file LVRChunkedMeshBridge.hpp.

◆ m_chunks

std::unordered_map<size_t, MeshBufferPtr> lvr2::LVRChunkedMeshBridge::m_chunks
private

Definition at line 120 of file LVRChunkedMeshBridge.hpp.

◆ m_highRes

std::unordered_map<size_t, MeshBufferPtr> lvr2::LVRChunkedMeshBridge::m_highRes
private

Definition at line 121 of file LVRChunkedMeshBridge.hpp.

◆ m_highResActors

std::unordered_map<size_t, vtkSmartPointer<vtkActor> > lvr2::LVRChunkedMeshBridge::m_highResActors
private

Definition at line 123 of file LVRChunkedMeshBridge.hpp.

◆ m_highResCentroids

std::vector<BaseVector<float> > lvr2::LVRChunkedMeshBridge::m_highResCentroids
private

Definition at line 112 of file LVRChunkedMeshBridge.hpp.

◆ m_highResDistance

double lvr2::LVRChunkedMeshBridge::m_highResDistance
private

Definition at line 105 of file LVRChunkedMeshBridge.hpp.

◆ m_highResIndices

std::vector<size_t> lvr2::LVRChunkedMeshBridge::m_highResIndices
private

Definition at line 111 of file LVRChunkedMeshBridge.hpp.

◆ m_lastCentroids

std::vector<BaseVector<float> > lvr2::LVRChunkedMeshBridge::m_lastCentroids
private

Definition at line 114 of file LVRChunkedMeshBridge.hpp.

◆ m_lastIndices

std::vector<size_t > lvr2::LVRChunkedMeshBridge::m_lastIndices
private

Definition at line 113 of file LVRChunkedMeshBridge.hpp.

◆ m_lastRegion

BoundingBox<BaseVector<float> > lvr2::LVRChunkedMeshBridge::m_lastRegion
private

Definition at line 109 of file LVRChunkedMeshBridge.hpp.

◆ m_layers

std::vector<std::string> lvr2::LVRChunkedMeshBridge::m_layers
private

Definition at line 116 of file LVRChunkedMeshBridge.hpp.

◆ m_oct

std::unique_ptr<MeshOctree<BaseVector<float> > > lvr2::LVRChunkedMeshBridge::m_oct
private

Definition at line 125 of file LVRChunkedMeshBridge.hpp.

◆ m_region

BoundingBox<BaseVector<float> > lvr2::LVRChunkedMeshBridge::m_region
private

Definition at line 108 of file LVRChunkedMeshBridge.hpp.

◆ m_renderer

vtkSmartPointer<vtkRenderer> lvr2::LVRChunkedMeshBridge::m_renderer
private

Definition at line 100 of file LVRChunkedMeshBridge.hpp.

◆ mutex

std::mutex lvr2::LVRChunkedMeshBridge::mutex
private

Definition at line 103 of file LVRChunkedMeshBridge.hpp.

◆ mw_cond

std::condition_variable lvr2::LVRChunkedMeshBridge::mw_cond

Definition at line 77 of file LVRChunkedMeshBridge.hpp.

◆ mw_mutex

std::mutex lvr2::LVRChunkedMeshBridge::mw_mutex

Definition at line 76 of file LVRChunkedMeshBridge.hpp.

◆ release

bool lvr2::LVRChunkedMeshBridge::release = false

Definition at line 78 of file LVRChunkedMeshBridge.hpp.

◆ running_

bool lvr2::LVRChunkedMeshBridge::running_
private

Definition at line 107 of file LVRChunkedMeshBridge.hpp.

◆ worker

std::thread lvr2::LVRChunkedMeshBridge::worker
private

Definition at line 102 of file LVRChunkedMeshBridge.hpp.


The documentation for this class was generated from the following files:


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:27