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

The 3D text system handles Text3DComponents. More...

#include <Text3DSystem.h>

Inheritance diagram for Cogs::Core::Text3DSystem:
Cogs::Core::ComponentSystem< Text3DComponent > Cogs::Core::ComponentSystemBase

Public Member Functions

 Text3DSystem (Memory::Allocator *allocator, SizeType capacity)
 
virtual void update (Context *context) override
 Provided for custom update logic in derived systems.
 
- Public Member Functions inherited from Cogs::Core::ComponentSystem< Text3DComponent >
 ComponentSystem (Memory::Allocator *allocator, SizeType size=16384, MemBlockType componentMemType=MemBlockType::Component)
 
void instrumentedPreUpdate () override
 Provided for tagged engine instrumentation.
 
void instrumentedUpdate () override
 Provided for tagged engine instrumentation.
 
void instrumentedPostUpdate () override
 Provided for tagged engine instrumentation.
 
ComponentHandle createComponent () override
 Create a new component instance.
 
void destroyComponent (ComponentHandle component) override
 Destroy the component held by the given handle.
 
SizeType getComponentIndex (const Component *component) const
 Get the index of the given component in the component pool.
 
size_t size ()
 Returns the number of active components.
 
void clearCarryFlags ()
 Clear carry flags of all active components.
 
void resetFlags ()
 Reset the flags of all active components.
 
void prepareUpdate (Context *) override
 
void postUpdate (Context *) override
 
ComponentHandle getHandle (const Text3DComponent *component)
 Get a handle to the given Component instance.
 
virtual void addEntitiesWithComponent (std::vector< EntityId > &entities, Reflection::TypeId componentTypeId) override
 Return all entities with a given.
 
- Public Member Functions inherited from Cogs::Core::ComponentSystemBase
virtual ~ComponentSystemBase ()
 Provided for destruction via pointer to base.
 
 ComponentSystemBase (Reflection::TypeId componentType)
 Constructs a ComponentSystemBase to manage components of the given componentType.
 
virtual void initialize (Context *context)
 Initialize the system.
 
void preUpdate ()
 Run the pre-update method of the system.
 
void update ()
 Updates the system state to that of the current frame.
 
void postUpdate ()
 Perform post update logic in the system.
 
virtual void preUpdate (Context *)
 Provided for custom pre update logic in derived systems.
 
virtual void prepareUpdate (Context *)
 Provided for custom update preparation logic in derived systems.
 
virtual void update (Context *)
 Provided for custom update logic in derived systems.
 
virtual void postUpdate (Context *)
 Provided for custom post update logic in derived systems.
 
virtual void instrumentedPreUpdate ()
 Provided for tagged engine instrumentation.
 
virtual void instrumentedUpdate ()
 Provided for tagged engine instrumentation.
 
virtual void instrumentedPostUpdate ()
 Provided for tagged engine instrumentation.
 
virtual void addEntitiesWithComponent (std::vector< EntityId > &, Reflection::TypeId)
 Return all entities with a given.
 
virtual void cleanup (Context *)
 Provided for custom cleanup logic in derived systems.
 
virtual ComponentHandle createComponent ()
 Create a new component instance.
 
virtual void destroyComponent (ComponentHandle)
 Destroy the component held by the given handle.
 
Reflection::TypeId getComponentType () const
 Get the reflected type of the components managed by this system.
 

Static Private Member Functions

static float calcTextWidth (const FontManager *fontManager, const Font &font, const std::string &text)
 
static void generateText (std::vector< glm::vec3 > &vertices, std::vector< glm::vec2 > &uvs, const FontManager *fontManager, const Font &font, const std::string &text, glm::vec3 position, glm::vec3 hAxis, glm::vec3 vAxis, Alignment alignment)
 

Private Attributes

MaterialHandle textMaterial
 

Additional Inherited Members

- Public Types inherited from Cogs::Core::ComponentSystem< Text3DComponent >
typedef Text3DComponent component_type
 
- Static Public Member Functions inherited from Cogs::Core::ComponentSystem< Text3DComponent >
static Reflection::TypeId getTypeId ()
 Get the type id of the component type used by the system.
 
- Public Attributes inherited from Cogs::Core::ComponentSystem< Text3DComponent >
ComponentPool< Text3DComponentpool
 Pool of components managed by the system.
 
- Public Attributes inherited from Cogs::Core::ComponentSystemBase
Reflection::TypeId componentType
 The type of components managed by this instance.
 
Contextcontext = nullptr
 Pointer to the Context instance the system lives in.
 

Detailed Description

The 3D text system handles Text3DComponents.

Definition at line 15 of file Text3DSystem.h.

Constructor & Destructor Documentation

◆ Text3DSystem()

Cogs::Core::Text3DSystem::Text3DSystem ( Memory::Allocator allocator,
SizeType  capacity 
)
inline

Definition at line 18 of file Text3DSystem.h.

Member Function Documentation

◆ calcTextWidth()

float Cogs::Core::Text3DSystem::calcTextWidth ( const FontManager fontManager,
const Font font,
const std::string &  text 
)
staticprivate

Definition at line 111 of file Text3DSystem.cpp.

◆ generateText()

void Cogs::Core::Text3DSystem::generateText ( std::vector< glm::vec3 > &  vertices,
std::vector< glm::vec2 > &  uvs,
const FontManager fontManager,
const Font font,
const std::string &  text,
glm::vec3  position,
glm::vec3  hAxis,
glm::vec3  vAxis,
Alignment  alignment 
)
staticprivate

Definition at line 125 of file Text3DSystem.cpp.

◆ update()

void Cogs::Core::Text3DSystem::update ( Context )
overridevirtual

Member Data Documentation

◆ textMaterial

MaterialHandle Cogs::Core::Text3DSystem::textMaterial
private

Definition at line 23 of file Text3DSystem.h.


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