Classes
The classes, structs, union and interfaces used by this project are:
| S aabb<T> | Axis-Aligned Bounding Box for spatial culling and collision detection |
| C Application | Class providing the entry point for a helios application |
| C GLFWApplication | An Application implementation for glfw-based environments |
| C Camera | Represents a camera for perspective projection |
| S CameraEntry | |
| S CollisionCandidate | Internal structure holding references to a potential collision candidate |
| S CollisionStruct | Helper-struct representing the properties and interaction state of a collision event between two entities |
| S Colors | Standard color palette providing commonly used colors as vec4f (RGBA) |
| C Command | Abstract base class for encapsulating game actions as executable commands |
| C Aim2DCommand | Command that applies 2D aiming direction to a GameObject |
| C HeadingCommand | Command that updates the heading direction of a GameObject |
| C Move2DCommand | Command that applies 2D directional movement to a GameObject |
| C ShootCommand | Command that triggers a shooting action on a GameObject |
| C CommandBuffer | Queue for deferred execution of game commands |
| C Component | Abstract base class for components attached to GameObjects |
| C AabbColliderComponent | Component that defines an Axis-Aligned Bounding Box (AABB) for physics interactions |
| C Aim2DComponent | Component for handling 2D aiming direction and fire frequency |
| C CollisionComponent | Defines collision layer membership and interaction masks for a GameObject |
| C DirectionComponent | Component that holds a normalized direction vector |
| C HeadingComponent | Component that manages the heading (orientation) of an entity |
| C LevelBoundsBehaviorComponent | Component that defines how an entity reacts to level boundaries |
| C ModelAabbComponent | Component that stores the canonical Axis-Aligned Bounding Box (AABB) of a model |
| C Move2DComponent | Component for 2D physics-based movement |
| C RenderableComponent | Component that holds a shared pointer to a Renderable resource |
| C RotationStateComponent | Component that manages composite rotation from heading and spin rotations |
| C ScaleComponent | Component that defines the physical dimensions (scale) of an entity |
| C SceneNodeComponent | Component that links a GameObject to a SceneNode in the scene graph |
| C ShootComponent | Component for handling projectile shooting with rate limiting |
| C SpinComponent | Component that defines spin properties for an entity |
| C TransformComponent | Component that holds transformation data (position, rotation, scale) |
| C TranslationStateComponent | Component that holds the current translation (position) state |
| C TwinStickInputComponent | Input component for twin-stick gamepad control schemes |
| C Controller | Abstract base class for application controllers |
| C WindowRenderingController | Abstract base controller for handling window related events |
| C BasicWindowRenderingController | Basic implementation of a window rendering controller |
| C DeadzoneStrategy | Abstract strategy interface for normalizing gamepad stick input with deadzone handling |
| C RadialDeadzoneStrategy | Implements a radial (circular) deadzone strategy for analog stick normalization |
| C Dispatcher | A generic event Dispatcher for type-safe event handling |
| C Event | Base class for events in the helios framework |
| C WindowEvent | Abstract base class for Window related events |
| C FrameBufferResizeEvent | Event representing a change in the framebuffer's size |
| C EventManager | An abstract EventManager managing the buffering and dispatching of events, acting as a central hub for event management |
| C BasicEventManager | Basic implementation of the EventManager |
| C EventQueue | Abstract base class defining an interface for an EventQueue |
| C DequeEventQueue | Concrete implementation of an EventQueue that uses a Deque as its underlying queue strategy. Adding and removing events follows a FIFO strategy |
| C FpsMetrics | Aggregates and analyzes frame timing data over a rolling window |
| C FramePacer | Controls and maintains a target frame rate through precise timing and pacing |
| S FrameStats | Contains timing statistics for a single frame |
| C FrustumCullingStrategy | Abstract base class for implementing frustum culling strategies |
| C CullNoneStrategy | A default FrustumCullingStrategy that simply returns all SceneNodes found, e.g. no culling is applied |
| S GameLoopEventBusGroup | Tag type for the game loop event bus index space |
| C GameObject | Base class for interactive game entities using a component-based architecture |
| C GameObjectPool | A reusable object pool for GameObjects |
| C GamepadSettings | Configuration class for gamepad input normalization and axis behavior |
| C GamepadState | A lightweight class for transferring the state of a Gamepad |
| C GameWorld | Central registry for managing game entities, systems, and the active level |
| C GLFWFactory | Factory class for creating pre-configured GLFW-specific application components |
| C GLFWRAIIGuard | A RAII Guard for GLFW |
| S GLFWWindowUserPointer | A structure to hold user defined data associated with a GLFWwindow |
| S GridCell | Represents a single cell in the spatial partitioning grid |
| C Guid | Representative of a Globally Unique Identifier |
| S GuidPairHash | Hash functor for pairs of GUIDs |
| S hash<helios::util::Guid> | |
| C ImGuiBackend | Platform-agnostic interface for ImGui backend implementations |
| C ImGuiGlfwOpenGLBackend | ImGui backend for GLFW windowing and OpenGL 4.6 rendering |
| C ImGuiOverlay | Central manager for ImGui widgets rendered via a specific backend |
| C ImGuiWidget | Abstract base class for ImGui widgets rendered in debug overlays |
| C CameraWidget | Debug widget for real-time camera parameter control and visualization |
| C FpsWidget | Debug widget for real-time FPS metrics and frame pacing configuration |
| C GamepadSettingsWidget | A configuration widget for adjusting gamepad input settings |
| C GamepadWidget | A debug widget to visualize the state of a specific gamepad |
| C LogWidget | Debug widget for displaying log output in a scrollable ImGui panel |
| C MainMenuWidget | Main menu bar providing access to application settings |
| C InputAdapter | Abstract interface for platform-specific input adapters |
| C GLFWInputAdapter | InputAdapter implementation for a GLFWWindow |
| C InputManager | InputManager providing access to various input states |
| C InputSnapshot | Immutable snapshot capturing input state at a specific point in time |
| C Level | Represents a game level containing the scene graph and world boundaries |
| S LogEntry | Represents a single log entry with level, scope, and message |
| C Logger | Logger implementation with configurable output sinks |
| C LogManager | LogManager for managing scoped Loggers and global sink configuration |
| S mat4<T> | Represents a 4x4 matrix, stored in column-major order |
| C Material | Represents a parameterizable material |
| C MaterialProperties | Represents a Value Object for an immutable set of material properties |
| S MaterialPropertiesOverride | Configuration container for overriding specific material properties |
| C Mesh | Representative of a renderable 3D mesh |
| C OpenGLMesh | Representative of an OpenGLMesh. This class manages the OpenGL Vertex Array Object (VAO), the Vertex Buffer Object (VBO) and Element Buffer Object (EBO) handles. The raw mesh data is uploaded to the GPU, preparing it for subsequent rendering commands / draw calls |
| S MeshConfig | Configuration for how a Mesh's data should be interpreted and rendered |
| C OpenGLUniformLocationMap | Manages the mapping between OpenGL uniform semantics and their locations in an underlying OpenGL shader |
| S ProjectileObject | Internal representation of an active projectile |
| C Random | Utility class for generating pseudo-random numbers |
| C ReadBuffer<T> | Read-only buffer for consuming messages in a double-buffered system |
| C ReadWriteDoubleBuffer<T> | Type-safe double-buffered container for messages of type T |
| C Renderable | Representative of a configurable Renderable that references an immutable RenderPrototype and instance specific material property overrides |
| C RenderCommand | DTO for storing rendering-specific command information to be passed to the RenderQueue |
| C RenderingDevice | Abstract interface for a low-level rendering device |
| C OpenGLDevice | OpenGL RenderingDevice representative |
| C RenderPass | Represents a single RenderPass under a set of specific uniform values |
| C RenderPassFactory | A factory class for constructing `RenderPass` objects and populating their `RenderQueue`s based on a `helios::scene::Snapshot` |
| C RenderPrototype | An immutable, shared prototype of a renderable object |
| C RenderQueue | Manages a collection of `RenderCommand` objects for a single rendering pass |
| C RenderTarget | Represents a destination for rendering operations, such as a window's framebuffer |
| C Scene | Represents a hierarchical SceneGraph that organizes all renderable and non-renderable objects within a scene |
| S SceneGraphKey | SceneGraphKey as passkey idiom for accessing `setWorldTransform()`. All friend classes are able to construct the SceneGraphKey for accessing pass key guarded methods like `setWorldTransform` |
| C SceneNode | Represents a SceneNode within a SceneGraph |
| C CameraSceneNode | Represents an adapter for cameras, allowing spatial positioning and transformation within the scene graph |
| C Shader | Abstract representation of a Shader program (e.g. composed of vertex/fragment shader) |
| C OpenGLShader | An OpenGL-specific implementation of a Shader program, consisting of a vertex and a fragment shader |
| S Shape | Struct representing geometric primitives and indices for various shapes. provides immutable, shared access to vertices and indices of the represented geometric shape |
| S Circle | Basic Circle Shape (2D, in XY plane) |
| S Cube | Basic Cube Shape |
| S Ellipse | Basic Ellipse Shape (2D, in XY plane) |
| S Grid | A configurable grid shape for rendering reference lines in 3D space |
| S Line | Basic Line Shape |
| S Rectangle | Basic Rectangle Shape |
| S Triangle | Basic Triangle Shape |
| C Snapshot | Represents an immutable snapshot of a SceneGraph at a given point in time |
| S SnapshotItem | Structure for representing a snapshot item of a renderable's object state at a specific point in time |
| C SolidCollisionEvent | Event representing a physical collision between two solid objects |
| C SpawnCondition | Abstract base class defining when and how many GameObjects should spawn |
| C TimerSpawnCondition | A SpawnCondition that triggers spawning at fixed time intervals |
| C SpawnStrategy | Abstract base class defining how GameObjects are spawned |
| C CallbackSpawnStrategy | A SpawnStrategy that delegates spawning logic to a callback function |
| C Stopwatch | A high-resolution timer based on std::chrono::steady_clock |
| C StringFileReader | Abstract base class for reading file contents into a string |
| C BasicStringFileReader | Basic implementation of a string file reader |
| S TargetedCommand | Internal struct pairing a command with its target GameObject identifier |
| C Transform | Represents a 3D transformation consisting of translation, rotation and scale |
| C TriggerCollisionEvent | Event representing a non-physical collision with a trigger volume |
| C TypeIndexedDoubleBuffer<Indexer> | Central hub for publishing and consuming typed messages |
| C TypeIndexer<Group> | Utility class to generate unique type indices at runtime |
| C UniformValueMap | Manages a collection of values for mapping them to their UniformSemantics identifier |
| C Updatable | Interface for components that require per-frame updates |
| C ShootComponent | Component for handling projectile shooting with rate limiting |
| C System | Abstract base class for game systems |
| C BoundsUpdateSystem | System that updates AABB colliders based on entity transforms |
| C ComposeTransformSystem | System that composes the final TransformComponent from state components |
| C GameObjectSpawnSystem | System responsible for spawning GameObjects into the level |
| C GridCollisionDetectionSystem | Collision detection system using uniform spatial partitioning for Broadphase and AABB overlaps in the Narrowphase |
| C HeadingSystem | System that processes heading and rotation physics |
| C LevelBoundsBehaviorSystem | System that handles entity behavior when colliding with level boundaries |
| C Move2DSystem | System that processes 2D movement for entities |
| C ProjectilePoolSystem | Object pool system for efficient projectile spawning and lifecycle management |
| C ScaleClearSystem | System that clears the dirty state of ScaleComponents at the end of a frame |
| C ScaleSystem | System that applies scaling to entities based on their ScaleComponent |
| C SceneSyncSystem | System that synchronizes TransformComponents with SceneNodes |
| C SpinSystem | System that updates the spin rotation of entities |
| C TransformClearSystem | System that clears the dirty state of TransformComponents at the end of a frame |
| C TwinStickInputComponent | Input component for twin-stick gamepad control schemes |
| S UpdateContext | Context passed to Updatable components during per-frame updates |
| S vec2<T> | Represents a 2-dimensional vector of the generic type <T> |
| S vec3<T> | Represents a 3-dimensional vector of the generic type <T> |
| S vec4<T> | Represents a 4-dimensional vector of the generic type <T> |
| S Vertex | Represents a standard vertex with position, normal, and texture coordinates |
| C Viewport | Represents a rectangular area within a RenderTarget where a scene is rendered |
| S ViewportKey | A passkey used to establish a parent-child relationship between a RenderTarget and a Viewport |
| C Window | Abstract base class representing a generic window |
| C GLFWWindow | An OpenGL focused window implementation using GLFW |
| S WindowConfig | Configuration structure for creating and initializing a Window |
| S GLFWWindowConfig | Configuration structure for a GLFWWindow |
| C WriteBuffer<T> | Write-only buffer for accumulating messages in a double-buffered system |
| C WriteSink | Lightweight handle for pushing messages to a TypeIndexedDoubleBuffer |
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.