Cogs.Core
Public Member Functions | Private Attributes | List of all members
Cogs::Core::MarkerPointSetSystem Class Reference
Inheritance diagram for Cogs::Core::MarkerPointSetSystem:
Cogs::Core::ComponentSystemWithDataPool< MarkerPointSetComponent, MarkerPointSetData > Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes > Cogs::Core::ComponentSystem< ComponentType > Cogs::Core::ComponentSystemBase

Public Member Functions

 MarkerPointSetSystem (Memory::Allocator *allocator, SizeType capacity)
 
void initialize (Context *context) override
 Initialize the system.
 
ComponentHandle createComponent () override
 
void destroyComponent (ComponentHandle componentHandle) override
 
void update (Context *) override
 Provided for custom update logic in derived systems.
 
- Public Member Functions inherited from Cogs::Core::ComponentSystemWithDataPool< MarkerPointSetComponent, MarkerPointSetData >
 ComponentSystemWithDataPool (Memory::Allocator *allocator, SizeType size=1024)
 
MarkerPointSetDatagetData (const MarkerPointSetComponent *component)
 
const MarkerPointSetDatagetData (const MarkerPointSetComponent *component) const
 
- Public Member Functions inherited from Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes >
 ComponentSystemWithDataPools (Memory::Allocator *allocator, SizeType size=1024, MemBlockType componentMemType=MemBlockType::Component, MemBlockType dataMemType=MemBlockType::ComponentData)
 
ComponentHandle createComponent () override
 
void destroyComponent (ComponentHandle component) override
 
template<typename T >
T & getData (const ComponentType *component)
 Get the data stored for the given component from the data pool storing objects of the specified template type.
 
template<typename T >
const T & getData (const ComponentType *component) const
 Get the const data stored for the given component from the data pool storing objects of the specified template type.
 
- Public Member Functions inherited from Cogs::Core::ComponentSystem< ComponentType >
 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 ComponentType *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.
 

Private Attributes

MeshHandle quad
 
MaterialHandle pointMaterial
 
VariableKey diffuseColorKey = NoProperty
 
VariableKey outlineColorKey = NoProperty
 
VariableKey viewPlaneLocalKey = NoProperty
 
VariableKey viewXLocalKey = NoProperty
 
VariableKey viewYLocalKey = NoProperty
 
VariableKey pointSizeKey = NoProperty
 
VariableKey outlineRelativeRadiusSquaredKey = NoProperty
 
VariableKey nearDistanceKey = NoProperty
 
VariableKey farDistanceKey = NoProperty
 
struct {
   glm::vec2   viewportSize = glm::vec2(0.f)
 
   float   dpiScale = 0.f
 
prevCameraState
 
std::unique_ptr< MarkerPointSetPickerpicker
 

Additional Inherited Members

- Public Types inherited from Cogs::Core::ComponentSystem< ComponentType >
typedef ComponentType component_type
 
- Static Public Member Functions inherited from Cogs::Core::ComponentSystem< ComponentType >
static Reflection::TypeId getTypeId ()
 Get the type id of the component type used by the system.
 
- Public Attributes inherited from Cogs::Core::ComponentSystem< ComponentType >
ComponentPool< ComponentType > pool
 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

Definition at line 23 of file MarkerPointSetSystem.h.

Constructor & Destructor Documentation

◆ MarkerPointSetSystem()

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

Definition at line 26 of file MarkerPointSetSystem.h.

Member Function Documentation

◆ createComponent()

ComponentHandle Cogs::Core::MarkerPointSetSystem::createComponent ( )
overridevirtual

Overridden to update data pool contents in lockstep with the component pool. Any subclass overriding this method should call base class first.

Reimplemented from Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes >.

Definition at line 46 of file MarkerPointSetSystem.cpp.

References Cogs::Core::ComponentSystemBase::createComponent(), and Cogs::TriangleStrip.

◆ destroyComponent()

void Cogs::Core::MarkerPointSetSystem::destroyComponent ( ComponentHandle  component)
overridevirtual

Overridden to update data pool contents in lockstep with the component pool. Any subclass overriding this method should also call base class.

Reimplemented from Cogs::Core::ComponentSystemWithDataPools< ComponentType, DataTypes >.

Definition at line 72 of file MarkerPointSetSystem.cpp.

References Cogs::Core::ComponentSystemBase::destroyComponent().

◆ initialize()

void Cogs::Core::MarkerPointSetSystem::initialize ( Context context)
overridevirtual

Initialize the system.

Initialization is performed after all systems are created and a renderer initialized, but before the first time anything is rendered.

Parameters
contextPointer to the context the system lives in.

Reimplemented from Cogs::Core::ComponentSystemBase.

Definition at line 25 of file MarkerPointSetSystem.cpp.

References Cogs::Core::ComponentSystemBase::context, Cogs::Core::ComponentSystemBase::initialize(), and Cogs::Core::ResourceHandle_t< ResourceType >::resolve().

◆ update()

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

Member Data Documentation

◆ diffuseColorKey

VariableKey Cogs::Core::MarkerPointSetSystem::diffuseColorKey = NoProperty
private

Definition at line 38 of file MarkerPointSetSystem.h.

◆ dpiScale

float Cogs::Core::MarkerPointSetSystem::dpiScale = 0.f

Definition at line 50 of file MarkerPointSetSystem.h.

◆ farDistanceKey

VariableKey Cogs::Core::MarkerPointSetSystem::farDistanceKey = NoProperty
private

Definition at line 46 of file MarkerPointSetSystem.h.

◆ nearDistanceKey

VariableKey Cogs::Core::MarkerPointSetSystem::nearDistanceKey = NoProperty
private

Definition at line 45 of file MarkerPointSetSystem.h.

◆ outlineColorKey

VariableKey Cogs::Core::MarkerPointSetSystem::outlineColorKey = NoProperty
private

Definition at line 39 of file MarkerPointSetSystem.h.

◆ outlineRelativeRadiusSquaredKey

VariableKey Cogs::Core::MarkerPointSetSystem::outlineRelativeRadiusSquaredKey = NoProperty
private

Definition at line 44 of file MarkerPointSetSystem.h.

◆ picker

std::unique_ptr<MarkerPointSetPicker> Cogs::Core::MarkerPointSetSystem::picker
private

Definition at line 55 of file MarkerPointSetSystem.h.

◆ pointMaterial

MaterialHandle Cogs::Core::MarkerPointSetSystem::pointMaterial
private

Definition at line 37 of file MarkerPointSetSystem.h.

◆ pointSizeKey

VariableKey Cogs::Core::MarkerPointSetSystem::pointSizeKey = NoProperty
private

Definition at line 43 of file MarkerPointSetSystem.h.

◆ quad

MeshHandle Cogs::Core::MarkerPointSetSystem::quad
private

Definition at line 35 of file MarkerPointSetSystem.h.

◆ viewPlaneLocalKey

VariableKey Cogs::Core::MarkerPointSetSystem::viewPlaneLocalKey = NoProperty
private

Definition at line 40 of file MarkerPointSetSystem.h.

◆ viewportSize

glm::vec2 Cogs::Core::MarkerPointSetSystem::viewportSize = glm::vec2(0.f)

Definition at line 49 of file MarkerPointSetSystem.h.

◆ viewXLocalKey

VariableKey Cogs::Core::MarkerPointSetSystem::viewXLocalKey = NoProperty
private

Definition at line 41 of file MarkerPointSetSystem.h.

◆ viewYLocalKey

VariableKey Cogs::Core::MarkerPointSetSystem::viewYLocalKey = NoProperty
private

Definition at line 42 of file MarkerPointSetSystem.h.


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