API Documentation
Loading...
Searching...
No Matches
SelectionTreeManager.h
Go to the documentation of this file.
1#pragma once
2#include <NDEVR/DesignObjectBase.h>
3#if NDEVR_VIEWPORT
4#include <NDEVR/Model.h>
5#include <NDEVR/TimeSpan.h>
6namespace NDEVR
7{
8 class DesignObjectLookup;
9 class Model;
10 class Geometry;
11 class BasicThread;
12 class ProgressInfo;
13 class NDEVR_DESIGN_API SelectionTreeManager
14 {
15 public:
16 SelectionTreeManager();
17#if NDEVR_SUPPORTS_THREADING
18 void startLoop(DesignObjectLookup* lookup, const TimeSpan& loop_time);
19 void stopLoop();
20#endif
21 void createTrees(DesignObjectLookup* lookup);
22 protected:
23 void createTrees(const Model& model, const void* lock);
24 void createTree(const Geometry& geo, PrimitiveProperty primitive_property, VertexProperty vertex_property, const void* lock);
25 void createModelTree(const Buffer<Model>& models, const void* lock);
26 protected:
27 Buffer<PrimitiveProperty> m_primitive_properties;
28 Buffer<VertexProperty> m_vertex_properties;
29 uint04 m_point_bucket_size = 64;
30 uint04 m_line_bucket_size = 32;
31 uint04 m_triangle_bucket_size = 16;
32 uint04 m_model_child_bucket_size = 8;
33 ProgressInfo* m_log = nullptr;
34 DesignObjectLookup* m_loop_lookup = nullptr;
35 TimeSpan m_loop_timespan = Constant<TimeSpan>::NaN;
36#if NDEVR_SUPPORTS_THREADING
37 BasicThread* m_loop_thread = nullptr;
38#endif
39 Time m_last_modified_time = Time(0);
40 };
41}
42#endif
#define NDEVR_DESIGN_API
Definition DLLInfo.h:77
Definition ACIColor.h:37
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:120