Cogs.Core
|
Renders the given text(s) as 3D mesh data. More...
#include <Text3DComponent.h>
Public Member Functions | |
bool | isValid () const |
Determine whether this component is valid enough to be processed by the Text3DSystem. | |
![]() | |
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 () |
Register the type in the type system. | |
![]() | |
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. | |
Renders the given text(s) as 3D mesh data.
Definition at line 49 of file Text3DComponent.h.
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.
|
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.
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().
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().
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().
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 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().
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.
Definition at line 74 of file Text3DComponent.h.
Referenced by registerType().
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().
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().
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.
Definition at line 84 of file Text3DComponent.h.
Referenced by registerType().