34#include <NDEVR/Table.h>
35#include <NDEVR/Pointer.h>
36#include <NDEVR/RandomColorGenerator.h>
40 template<u
int01 t_dims,
class t_type>
164#if NDEVR_SUPPORTS_BONES
233 uint04 primitive_property_mode_column[8] {
236 uint04 primitive_property_offset_column[8]{
239 uint04 primitive_property_size_column[8]{
324 const void* lock_ptr_check =
nullptr;
Logic for reading or writing to a binary file including logic for.
Definition BinaryFile.h:59
A bitset that stores 8 bits (elements with only two possible values: 0 or 1, true or false,...
Definition BitFlag.hpp:55
The equivelent of std::vector but with a bit more control. The basic array unit of the library.
Definition Buffer.hpp:56
The core Color class in the NDEVR API. Colors can be defined in several ways. The ACIColor is compact...
Definition Color.h:41
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Definition GraphicsPipeline.h:42
Provides the underlying data storage for the NDEVR Scene Model heirarchy.
Definition DesignObjectBase.h:150
DynamicPointer< Table > effect_table
Definition DesignObjectBase.h:169
void mapTreesFromFile(BinaryFile &file, uint08 version_number)
const DynamicPointer< RTree< 3, fltp04 > > & getRTree(UUID id)
DynamicPointer< Table > property_table
Definition DesignObjectBase.h:158
void writeMetaDataToColumn() const
DynamicPointer< Table > primitive_index_table
Definition DesignObjectBase.h:160
DynamicPointer< Table > geometry_table
Definition DesignObjectBase.h:163
DynamicPointer< Table > vertex_table
Definition DesignObjectBase.h:159
DesignObjectBase(bool is_app_owned)
RandomColorGenerator m_color_generator
Definition DesignObjectBase.h:320
void mapFromFile(BinaryFile &file, uint08 version_number)
Dictionary< UUID, DynamicPointer< RTree< 3, fltp04 > > > m_r_trees
Definition DesignObjectBase.h:317
void createPropertyTable()
DesignObjectBase(BinaryFile &file, uint08 version_number, DesignObjectBase *application_base=nullptr)
DynamicPointer< Table > model_table
Definition DesignObjectBase.h:161
Buffer< JSONNode, uint04, ObjectAllocator< false > > cached_meta_data
Definition DesignObjectBase.h:170
const RandomColorGenerator & randomColorGenerator() const
Definition DesignObjectBase.h:319
void setRTree(UUID id, const DynamicPointer< RTree< 3, fltp04 > > &tree)
DesignObjectBase *const application_base
Definition DesignObjectBase.h:321
void fetchDataColumns(Buffer< DynamicPointer< TableColumn > > &columns)
DynamicPointer< Table > material_table
Definition DesignObjectBase.h:162
void mapTreeToFile(BinaryFile &file, int mode) const
bool isApplicationOwned() const
const ConstPointer< RTree< 3, fltp04 > > & getRTree(UUID id) const
void mapToFile(BinaryFile &file) const
void removeRTree(UUID id)
DesignObjectBase(DesignObjectBase *application_base)
void readMetaDataFromColumn()
bool hasRTree(UUID id) const
A hash-based key-value store, useful for quick associative lookups. Key features include:
Definition Dictionary.h:61
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
Definition Pointer.hpp:320
Definition GeometryVertices.h:11
Generates random colors based off of some specified settings.
Definition RandomColorGenerator.h:45
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
Definition UUID.h:60
Used to lock a particular variable for writing. Only one write lock can be created when no read locks...
Definition RWLock.h:115
NormalMode
Definition DesignObjectBase.h:105
@ e_vertex_smooth_normals
VertexProperty
Definition DesignObjectBase.h:52
GeometryType
Definition DesignObjectBase.h:86
VertexFlags
Definition DesignObjectBase.h:68
PrimitiveProperty
Definition DesignObjectBase.h:44
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:80
PrimitiveBitFlags
Definition DesignObjectBase.h:78
PrimitiveMode
Used with Geometry to describe how vertices and indices are used to form shapes.
Definition DesignObjectBase.h:116
uint64_t uint08
-Defines an alias representing an 8 byte, unsigned integer
Definition BaseValues.hpp:106
WindingMode
Definition DesignObjectBase.h:97
@ e_counterclockwise_winding
@ e_indeterminate_winding
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
Definition BaseValues.hpp:96
UVType
Channels that describe how an object should interact with light.
Definition DesignObjectBase.h:133
Defines for a given type (such as sint04, fltp08, UUID, etc) a maximum, minimum, and reserved 'invali...
Definition BaseValues.hpp:233