Cogs.Core
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Cogs::Core::Text3DComponent Class Reference

Renders the given text(s) as 3D mesh data. More...

#include <Text3DComponent.h>

Inheritance diagram for Cogs::Core::Text3DComponent:
Cogs::ComponentModel::Component

Public Member Functions

bool isValid () const
 Determine whether this component is valid enough to be processed by the Text3DSystem.
 
- 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 ()
 Register the type in the type system.
 
- 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

std::vector< std::string > texts
 A set of text strings to render.
 
std::vector< glm::vec3 > positions
 Offset positions for each of the strings in texts.
 
std::vector< glm::vec3 > hAxes
 Horizontal axes along which the text will be orientated.
 
std::vector< glm::vec3 > vAxes
 Vertical axes which, with the horizonal axes, defines the plane in which the text will be placed.
 
std::vector< glm::vec4 > colors
 Colors for individual strings in text.
 
std::vector< Alignment > alignments
 Alignment settings for each text string.
 
FontHandle fontHandle = FontHandle::NoHandle
 Handle to the font resource to use when rendering text.
 
glm::vec4 defaultColor = glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)
 Single color value to apply to all text strings.
 
Alignment defaultAlignment = Alignment::TopLeft
 Single alignment to apply to all text strings.
 

Detailed Description

Renders the given text(s) as 3D mesh data.

Definition at line 49 of file Text3DComponent.h.

Member Function Documentation

◆ isValid()

bool Cogs::Core::Text3DComponent::isValid ( ) const

Determine whether this component is valid enough to be processed by the Text3DSystem.

Definition at line 41 of file Text3DComponent.cpp.

◆ registerType()

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

Register the type in the type system.

Definition at line 7 of file Text3DComponent.cpp.

References alignments, colors, defaultAlignment, defaultColor, fontHandle, hAxes, positions, texts, and vAxes.

Member Data Documentation

◆ alignments

std::vector<Alignment> Cogs::Core::Text3DComponent::alignments

Alignment settings for each text string.

These control how the text is located relative to its anchor position.

Definition at line 99 of file Text3DComponent.h.

Referenced by registerType().

◆ colors

std::vector<glm::vec4> Cogs::Core::Text3DComponent::colors

Colors for individual strings in text.

If colors contains the same number of elements as texts, each text string is rendered using the corresponding color. If not, the field color is used.

Definition at line 92 of file Text3DComponent.h.

Referenced by registerType().

◆ defaultAlignment

Alignment Cogs::Core::Text3DComponent::defaultAlignment = Alignment::TopLeft

Single alignment to apply to all text strings.

Definition at line 116 of file Text3DComponent.h.

Referenced by registerType().

◆ defaultColor

glm::vec4 Cogs::Core::Text3DComponent::defaultColor = glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)

Single color value to apply to all text strings.

Definition at line 111 of file Text3DComponent.h.

Referenced by registerType().

◆ fontHandle

FontHandle Cogs::Core::Text3DComponent::fontHandle = FontHandle::NoHandle

Handle to the font resource to use when rendering text.

If the handle is not valid, text rendering will fall back to using the default font.

Definition at line 106 of file Text3DComponent.h.

Referenced by registerType().

◆ hAxes

std::vector<glm::vec3> Cogs::Core::Text3DComponent::hAxes

Horizontal axes along which the text will be orientated.

The length of these axes dictate the horizontal scaling that will be applied to the characters. For example, a unit vector equals text that retains its original proportions relative to the height.

See also
vAxes

Definition at line 74 of file Text3DComponent.h.

Referenced by registerType().

◆ positions

std::vector<glm::vec3> Cogs::Core::Text3DComponent::positions

Offset positions for each of the strings in texts.

Definition at line 64 of file Text3DComponent.h.

Referenced by registerType().

◆ texts

std::vector<std::string> Cogs::Core::Text3DComponent::texts

A set of text strings to render.

All the texts are rendered using the same font.

Definition at line 59 of file Text3DComponent.h.

Referenced by registerType().

◆ vAxes

std::vector<glm::vec3> Cogs::Core::Text3DComponent::vAxes

Vertical axes which, with the horizonal axes, defines the plane in which the text will be placed.

The length of these axes will dictate the height of each text string in world units. For example, a unit vector equals text one unit high in the 3D scene.

See also
hAxes

Definition at line 84 of file Text3DComponent.h.

Referenced by registerType().


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