3 #ifndef SCENEVIEW_DRAW_GROUP_HPP__
4 #define SCENEVIEW_DRAW_GROUP_HPP__
6 #include <unordered_set>
16 enum class NodeOrdering {
24 const QString& Name()
const {
return name_; }
26 int Order()
const {
return order_; }
28 const std::unordered_set<DrawNode*>& DrawNodes()
const {
return nodes_; }
35 NodeOrdering GetNodeOrdering()
const {
return node_ordering_; }
37 void SetFrustumCulling(
bool value) { frustum_culling_ = value; }
39 bool GetFrustumCulling()
const {
return frustum_culling_; }
41 void SetCamera(CameraNode* camera) { camera_ = camera; }
43 CameraNode* GetCamera() {
return camera_; }
48 DrawGroup(
const QString& name,
int order);
50 void AddNode(DrawNode* node);
52 void RemoveNode(DrawNode* node);
58 NodeOrdering node_ordering_ = NodeOrdering::kBackToFront;
60 bool frustum_culling_ =
true;
62 CameraNode* camera_ =
nullptr;
64 std::unordered_set<DrawNode*> nodes_;
69 #endif // SCENEVIEW_DRAW_GROUP_HPP__
Definition: draw_group.hpp:22
void SetNodeOrdering(NodeOrdering ordering)
Sets the sorting method for drawing nodes in this draw group.
Definition: draw_group.hpp:33