Skip to main content

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.