Classes
-
namespace cubos Cubos libraries namespace.
-
namespace core Core namespace.
-
namespace al Audio module.
-
namespace impl Namespace to store the abstract types implemented by the audio device implementations.
- class AudioDevice Audio device interface used to wrap low-level audio rendering APIs.
- class Buffer Abstract audio buffer.
- class Source Abstract audio source.
- class AudioContext Audio context that contains audio devices;.
- class MiniaudioContext Audio device implementation using miniaudio.
-
namespace impl Namespace to store the abstract types implemented by the audio device implementations.
-
namespace data Data module.
- class Archive Interface for a bridge between the Cubos virtual file system and the real world.
- class BinaryDeserializer Implementation of the abstract Deserializer class meant to deserialize data written by a BinarySerializer.
- class BinarySerializer Implementation of the abstract Serializer class meant to serialize data in a non-readable but fast and compact way.
- class DebugSerializer Serializer implementation which prints the given data to a stream in a human-readable format not meant to be parsed.
- class Deserializer Base class for deserializers, which defines the interface for deserializing arbitrary data using its reflection metadata.
-
class EmbeddedArchive Archive implementation which reads data embedded in the application. Meant to be used with the
quadrados embed
tool. - class File final Represents a file in the virtual file system of the engine.
- class FileStream final Wrapper around an implementation-specific file stream which keeps the file alive and does some sanity checks.
- class FileSystem final Singleton which represents the virtual file system of the engine.
- class JSONDeserializer Deserializer implementation which allows reading data from a JSON object.
- class JSONSerializer Implementation of the abstract Serializer class for serializing to JSON.
- class Serializer Base class for serializers, which defines the interface for serializing arbitrary data using its reflection metadata.
-
class StandardArchive Archive implementation which reads and writes from/into the OS file system using the standard library.
- struct FileInfo Information about a file in the directory.
-
namespace ecs ECS module.
- namespace impl Contains functions used internally by the implementation of the ECS.
-
class ArchetypeGraph Stores which column types each archetype holds and the edges which connect them.
- struct Node Represents an archetype in the graph.
- struct ArchetypeId Identifies an archetype.
- struct ArchetypeIdHash Hash functor for ArchetypeId.
- struct Arguments Resource which stores the command-line arguments.
- class Blueprint final Collection of entities and their respective components and relations.
- struct ColumnId Identifies a data column type.
- struct ColumnIdHash Used to hash ColumnId objects.
- class CommandBuffer final Stores commands to execute them later.
- class Commands final System argument used to write ECS commands and execute them at a later time.
- struct ConditionId Identifies a condition.
-
class Cubos final Represents the engine itself, and exposes the interface with which the game developer interacts with. Ties up all the different parts of the engine together.
- struct Debug Stores debugging-related state.
- struct PluginInfo Stores information regarding a plugin.
- struct TagInfo Stores information regarding a tag.
- struct DataTypeId Identifies a data type registered in the world.
- struct DataTypeIdHash Hash functor for DataTypeId.
- struct DeltaTime Resource which stores the time since the last iteration of the main loop started.
- class DenseTable final Stores the dense data associated to entities of a given archetype.
- class DenseTableRegistry final Stores the dense tables of a given world.
- class DynamicPlugin Manages the loading and unloading of a plugin from a shared library.
- struct Entity Identifies an entity.
- struct EntityHash Used to hash Entity objects.
-
class EntityPool final Manages the creation and destruction of entity identifiers, as well as storing their archetype identifiers.
- struct Entry Contains the state of an entity.
- struct EphemeralTrait Trait used to identify types which are ephemeral and should not be persisted.
-
class EventPipe Resource which stores events of type
T
.- struct Event Stores an event, its mask and its read count.
-
class EventReader System arguments used to read events of type
T
.- class Iterator Used to iterate over events received by a reader.
- class EventWriter System argument which allows the system to send events of type
T
to other systems. - struct Name Component which stores the name of an entity.
- struct ObserverId Identifies an observer.
- class Observers Stores and manages all of the observers associated with a world.
- class Planner Layer on top of Schedule, used to build them with added abstractions such as tags.
- struct PluginQueue final Stores plugin operations to be executed later.
- class Plugins final System argument used to add or remove Cubos plugins at runtime.
- class Query System argument which holds the result of a query over all entities in world which match the given arguments.
- class QueryArchetypeNode final Node which forces a given target to belong to a set of archetypes.
- class QueryData Holds the data necessary to execute a query.
- class QueryFetcher Type meant to be specialized which implements for each argument type the necessary logic to extract it from the tables.
-
class QueryFilter Used to find matches for the given query terms. Essentially contains the non-templated part of the query logic.
- struct Match Output structure of the iterator.
- class QueryNode Query filter step, which receives an iterator and advances it until it points to a valid match.
-
class QueryRelatedNode final Node which forces two given targets to be related with a given relation.
- struct ReverseEntry Entry in the reverse table cache.
- struct QueryTerm Describes a term in a query.
- class Schedule Stores schedule nodes and the restrictions that must be met for them to run.
- struct ShouldQuit Resource used as a flag to indicate whether the main loop should stop running.
- class SparseRelationTable final A table which stores relations. Allows for quick insertion, deletion and iteration.
- struct SparseRelationTableId Identifies a sparse relation table.
- struct SparseRelationTableIdHash Hash functor for SparseRelationTableId.
-
class SparseRelationTableRegistry Stores all of the sparse relation tables.
- class TypeIndex Stores the ids of tables of a given type.
- struct SymmetricTrait Trait used to identify symmetric relations.
-
class System Holds a system with a return type
T
.- class SystemFunction Specific class for the stored system function type with specific arguments.
- struct SystemTraits Used to get a SystemFunction from any functional type.
- struct SystemAccess Describes the types of data a system accesses.
- struct SystemContext Context passed by the system caller to the fetchers.
- class SystemFetcher Type meant to be specialized which implements for each argument type the necessary logic to extract it from the world.
- struct SystemId Identifies a system.
- struct SystemOptions Contains extra options for a specific system argument.
- class SystemRegistry Stores known systems and conditions.
- class Tables final Stores the tables of a given world.
- class Tag Represents a tag to be used with the Cubos class.
- struct TreeTrait Trait used to identify tree relations.
- class TypeBuilder Builder for reflection::
Type objects which represent ECS types. -
class Types final Registry of all data types used in an ECS world.
- struct Entry Describes a data type.
- class World Holds entities, their components and resources.
-
namespace geom Geometry module.
- struct AABB Represents an axis-aligned bounding box.
- struct Box Represents a box shape.
- struct Capsule Represents a capsule or sphere shape.
- struct Intersection Contains info regarding an intersection between shapes.
- struct Plane Represents a plane. Assumes equation: normal.x + normal.y + normal.z + d = 0.
-
namespace gl Graphics module.
-
namespace impl Namespace to store the abstract types implemented by the render device implementations.
- class BlendState Abstract blend state.
- class ConstantBuffer Abstract constant buffer.
- class CubeMap Abstract cube map.
- class CubeMapArray Abstract cube map.
- class DepthStencilState Abstract depth stencil state.
- class Framebuffer Abstract framebuffer.
- class IndexBuffer Abstract index buffer.
- class PipelinedTimer Pipelined timer.
- class PixelPackBuffer Abstract pixel pack buffer.
- class RasterState Abstract rasterizer state.
- class Sampler Abstract sampler.
- class ShaderBindingPoint Abstract shader binding point.
- class ShaderPipeline Abstract shader pipeline.
- class ShaderStage Abstract shader stage.
- class Texture1D Abstract 1D texture.
- class Texture2D Abstract 2D texture.
- class Texture2DArray Abstract 2D texture array.
- class Texture3D Abstract 3D texture.
- class Timer Abstract timer.
- class VertexArray Abstract vertex array.
- class VertexBuffer Abstract vertex buffer.
- struct BlendStateDesc Describes a blend state.
- struct ConstantBufferElement Describes an element in a constant buffer.
- struct ConstantBufferStructure Describes the structure of a constant buffer.
- struct CubeMapArrayDesc Describes a cube map array.
- struct CubeMapDesc Describes a cube map.
- struct DepthStencilStateDesc Describes a depth stencil state.
-
struct FramebufferDesc Describes a framebuffer.
- struct CubeMapArrayTarget Describes a cube map array target.
- struct CubeMapTarget Describes a cube map target.
- struct FramebufferTarget Describes a framebuffer target.
- struct Texture2DArrayTarget Describes a 2D texture array target.
- struct Texture2DTarget Describes a 2D texture target.
- struct RasterStateDesc Decribes a rasterizer state.
- class RenderDevice Interface used to wrap low-level rendering APIs such as OpenGL.
- struct SamplerDesc Describes a sampler.
- struct Texture1DDesc Describes a 1D texture.
- struct Texture2DArrayDesc Describes a 2D texture array.
- struct Texture2DDesc Describes a 2D texture.
- struct Texture3DDesc Describes a 3D texture.
- struct VertexArrayDesc Describes a vertex array.
- struct VertexElement Describes a vertex element.
-
namespace impl Namespace to store the abstract types implemented by the render device implementations.
-
namespace io Input and output module.
- class BaseWindow Interface used to wrap low-level window API implementations.
- class Cursor Handle for a custom mouse cursor.
- struct GamepadConnectionEvent Event sent when a gamepad is connected or disconnected.
- struct GamepadState Holds the state of a gamepad.
- struct KeyEvent Event sent when a key is pressed or released.
- struct ModifiersEvent Event sent when the modifiers change.
- struct MouseButtonEvent Event sent when a mouse button state changes.
- struct MouseMoveEvent Event sent when the mouse cursor moves.
- struct MouseScrollEvent Event sent when the mouse wheel is scrolled.
- struct ResizeEvent Event sent when the window framebuffer is resized.
- struct TextEvent Event sent when a unicode character is input.
-
namespace memory Memory module.
- class AnyValue final Stores a blob of a given reflected type.
- class AnyVector final Stores a dynamically sized array of blobs of a given reflected type.
- class BufferStream Stream implementation which writes to/reads from a buffer.
- class Function final Generic function pointer which can also store capturing lambda functions.
- struct IsLValueReference Used to check if a type is an rvalue reference.
- class Opt Wrapper for reference types to indicate that the given argument type is optional.
- class ReadGuard Provides safe read-only access to an object using a lock.
- struct RemoveReference Provides a type which is the same as the given type, but without any references.
- class StandardStream Stream implementation which wraps a
libc
file pointer. - class Stream Interface class for memory streams. Abstracts away sources or destinations of data.
- class TypeMap A map that stores values of type
V
, using reflection types as keys. - class UnorderedBimap final A bidirectional hash table.
- class WriteGuard Provides safe read-write access to an object using a lock.
-
namespace reflection Reflection module.
- class ArrayTrait final Exposes array-like functionality of a type.
-
class ConstructibleTrait Describes how a reflected type may be constructed and destructed.
- class Builder Builder for ConstructibleTrait.
-
class DictionaryTrait final Exposes dictionary-like functionality of a type.
- struct Entry Output structure for the iterator.
- class EnumTrait Provides enumeration functionality to an enumerated type.
-
class FieldsTrait Describes the fields of a reflected type.
- class AddressOfImpl Implementation of AddressOf for a pointer to member.
- struct Output Output structure for the iterator.
- class InheritsTrait Provides inheritance relationship between types.
- class MaskTrait Provides mask functionality to an enum mask type.
- class NullableTrait Used to manipulate values of null-representable types.
- struct Reflect Defines the reflection function for the given type
T
. - class StringConversionTrait Stores functions for converting a type to and from a string.
-
class Type final Describes a reflected type.
- struct Trait Trait entry in the type.
- class TypeClient final Manages the client-side of a reflection channel on top of a stream.
- class TypeRegistry final Stores a set of types which can be accessed by name.
- class TypeServer final Used to setup a TypeChannel on top of a stream, from the server side.
-
namespace thread Threading module.
- class Process final Provides a cross-platform way to spawn child processes.
-
class Task final Provides a mechanism to access the results of asynchronous operations.
- struct Data Tracks the eventual result of the task, and is used to deliver it.
- class ThreadPool final Manages a pool of threads, to which tasks can be submitted.
-
namespace al Audio module.
-
namespace engine Engine module.
- struct AccumulatedCorrection Component which holds the corrections accumulated from the constraints solving.
- struct AngularImpulse Component which holds angular impulses applied on a body.
- struct AngularVelocity Component which holds angular velocity of a body.
- class AnyAsset Handle to an asset of any type. May either be weak or strong. Weak handles do not guarantee the asset is loaded, while strong handles do.
- class Asset Handle to an asset of a specific type.
- class AssetBridge Bridges are the objects responsible for loading and saving assets from/to disk. They form the bridge between the asset manager and the virtual file system.
-
class AssetMeta final Stores metadata about an asset - the data stored in .meta files. Each asset has a corresponding meta object, which contains load or import parameters.
- struct Exclude Used as context to exclude parameters from being serialized.
- class Assets final Resource which manages all assets. Responsible for loading and unloading assets, storing them in memory, and providing access to them.
- struct Audio Asset containing raw Audio data.
- class AudioBridge Bridge which loads and saves Audio assets.
- struct Bloom Component which stores the Bloom state for a render target.
- struct BoxCollisionShape Component which adds a box collision shape to an entity, used with a Collider component.
- struct Camera Generic component to hold the projection matrix of a specific camera (either perspective or orthogonal).
- struct CapsuleCollisionShape Component which adds a capsule collision shape to an entity, used with a Collider component.
- struct CenterOfMass Component which defines the center of mass of a body.
- struct ChildOf Tree relation which indicates the 'from' entity is a child of the 'to' entity.
- struct Collider Component which adds a collider to an entity.
- struct CollidingWith Relation which represents a collision.
- struct ContactManifold Represents a contact interface between two bodies.
- struct ContactPointData Contains info regarding a contact point of a @ContactManifold.
- struct Damping Resource which holds the damping value for integration.
- class DataInspector final Resource which allows the user to inspect or modify any reflectable value on the UI.
- struct DeferredShading Component which stores the Deferred Shading state for a render target.
- struct DirectionalLight Component which makes an entity behave like a directional light.
- struct DirectionalShadowCaster Component which enables shadow casting on a directional light.
- struct DrawsTo Relation which indicates the 'from' entity is a camera that draws to the 'to' target.
- class FileBridge Abstract bridge type defined to reduce boilerplate code in bridge implementations which open a single file to load and save assets.
- struct FixedDeltaTime Resource which holds the value of the fixed delta for the fixedStep plugin.
- struct Force Component which holds forces applied on a particle.
- struct FreeCameraController Component which moves the camera.
- struct GBuffer Component which stores the GBuffer textures of a render target.
- struct GBufferRasterizer Component which stores the GBuffer rasterizer state.
-
class Gizmos final Resource which queues commands for drawing gizmos, basic primitives useful for debugging and tools.
- class Gizmo Class that describes a type of gizmo.
- struct GizmosTarget Component used to indicate that Gizmos should be rendered to a given RenderTarget.
- struct Gravity Resource which holds the global value of gravity.
- struct HDR Component which stores the HDR texture of a render target.
- struct Image Asset containing raw Image data.
- class ImageBridge Bridge which loads and saves Image assets.
- struct ImGuiTarget Component used to indicate that the ImGui frame should be rendered to a given RenderTarget.
- struct Impulse Component which holds impulses applied on a particle.
- struct Inertia Component which defines the inertia of a body.
- class Input final Resource which stores the input bindings for multiple players.
- class InputAction final Stores the state of a single input action, such as "jump" or "attack".
- class InputAxis final Stores the state of a single input axis, such as "move forward" or "move right".
- class InputBindings final Stores the input bindings for a single player.
- class InputCombination final Stores the keys, gamepad buttons, and mouse buttons of a single input combination.
- class JSONBridge Bridge for loading and saving assets which are serialized to and from a JSON file.
- struct LoadRenderVoxels Component used to indicate that a voxel grid should be sent to the GPU.
- struct LocalToParent Component which stores the transformation matrix of an entity, from local to parent space.
- struct LocalToWorld Component which stores the transformation matrix of an entity, from local to world space.
- struct Mass Component which defines the mass of a particle.
- struct OrthographicCamera Component which defines parameters of a orthographic camera used to render the world.
- struct PerspectiveCamera Component which defines parameters of a perspective camera used to render the world.
- struct PhysicsBundle Component which encapsulates the creation all components required for physics.
- struct PhysicsMaterial Component which defines the friction and bounciness of a body.
- struct PointLight Component which makes an entity behave like a point light.
- struct PointShadowCaster Component which enables shadow casting on a point light.
- struct Position Component which assigns a position to an entity.
- class Raycast System argument which allows performing raycast queries among all entities with colliders.
- struct RenderDepth Component which stores the depth texture of a render target.
- struct RenderEnvironment Resource which stores the scene's ambient light and sky colors.
- struct RenderMesh Component used to draw meshes stored in the vertex pool.
-
class RenderMeshPool Used to allocate render meshes, which can then be rendered using a single draw call.
- struct BucketId Identifies a bucket in the pool.
- struct RenderMeshVertex Vertex data type stored in the RenderMeshPool's vertex buffer.
- struct RenderPalette Resource which identifies the currently active palette of the scene.
- struct RenderPicker Component which provides a texture to store entity/gizmo ids, for selection with a mouse.
- struct RenderTarget Component which represents a render target.
- struct RenderTargetDefaults Component which replaces itself by the default render target components to an entity.
- struct RenderVoxelGrid Component used to draw voxel grids.
- struct Rotation Component which assigns a rotation to an entity.
- struct Scale Component which assigns a uniform scale to an entity.
- struct Scene Asset equivalent to ECS blueprints - a bundle of entities and their components.
- class SceneBridge Bridge which loads and saves Scene assets.
- struct Selection Resource which identifies the current selection.
- class Settings final Stores settings as key-value pairs and provides methods to retrieve them.
- class Shader final Contains a shader stage created from GLSL code.
- class ShaderBridge Bridge for loading shader assets.
- class ShadowAtlas Resource which stores the shadow map atlas, a large texture that holds the shadow maps for each shadow caster in a quadtree structure, reducing texture switching.
- struct ShadowAtlasRasterizer Resource which stores the ShadowAtlas rasterizer state.
- struct ShadowCaster Struct which contains the settings common to all shadow casters.
- struct SplitScreen Component which enables splitscreen in a render target.
- struct SpotLight Component which makes an entity emit a spot light in the direction of its local forward vector.
- struct SpotShadowCaster Component which enables shadow casting on a spot light.
- struct SSAO Component which stores the SSAO textures for a render target.
- struct ToneMapping Component which stores Tone Mapping configuration for a render target.
- class Toolbox final Manages the visibility of each tool.
- struct Torque Component which holds torque applied on a body.
- struct UICanvas Component which represents a target for UI rendering.
- struct UIColorRect Component that draws a UI element as a solid color.
-
class UIDrawList final Holds a collections of draw commands and their data.
- struct Command Describes a UI draw instruction.
- struct Entry Describes a draw commands and how it fits into the draw list carrying it.
- class EntryBuilder Builds an Entry.
- struct Type Describes a UI draw call type.
- struct UIElement Component which defines the space an element of the UI occupies as a rect.
- struct UIExpand Component which makes a UI canvas scale to maintain proportions, choosing the dimension which reduces the element sizes on screen.
- struct UIHorizontalStretch Component which makes a UI element fit horizontally to its parent.
- struct UIImage Component used to draw images on the UI.
- struct UIKeepPixelSize Component which makes a UI canvas scale to keep its elements at the same pixel size.
- struct UIMatchHeight Component which makes a UI canvas scale to maintain vertical proportions.
- struct UIMatchWidth Component which makes a UI canvas scale to maintain horizontal proportions.
- struct UINativeAspectRatio Component which makes a UI element keep the aspect ratio of its source.
- struct UIVerticalStretch Component which makes a UI element fit vertically to its parent.
- struct Velocity Component which holds velocity and forces applied on a particle.
-
class VoxelCollisionShape Component which adds a collision shape corresponding to a given voxel grid to an entity, used with a Collider component.
- struct BoxShiftPair Struct which holds a sub-box of the voxel collision shape, and its shift from the center of the shape.
- class VoxelGrid final Represents a voxel object using a 3D grid.
- class VoxelGridBridge Bridge which loads and saves Grid assets.
- struct VoxelMaterial Describes a voxel material.
- class VoxelModel final Holds the data loaded from voxel model files, such as Qubicle models.
- class VoxelModelBridge Bridge which loads and saves VoxelModel assets.
-
class VoxelPalette final Holds a palette of materials. Supports up to 65535 materials.
- class Iterator Used to iterate over materials on the palette.
- class VoxelPaletteBridge Bridge which loads and saves Palette assets.
-
namespace core Core namespace.
-
namespace tesseratos Tesseratos namespace.
- struct AssetSelectedEvent Event sent when an asset is selected.
- class ProjectManager System argument which can be used to manage the currently loaded project.