44 class GraphicsSession;
58 m_args.lookup = lookup;
62 return m_last_update_time;
64 bool hasManager(
const UUID&
id);
66 void removeManager(
const UUID&
id);
73 m_pipelines.add(pipline);
81 void setIsGrabSetup(
bool grab_setup);
85 RLock _checkout(
const UUID&
id,
bool wait_until_ready);
86 void checkin(
const UUID&
id);
87 bool renderNeedsUpdate()
const;
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:59
Definition GraphicsUpdater.h:104
GraphicsUpdater * m_updater
Definition GraphicsUpdater.h:129
CheckoutLock(const CheckoutLock &checkout)=delete
~CheckoutLock()
Definition GraphicsUpdater.h:119
CheckoutLock(GraphicsUpdater *updater, bool wait_until_ready, UUID id=Constant< UUID >::NaN)
Definition GraphicsUpdater.h:106
UUID m_id
Definition GraphicsUpdater.h:130
RLock m_lock
Definition GraphicsUpdater.h:131
CheckoutLock(CheckoutLock &&checkout)
Definition GraphicsUpdater.h:112
bool isCheckedOut()
Definition GraphicsUpdater.h:124
A core class where all Design Objects including models, materials, and geometries are stored.
Definition DesignObjectLookup.h:65
An object that will be call update, each time the lookup is updated.
Definition DesignObjectUpdateTarget.h:10
A hash-based key-value store, useful for quick associative lookups.
Definition Dictionary.h:59
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:319
Definition Exception.hpp:52
Definition GraphicsPipeline.h:45
Definition GraphicsUpdateArguments.h:40
Definition GraphicsUpdater.h:46
void addPipeline(GraphicsPipeline *pipline)
Definition GraphicsUpdater.h:70
void setExceptionCallback(const std::function< void(const Exception &)> &callback)
Definition GraphicsUpdater.h:80
void checkin(const UUID &id)
Definition GraphicsUpdater.cpp:180
std::function< void(const Exception &)> m_exception_callback
Definition GraphicsUpdater.h:92
bool m_grab_setup
Definition GraphicsUpdater.h:100
GraphicsUpdateArguments m_args
Definition GraphicsUpdater.h:97
Dictionary< UUID, bool > needs_update
Definition GraphicsUpdater.h:94
void setLog(ProgressInfo *log)
Definition GraphicsUpdater.h:52
Buffer< GraphicsPipeline * > m_pipelines
Definition GraphicsUpdater.h:98
DynamicPointer< GraphicsDevice > m_device
Definition GraphicsUpdater.h:91
void setLookup(DesignObjectLookup *lookup)
Definition GraphicsUpdater.h:56
volatile uint04 m_total_checked_out_count
Definition GraphicsUpdater.h:93
std::mutex m_critical_section
Definition GraphicsUpdater.h:99
Time lastUpdateTime() const
Definition GraphicsUpdater.h:60
Time m_last_update_time
Definition GraphicsUpdater.h:96
Dictionary< UUID, Renderer * > m_renderers
Definition GraphicsUpdater.h:95
GraphicsUpdateArguments & args()
Definition GraphicsUpdater.h:76
const DynamicPointer< GraphicsDevice > & device() const
Definition GraphicsUpdater.h:69
A light-weight base class for Log that allows processes to update, without the need for.
Definition ProgressInfo.hpp:48
Used to lock a particular variable for reading. Any number of readers can be created when no write lo...
Definition RWLock.h:91
Represents a timestamp with utilities for manipulation and conversion.
Definition Time.h:54
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:62
Used to lock a particular variable for writing. Only one write lock can be created when no read locks...
Definition RWLock.h:115
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:115
constexpr bool isNaN(const t_type &value)
Query if 'value' is valid or invalid.
Definition BaseFunctions.hpp:195
Definition BaseValues.hpp:267