Cogs.Core
|
Public Member Functions | |
TileResponse * | initTileResponse (const TileRequest *req) |
void | submitTileResponse (TileResponse *res, bool success) |
![]() | |
class Entity * | getContainer () const |
Get the container currently owning this component instance. | |
void | setContainer (class Entity *container) |
Set the container owning this component instance. | |
template<typename ComponentType > | |
ComponentType * | getComponent () const |
COGSFOUNDATION_API Component * | getComponent (const Reflection::Name &name) const |
COGSFOUNDATION_API Component * | getComponent (const Reflection::TypeId &id) const |
template<typename ComponentType > | |
ComponentHandle | getComponentHandle () const |
COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::Name &name) const |
COGSFOUNDATION_API ComponentHandle | getComponentHandle (const Reflection::TypeId &id) const |
void | setActive () |
Sets the component to the ComponentFlags::Active state. | |
bool | isActive () const |
Gets if the component is currently set to the ComponentFlags::Active state. | |
void | setChanged () |
Sets the component to the ComponentFlags::Changed state with carry. | |
void | setChangedTransient () |
Sets the component to the ComponentFlags::Changed state without carry. | |
void | setFieldChanged (const Reflection::FieldId fieldId) |
Sets the component to the ComponentFlags::Changed state without carry. | |
template<typename ClassType , typename FieldType > | |
void | setFieldChanged (FieldType ClassType::*field) |
Sets a flag indicating that the given field has changed. | |
void | setFieldChangedTransient (const Reflection::FieldId fieldId) |
Sets the component to the ComponentFlags::Changed state without carry. | |
bool | hasChanged () const |
bool | hasAnyfieldChanged () const |
Gets if any fields have been changed. | |
bool | hasFieldChanged (const Reflection::FieldId fieldId) const |
Gets if the field with the given id on this component instance has changed. | |
template<typename ClassType , typename FieldType > | |
bool | hasFieldChanged (FieldType ClassType::*field) const |
Gets if the given field has changed. | |
void | resetCarryChanged () |
Reset the CarryChanged flag. Called at start of redraw. See ComponentFlags::CarryChanged. | |
void | resetChanged () |
Resets the changed state of the component, respecting any carry state set. | |
template<typename ClassType , typename FieldType > | |
Reflection::FieldId | getFieldId (FieldType ClassType::*field) const |
Gets field ID of the given field. | |
void | resetFieldsChanged () |
Resets the state of all changed field flags. | |
void | resetFieldChanged (const Reflection::FieldId fieldId) |
Resets the changed state of the given fieldId. | |
template<typename ClassType , typename FieldType > | |
void | resetFieldChanged (FieldType ClassType::*field) |
Resets the changed state of the given field. | |
constexpr void | setFlags (const uint32_t flags) |
Override all flags of the Component, setting the given flags. | |
constexpr void | setFlag (const uint32_t flag) |
Set the given flags. Does not override the currently set flags. | |
constexpr void | unsetFlag (const uint32_t flag) |
Unset the given flag. Does not remove the status of other than the given flags. | |
constexpr bool | isSet (const uint32_t flag) const |
Checks if the given flag is set. Requires exact bit match if test of several bits. | |
constexpr void | setTypeId (const Reflection::TypeId typeId) |
Set the Reflection::TypeId of the component. | |
constexpr Reflection::TypeId | getTypeId () const |
Get the Reflection::TypeId of the component. | |
COGSFOUNDATION_API const Reflection::Type & | getType () const |
Get the full Reflection::Type of the component. | |
constexpr void | setIndex (const ComponentIndex index) |
Set the components pool index. For internal use only. | |
constexpr ComponentIndex | getIndex () const |
Get the components pool index. For internal use only. | |
constexpr void | setGeneration (uint16_t generation) |
Sets the component generation. | |
constexpr uint16_t | getGeneration () const |
Gets the component generation. | |
size_t | hash (size_t hashValue=Cogs::hash()) const |
Calculates a hash of this component's members. | |
Static Public Member Functions | |
static void | registerType () |
![]() | |
static COGSFOUNDATION_API void | registerType () |
Register the Component type in the global type database. | |
static COGSFOUNDATION_API Reflection::TypeId | getComponentTypeId (const StringView &name) |
Get the type id of the component type with the given name. | |
Public Attributes | |
bool | forceWipe = false |
Discard all processed data, but regions persist. | |
float | tolerance = 0.1f |
Requested refinement tolerance, may be somewhat ignored when atlas size is insufficient. | |
glm::vec3 | blockShift = glm::vec3(0.f) |
Object space grid origin, tweak if block boundaries happen at unfortunate places. | |
glm::vec3 | blockExtent = glm::vec3(1.f) |
float | valueMin = 0.f |
| |
float | valueMax = 1.f |
float | turbidity = 100.f |
float | ageScale = 0.1f |
uint32_t | tileSize = 64u |
uint32_t | gpuCacheSize = 5u |
OctSource | source = OctSource::Value |
TextureHandle | transferTexture |
struct { | |
float(* func )(void *data, uint64_t clientData) = nullptr | |
void * data = nullptr | |
} | alphaCallback |
bool | clearAllRegions = false |
If set to true, all current regions are discarded before regionsToAdd is processed. | |
bool | drawDebug = false |
std::vector< Region > | regionsToAdd |
Regions to add this frame. It is OK to add a region multiple times, and this will invalidate regions triggering an update. | |
std::vector< RegionKey > | regionsToRemove |
Set of regions to remove. Blocks with no regions are purged from the oct-tree. | |
std::vector< TileRequest > | tileRequests |
Requests for tiles, populated by OctSystem::update, consumed by provider. | |
struct OctSystem * | system |
Definition at line 69 of file OctComponent.h.
Cogs::Core::Volumetric::TileResponse * Cogs::Core::Volumetric::OctComponent::initTileResponse | ( | const TileRequest * | req | ) |
Definition at line 35 of file OctComponent.cpp.
|
static |
Definition at line 7 of file OctComponent.cpp.
void Cogs::Core::Volumetric::OctComponent::submitTileResponse | ( | TileResponse * | res, |
bool | success | ||
) |
Definition at line 85 of file OctComponent.cpp.
float Cogs::Core::Volumetric::OctComponent::ageScale = 0.1f |
Definition at line 80 of file OctComponent.h.
glm::vec3 Cogs::Core::Volumetric::OctComponent::blockExtent = glm::vec3(1.f) |
Definition at line 74 of file OctComponent.h.
glm::vec3 Cogs::Core::Volumetric::OctComponent::blockShift = glm::vec3(0.f) |
Object space grid origin, tweak if block boundaries happen at unfortunate places.
Definition at line 73 of file OctComponent.h.
Referenced by Cogs::Core::Volumetric::OctSystem::update().
bool Cogs::Core::Volumetric::OctComponent::clearAllRegions = false |
If set to true, all current regions are discarded before regionsToAdd is processed.
Definition at line 95 of file OctComponent.h.
Referenced by Cogs::Core::Volumetric::OctDummyProviderSystem::preUpdate(), and Cogs::Core::Volumetric::OctSystem::update().
void* Cogs::Core::Volumetric::OctComponent::data = nullptr |
Definition at line 91 of file OctComponent.h.
bool Cogs::Core::Volumetric::OctComponent::drawDebug = false |
Definition at line 97 of file OctComponent.h.
bool Cogs::Core::Volumetric::OctComponent::forceWipe = false |
Discard all processed data, but regions persist.
Definition at line 71 of file OctComponent.h.
Referenced by Cogs::Core::Volumetric::OctSystem::update().
float(* Cogs::Core::Volumetric::OctComponent::func) (void *data, uint64_t clientData) = nullptr |
Definition at line 90 of file OctComponent.h.
uint32_t Cogs::Core::Volumetric::OctComponent::gpuCacheSize = 5u |
Definition at line 83 of file OctComponent.h.
std::vector<Region> Cogs::Core::Volumetric::OctComponent::regionsToAdd |
Regions to add this frame. It is OK to add a region multiple times, and this will invalidate regions triggering an update.
Definition at line 100 of file OctComponent.h.
Referenced by Cogs::Core::Volumetric::OctSystem::update().
std::vector<RegionKey> Cogs::Core::Volumetric::OctComponent::regionsToRemove |
Set of regions to remove. Blocks with no regions are purged from the oct-tree.
Definition at line 103 of file OctComponent.h.
OctSource Cogs::Core::Volumetric::OctComponent::source = OctSource::Value |
Definition at line 85 of file OctComponent.h.
struct OctSystem* Cogs::Core::Volumetric::OctComponent::system |
Definition at line 113 of file OctComponent.h.
std::vector<TileRequest> Cogs::Core::Volumetric::OctComponent::tileRequests |
Requests for tiles, populated by OctSystem::update, consumed by provider.
Definition at line 106 of file OctComponent.h.
Referenced by Cogs::Core::Volumetric::OctSystem::update().
uint32_t Cogs::Core::Volumetric::OctComponent::tileSize = 64u |
Definition at line 82 of file OctComponent.h.
float Cogs::Core::Volumetric::OctComponent::tolerance = 0.1f |
Requested refinement tolerance, may be somewhat ignored when atlas size is insufficient.
Definition at line 72 of file OctComponent.h.
TextureHandle Cogs::Core::Volumetric::OctComponent::transferTexture |
Definition at line 87 of file OctComponent.h.
float Cogs::Core::Volumetric::OctComponent::turbidity = 100.f |
Definition at line 79 of file OctComponent.h.
float Cogs::Core::Volumetric::OctComponent::valueMax = 1.f |
Definition at line 78 of file OctComponent.h.
float Cogs::Core::Volumetric::OctComponent::valueMin = 0.f |
Definition at line 77 of file OctComponent.h.
Referenced by Cogs::Core::EchoSounder::OctProviderSystem::preUpdate().