Cogs.Core
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Cogs::Core::BasicTerrainComponent Class Reference
Inheritance diagram for Cogs::Core::BasicTerrainComponent:
Cogs::Core::DynamicComponent Cogs::ComponentModel::Component

Public Member Functions

void initialize (Context *context)
 
void update ()
 
- Public Member Functions inherited from Cogs::ComponentModel::Component
class EntitygetContainer () 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 ComponentgetComponent (const Reflection::Name &name) const
 
COGSFOUNDATION_API ComponentgetComponent (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::TypegetType () 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 Public Member Functions inherited from Cogs::Core::DynamicComponent
static COGSCORE_DLL_API void registerType ()
 Register the type in the type system.
 
template<typename T >
static Reflection::TyperegisterDerivedType ()
 Convenience method for registering the type of a derived component.
 
- Static Public Member Functions inherited from Cogs::ComponentModel::Component
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

BasicTerrainElevationChannel elevationChannel = BasicTerrainElevationChannel::Red
 
TextureHandle elevationMap
 
BasicTerrainTransparencyMode transparencyMode = BasicTerrainTransparencyMode::None
 
TextureHandle colorMap
 
float vibrance = 1.f
 
glm::vec4 diffuseColor = glm::vec4(1, 1, 1, 1)
 
bool noDataEnabled = false
 
float noDataValue = 0.f
 
float elevationBias = 0.f
 
float elevationScale = 1.f
 
float elevationMin = 0.f
 
float elevationMax = 1.f
 
bool elevationMapNormalized = false
 
bool elevationToAlpha = false
 
float elevationToAlphaMin = 0.f
 
float elevationToAlphaMax = 1.f
 
float elevationToAlphaPower = 1.f
 
CullMode cullMode = CullMode::Back
 
bool forceUpdate = false
 
MaterialHandle material
 Stored here as actual update may be delayed until all avalable.
 
VariableKey elevationTransformKey = {}
 
VariableKey elevationTexKey = {}
 
ResourceFlags elevationFlags = ResourceFlags::None
 
VariableKey normalTransformKey = {}
 
VariableKey elevationToAlphaTransformKey = {}
 
VariableKey colorTexKey = {}
 
VariableKey diffuseColorKey = {}
 
VariableKey noDataValueKey = {}
 
VariableKey vibranceKey = {}
 
Contextcontext = nullptr
 
glm::vec4 elevationTransform
 
glm::vec2 normalTransform
 
glm::vec3 elevationToAlphaTransform
 
- Public Attributes inherited from Cogs::Core::DynamicComponent
void * messageCallback = nullptr
 
void * userData = nullptr
 
size_t dynamicTypeInfoIndex = static_cast<size_t>(-1)
 

Detailed Description

Definition at line 37 of file BasicTerrainComponent.h.

Member Function Documentation

◆ initialize()

void Cogs::Core::BasicTerrainComponent::initialize ( Context context)

Definition at line 131 of file BasicTerrainComponent.cpp.

◆ registerType()

void Cogs::Core::BasicTerrainComponent::registerType ( )
static

Definition at line 78 of file BasicTerrainComponent.cpp.

◆ update()

void Cogs::Core::BasicTerrainComponent::update ( )

Definition at line 155 of file BasicTerrainComponent.cpp.

Member Data Documentation

◆ colorMap

TextureHandle Cogs::Core::BasicTerrainComponent::colorMap

Definition at line 54 of file BasicTerrainComponent.h.

◆ colorTexKey

VariableKey Cogs::Core::BasicTerrainComponent::colorTexKey = {}

Definition at line 98 of file BasicTerrainComponent.h.

◆ context

Context* Cogs::Core::BasicTerrainComponent::context = nullptr

Definition at line 103 of file BasicTerrainComponent.h.

◆ cullMode

CullMode Cogs::Core::BasicTerrainComponent::cullMode = CullMode::Back

Definition at line 88 of file BasicTerrainComponent.h.

◆ diffuseColor

glm::vec4 Cogs::Core::BasicTerrainComponent::diffuseColor = glm::vec4(1, 1, 1, 1)

Color to use when no color map has been set.

Definition at line 60 of file BasicTerrainComponent.h.

◆ diffuseColorKey

VariableKey Cogs::Core::BasicTerrainComponent::diffuseColorKey = {}

Definition at line 99 of file BasicTerrainComponent.h.

◆ elevationBias

float Cogs::Core::BasicTerrainComponent::elevationBias = 0.f

Bias to use when elevationMapNormalized is false.

Definition at line 69 of file BasicTerrainComponent.h.

◆ elevationChannel

BasicTerrainElevationChannel Cogs::Core::BasicTerrainComponent::elevationChannel = BasicTerrainElevationChannel::Red

Definition at line 48 of file BasicTerrainComponent.h.

◆ elevationFlags

ResourceFlags Cogs::Core::BasicTerrainComponent::elevationFlags = ResourceFlags::None

Definition at line 95 of file BasicTerrainComponent.h.

◆ elevationMap

TextureHandle Cogs::Core::BasicTerrainComponent::elevationMap

Definition at line 49 of file BasicTerrainComponent.h.

◆ elevationMapNormalized

bool Cogs::Core::BasicTerrainComponent::elevationMapNormalized = false

If true, assume elevationmap values are in [0,1] and stretch to elevationMin/elevationMax

Definition at line 82 of file BasicTerrainComponent.h.

◆ elevationMax

float Cogs::Core::BasicTerrainComponent::elevationMax = 1.f

Maximum elevation for the terrain.

Definition at line 78 of file BasicTerrainComponent.h.

◆ elevationMin

float Cogs::Core::BasicTerrainComponent::elevationMin = 0.f

Minimum elevation for the terrain.

Definition at line 75 of file BasicTerrainComponent.h.

◆ elevationScale

float Cogs::Core::BasicTerrainComponent::elevationScale = 1.f

Scale to use when elevationMapNormalized is false.

Definition at line 72 of file BasicTerrainComponent.h.

◆ elevationTexKey

VariableKey Cogs::Core::BasicTerrainComponent::elevationTexKey = {}

Definition at line 94 of file BasicTerrainComponent.h.

◆ elevationToAlpha

bool Cogs::Core::BasicTerrainComponent::elevationToAlpha = false

Definition at line 84 of file BasicTerrainComponent.h.

◆ elevationToAlphaMax

float Cogs::Core::BasicTerrainComponent::elevationToAlphaMax = 1.f

Definition at line 86 of file BasicTerrainComponent.h.

◆ elevationToAlphaMin

float Cogs::Core::BasicTerrainComponent::elevationToAlphaMin = 0.f

Definition at line 85 of file BasicTerrainComponent.h.

◆ elevationToAlphaPower

float Cogs::Core::BasicTerrainComponent::elevationToAlphaPower = 1.f

Definition at line 87 of file BasicTerrainComponent.h.

◆ elevationToAlphaTransform

glm::vec3 Cogs::Core::BasicTerrainComponent::elevationToAlphaTransform

Definition at line 107 of file BasicTerrainComponent.h.

◆ elevationToAlphaTransformKey

VariableKey Cogs::Core::BasicTerrainComponent::elevationToAlphaTransformKey = {}

Definition at line 97 of file BasicTerrainComponent.h.

◆ elevationTransform

glm::vec4 Cogs::Core::BasicTerrainComponent::elevationTransform

Definition at line 105 of file BasicTerrainComponent.h.

◆ elevationTransformKey

VariableKey Cogs::Core::BasicTerrainComponent::elevationTransformKey = {}

Definition at line 93 of file BasicTerrainComponent.h.

◆ forceUpdate

bool Cogs::Core::BasicTerrainComponent::forceUpdate = false

Definition at line 91 of file BasicTerrainComponent.h.

◆ material

MaterialHandle Cogs::Core::BasicTerrainComponent::material

Stored here as actual update may be delayed until all avalable.

Definition at line 92 of file BasicTerrainComponent.h.

◆ noDataEnabled

bool Cogs::Core::BasicTerrainComponent::noDataEnabled = false

Enable discarding of areas with nodata values.

Definition at line 63 of file BasicTerrainComponent.h.

◆ noDataValue

float Cogs::Core::BasicTerrainComponent::noDataValue = 0.f

No-data value.

Definition at line 66 of file BasicTerrainComponent.h.

◆ noDataValueKey

VariableKey Cogs::Core::BasicTerrainComponent::noDataValueKey = {}

Definition at line 100 of file BasicTerrainComponent.h.

◆ normalTransform

glm::vec2 Cogs::Core::BasicTerrainComponent::normalTransform

Definition at line 106 of file BasicTerrainComponent.h.

◆ normalTransformKey

VariableKey Cogs::Core::BasicTerrainComponent::normalTransformKey = {}

Definition at line 96 of file BasicTerrainComponent.h.

◆ transparencyMode

BasicTerrainTransparencyMode Cogs::Core::BasicTerrainComponent::transparencyMode = BasicTerrainTransparencyMode::None

How and if to handle transparency, see notes on enum.

Definition at line 52 of file BasicTerrainComponent.h.

◆ vibrance

float Cogs::Core::BasicTerrainComponent::vibrance = 1.f

Increase or decrease color saturation.

Definition at line 57 of file BasicTerrainComponent.h.

◆ vibranceKey

VariableKey Cogs::Core::BasicTerrainComponent::vibranceKey = {}

Definition at line 101 of file BasicTerrainComponent.h.


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