vengine  0.0.1
3D graphics engine
Loading...
Searching...
No Matches
ven::Gui Class Reference

Class for Gui. More...

#include <Gui.hpp>

+ Collaboration diagram for ven::Gui:

Classes

struct  ClockData
 
struct  funcs
 

Public Member Functions

 Gui ()=default
 
 ~Gui ()=default
 
 Gui (const Gui &)=delete
 
Guioperator= (const Gui &)=delete
 
 Gui (Gui &&)=delete
 
Guioperator= (Gui &&)=delete
 
void init (GLFWwindow *window, VkInstance instance, const Device *device, VkRenderPass renderPass)
 
void render (Renderer *renderer, SceneManager &sceneManager, Camera &camera, VkPhysicalDevice physicalDevice, GlobalUbo &ubo, const ClockData &clockData)
 
void setState (const GUI_STATE state)
 
GUI_STATE getState () const
 
std::vector< unsigned int > * getObjectsToRemove ()
 
std::vector< unsigned int > * getLightsToRemove ()
 

Static Public Member Functions

static void cleanup ()
 

Private Member Functions

void objectsSection (SceneManager &sceneManager)
 
void lightsSection (SceneManager &sceneManager)
 

Static Private Member Functions

static void initStyle ()
 
static void renderFrameWindow (const ClockData &clockData)
 
static void cameraSection (Camera &camera)
 
static void inputsSection (const ImGuiIO &io)
 
static void rendererSection (Renderer *renderer, GlobalUbo &ubo)
 
static void devicePropertiesSection (VkPhysicalDeviceProperties deviceProperties)
 

Private Attributes

ImGuiIO * m_io {nullptr}
 
GUI_STATE m_state {HIDDEN}
 
float m_intensity {1.0F}
 
float m_shininess {DEFAULT_SHININESS}
 
std::vector< unsigned int > m_objectsToRemove
 
std::vector< unsigned int > m_lightsToRemove
 

Detailed Description

Class for Gui.

Definition at line 30 of file Gui.hpp.

Constructor & Destructor Documentation

◆ Gui() [1/3]

ven::Gui::Gui ( )
default

◆ ~Gui()

ven::Gui::~Gui ( )
default

◆ Gui() [2/3]

ven::Gui::Gui ( const Gui & )
delete

◆ Gui() [3/3]

ven::Gui::Gui ( Gui && )
delete

Member Function Documentation

◆ cameraSection()

◆ cleanup()

void ven::Gui::cleanup ( )
static

Definition at line 11 of file render.cpp.

Referenced by ven::Engine::~Engine().

+ Here is the caller graph for this function:

◆ devicePropertiesSection()

void ven::Gui::devicePropertiesSection ( VkPhysicalDeviceProperties deviceProperties)
staticprivate

Definition at line 304 of file render.cpp.

◆ getLightsToRemove()

std::vector< unsigned int > * ven::Gui::getLightsToRemove ( )
inlinenodiscard

Definition at line 55 of file Gui.hpp.

References m_lightsToRemove.

◆ getObjectsToRemove()

std::vector< unsigned int > * ven::Gui::getObjectsToRemove ( )
inlinenodiscard

Definition at line 54 of file Gui.hpp.

References m_objectsToRemove.

◆ getState()

GUI_STATE ven::Gui::getState ( ) const
inlinenodiscard

Definition at line 53 of file Gui.hpp.

References m_state.

Referenced by ven::EventManager::handleEvents().

+ Here is the caller graph for this function:

◆ init()

void ven::Gui::init ( GLFWwindow * window,
VkInstance instance,
const Device * device,
VkRenderPass renderPass )

Definition at line 6 of file init.cpp.

References ven::DESCRIPTOR_COUNT, ven::Device::device(), ven::Device::getPhysicalDevice(), ven::Device::graphicsQueue(), initStyle(), and m_io.

Referenced by ven::Engine::Engine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initStyle()

void ven::Gui::initStyle ( )
staticprivate

Definition at line 54 of file init.cpp.

Referenced by init().

+ Here is the caller graph for this function:

◆ inputsSection()

void ven::Gui::inputsSection ( const ImGuiIO & io)
staticprivate

Definition at line 282 of file render.cpp.

◆ lightsSection()

void ven::Gui::lightsSection ( SceneManager & sceneManager)
private

◆ objectsSection()

void ven::Gui::objectsSection ( SceneManager & sceneManager)
private

Definition at line 158 of file render.cpp.

References ven::ObjectFactory::duplicate(), ven::SceneManager::getObjects(), ven::Colors::GRAY_4, and ven::SceneManager::setDestroyState().

+ Here is the call graph for this function:

◆ operator=() [1/2]

Gui & ven::Gui::operator= ( const Gui & )
delete

◆ operator=() [2/2]

Gui & ven::Gui::operator= ( Gui && )
delete

◆ render()

void ven::Gui::render ( Renderer * renderer,
SceneManager & sceneManager,
Camera & camera,
VkPhysicalDevice physicalDevice,
GlobalUbo & ubo,
const ClockData & clockData )

Definition at line 18 of file render.cpp.

References ven::Renderer::getCurrentCommandBuffer().

+ Here is the call graph for this function:

◆ rendererSection()

◆ renderFrameWindow()

void ven::Gui::renderFrameWindow ( const ClockData & clockData)
staticprivate

Definition at line 39 of file render.cpp.

References ven::Gui::ClockData::deltaTimeMS, and ven::Gui::ClockData::fps.

◆ setState()

void ven::Gui::setState ( const GUI_STATE state)
inline

Definition at line 52 of file Gui.hpp.

References m_state.

Referenced by ven::EventManager::handleEvents().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_intensity

float ven::Gui::m_intensity {1.0F}
private

Definition at line 72 of file Gui.hpp.

◆ m_io

ImGuiIO* ven::Gui::m_io {nullptr}
private

Definition at line 70 of file Gui.hpp.

Referenced by init().

◆ m_lightsToRemove

std::vector<unsigned int> ven::Gui::m_lightsToRemove
private

Definition at line 76 of file Gui.hpp.

Referenced by getLightsToRemove().

◆ m_objectsToRemove

std::vector<unsigned int> ven::Gui::m_objectsToRemove
private

Definition at line 75 of file Gui.hpp.

Referenced by getObjectsToRemove().

◆ m_shininess

float ven::Gui::m_shininess {DEFAULT_SHININESS}
private

Definition at line 73 of file Gui.hpp.

◆ m_state

GUI_STATE ven::Gui::m_state {HIDDEN}
private

Definition at line 71 of file Gui.hpp.

Referenced by getState(), and setState().


The documentation for this class was generated from the following files: