15#include <vsg/app/Camera.h>
16#include <vsg/app/Window.h>
17#include <vsg/nodes/Group.h>
32 std::set<std::pair<const Object*, uint32_t>> visited;
34 bool visit(
const Object*
object, uint32_t index);
36 void apply(
Object&
object)
override;
38 void apply(
View& view)
override;
48 VkExtent2D previous_extent;
49 VkExtent2D new_extent;
50 std::set<std::pair<const Object*, uint32_t>> visited;
54 template<
typename T,
typename R>
55 T scale_parameter(T original, R extentOriginal, R extentNew)
57 if (original ==
static_cast<T
>(extentOriginal))
return static_cast<T
>(extentNew);
58 return static_cast<T
>(
static_cast<float>(original) *
static_cast<float>(extentNew) /
static_cast<float>(extentOriginal) + 0.5f);
61 void scale_rect(VkRect2D& rect);
67 void apply(
Object&
object)
override;
69 void apply(
View& view)
override;
BindGraphicsPipeline state command encapsulates the vkCmdBindPipeline call for a GraphicsPipeline.
Definition GraphicsPipeline.h:109
ClearAttachments command encapsulates vkCmdClearAttachments functionality and associated settings.
Definition ClearAttachments.h:22
Definition WindowResizeHandler.h:27
View is a Group class that pairs a Camera that defines the view with a subgraph that defines the scen...
Definition View.h:36
WindowResizeHandler class for updating viewport/scissor and attachments to fit with new window dimens...
Definition WindowResizeHandler.h:44
bool visit(const Object *object, uint32_t index=0)
return true if the object was visited