71 explicit RecordTraversal(uint32_t in_maxSlot = 2, std::set<Bin*> in_bins = {});
76 template<
typename... Args>
82 std::size_t sizeofObject()
const noexcept override {
return sizeof(
RecordTraversal); }
83 const char* className()
const noexcept override {
return type_name<RecordTraversal>(); }
85 Mask traversalMask = MASK_ALL;
86 Mask overrideMask = MASK_OFF;
103 FrameStamp* getFrameStamp() {
return _frameStamp; }
108 void apply(
const Object&
object);
111 void apply(
const Group& group);
112 void apply(
const QuadGroup& quadGroup);
113 void apply(
const LOD& lod);
114 void apply(
const PagedLOD& pagedLOD);
115 void apply(
const TileDatabase& tileDatabase);
116 void apply(
const CullGroup& cullGroup);
117 void apply(
const CullNode& cullNode);
118 void apply(
const DepthSorted& depthSorted);
119 void apply(
const Layer& layer);
120 void apply(
const Switch& sw);
121 void apply(
const RegionOfInterest& roi);
124 void apply(
const VertexDraw& vid);
125 void apply(
const VertexIndexDraw& vid);
126 void apply(
const Geometry& vid);
129 void apply(
const Light& light);
130 void apply(
const AmbientLight& light);
131 void apply(
const DirectionalLight& light);
132 void apply(
const PointLight& light);
133 void apply(
const SpotLight& light);
136 void apply(
const Transform& transform);
137 void apply(
const MatrixTransform& mt);
140 void apply(
const Joint& joint);
143 void apply(
const StateGroup&
object);
146 void apply(
const Commands& commands);
147 void apply(
const Command& command);
150 void apply(
const Bin& bin);
151 void apply(
const View& view);
152 void apply(
const CommandGraph& commandGraph);
154 void addToBin(int32_t binNumber,
double value,
const Node* node);
160 std::vector<std::pair<dmat4, const RegionOfInterest*>> regionsOfInterest;
163 virtual ~RecordTraversal();
165 ref_ptr<FrameStamp> _frameStamp;
166 ref_ptr<State> _state;
169 ref_ptr<DatabasePager> _databasePager;
170 ref_ptr<CulledPagedLODs> _culledPagedLODs;
172 int32_t _minimumBinNumber = 0;
173 std::vector<ref_ptr<Bin>> _bins;
174 ref_ptr<ViewDependentState> _viewDependentState;