15#include <vsg/maths/box.h>
16#include <vsg/state/ArrayState.h>
22 class VSG_DECLSPEC ComputeBounds :
public Inherit<ConstVisitor, ComputeBounds>
34 using ArrayStateStack = std::vector<ref_ptr<ArrayState>>;
35 ArrayStateStack arrayStateStack;
37 using MatrixStack = std::vector<dmat4>;
38 MatrixStack matrixStack;
46 void apply(
const Object& node)
override;
47 void apply(
const StateGroup& stategroup)
override;
48 void apply(
const Transform& transform)
override;
50 void apply(
const CullNode& cullNode)
override;
51 void apply(
const CullGroup& cullGroup)
override;
52 void apply(
const LOD& lod)
override;
53 void apply(
const PagedLOD& plod)
override;
54 void apply(
const Geometry& geometry)
override;
63 void apply(
const Draw& draw)
override;
64 void apply(
const DrawIndexed& drawIndexed)
override;
65 void apply(
const Text& text)
override;
66 void apply(
const TextGroup& textGroup)
override;
69 void apply(
const BufferInfo& bufferInfo)
override;
70 void apply(
const ushortArray& array)
override;
71 void apply(
const uintArray& array)
override;
73 virtual void applyDraw(uint32_t firstVertex, uint32_t vertexCount, uint32_t firstInstance, uint32_t instanceCount);
74 virtual void applyDrawIndexed(uint32_t firstIndex, uint32_t indexCount, uint32_t firstInstance, uint32_t vertexOffset, uint32_t instanceCount);
76 void add(
const dbox& bb);
77 void add(
const dsphere& bs);
BindIndexBuffer command encapsulates vkCmdBindIndexBuffer call and associated settings.
Definition BindIndexBuffer.h:28
BindVertexBuffers command encapsulates vkCmdBindVertexBuffers call and associated settings.
Definition BindVertexBuffers.h:25
BufferInfo encapsulates the settings that map to VkDescriptorBufferInfo.
Definition BufferInfo.h:27
ComputeBounds traverses a scene graph computing an overall bounding box that encloses all the geometr...
Definition ComputeBounds.h:23
const InstanceNode * instanceNode
last instanceNode encountered (used by InstanceDraw)
Definition ComputeBounds.h:41
bool useNodeBounds
Definition ComputeBounds.h:32
dbox bounds
Result of compute bounds traversal.
Definition ComputeBounds.h:28
CullNode that enables view frustum culling on a list of children.
Definition CullGroup.h:23
Draw command encapsulates vkCmdDraw call and associated settings.
Definition Draw.h:24
DrawIndexed command encapsulates vkCmdDrawIndexed call and associated settings.
Definition DrawIndexed.h:24
Definition InstanceDraw.h:25
Definition InstanceDrawIndexed.h:25
Definition InstanceNode.h:34
Definition StateCommand.h:24
Definition StateGroup.h:32
Definition TextGroup.h:27
Definition TextTechnique.h:25
Definition VertexDraw.h:25
Definition VertexIndexDraw.h:25