2#include <NDEVR/String.h>
4#include <NDEVR/Dictionary.h>
void setHandleIndex(const UUID &handle_id, uint04 handle)
Associates a UUID with a handle index.
UUID getHandleUUID(uint04 handle)
Returns the UUID associated with a handle index.
CADHandleManager()
Default constructor.
uint04 m_object_handle_generator
Counter for generating object handles.
Dictionary< uint04, UUID > m_handle_ids
Maps handle indices to UUIDs.
Matrix< fltp08 > transfromCoords(uint04 handle) const
Returns the transformation matrix for the given handle.
void resetAll()
Resets all handles and generators.
Dictionary< String, uint04 > m_named_handles
Maps handle names to indices.
void setHandleToUUID(const UUID &handle_id, uint04 handle)
Associates a handle index with a UUID in the reverse lookup.
Dictionary< uint04, String > m_handle_names
Reverse map from handle indices to names.
void resetTempHandles()
Resets all temporary handles.
bool hasHandleIndex(const UUID &id) const
Checks whether a handle exists for the given UUID.
void setHandleIndex(const StringView &handle_name, uint04 handle)
Associates a name with a handle index.
Dictionary< uint04, Matrix< fltp08 > > m_transform_coords
Transformation matrices keyed by handle.
void setTransfromCoords(uint04 handle, const Matrix< fltp08 > &transform)
Sets the transformation matrix for the given handle.
uint04 m_temp_handle_generator
Counter for generating temporary handles.
UUID getHandleUUID(const StringView &handle_name)
Returns the UUID associated with a named handle.
uint04 generateTempHandleIndex()
Generates a new temporary handle index.
String generateHandle(const uint04 &handle_index)
Generates a hex string representation of a handle index.
uint04 getHandleIndex(const StringView &handle_name)
Gets or creates a handle index for the given name.
uint04 getHandleIndex(UUID id)
Gets or creates a handle index for the given UUID.
bool hasHandleIndex(const StringView &handle_name) const
Checks whether a handle exists for the given name.
Dictionary< UUID, uint04 > m_id_handles
Maps UUIDs to handle indices.
A hash-based key-value store, useful for quick associative lookups.
Templated logic for doing matrix multiplication.
The core String View class for the NDEVR API.
The core String class for the NDEVR API.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
@ transform
A 4x4 transform matrix that maps local coordinates into global space.