ToyMaker Game Engine 0.0.2
ToyMaker is a game engine developed and maintained by Zoheb Shujauddin.
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
 NstdSTL namespace
 Chash< ToyMaker::ActionDefinition >
 Chash< ToyMaker::InputCombo >
 Chash< ToyMaker::InputFilter >
 Chash< ToyMaker::InputSourceDescription >
 NToyMakerNamespace containing all class definitions and functions related to the ToyMaker engine
 CActionContextA container for actions that make sense within a given context
 CActionDataA union that may contain any one of SimpleActionData, OneAxisActionData, TwoAxisActionData, ThreeAxisActionData
 CActionDefinitionThe definition of a single action, including whether it represents state or change, whether it supports negative values, and the number of axes it has
 CActionDispatchAn object responsible for tracking action listeners for a given project
 CAdditionRenderStageStage responsible for combining multiple textures together
 CApplicationClass that handles setup for the rest of the engine and application
 CgetByPath_HelperBase template for engine object getter, used by Application::getObject()
 CgetByPath_Helper< TObject, typename std::enable_if_t< SceneNodeCore::getByPath_Helper< TObject >::s_valid > >
 CAreaCircleA set of numbers representing a single circle situated somewhere in the world
 CAreaTriangleA set of 3 points located in the world forming a (hopefully sensible) triangle
 CAxisAlignedBoundsAn object containing a coarse simplified representation, AABB, of spatially queryable objects
 CBaseComponentArrayAn abstract base class for all ECS component arrays
 CBaseConstraintBase class for constraints
 CBaseInstanceAllocatorClass that is responsible for taking an instance layout and correctly uploading it to the GPU
 CBaseOffscreenRenderStageBase class for render stages which render to an offscreen buffer
 CBaseRenderStageRepresents a single render stage or a render step that applies to the default (window) framebuffer
 CBaseSceneNodeA CRTP template for all the scene node types present in the project
 CBaseSimObjectAspectThe base class for all aspects, providing an interface to its attached SimObject, and consequently, the engine's SceneSystem
 CBaseSystemThe base class that acts as the interface between the engine's ECS system and a particular built-in or user-defined System
 CBlurRenderStageMultipurpose render stage which at present is used to compute a simple bloom effect from a scene's "brightCutoff" texture
 CBuiltinModelMatrixAllocatorAn instance allocator initialized with the built in model matrix layout object
 CBuiltinVertexDataThe vertex data used by all this engine's in-built shader program's vertex shaders
 CCameraPropertiesStruct that encapsulates properties which define the (geometric) aspects of a scene camera
 CCameraSystemSystem responsible for managing all active cameras belonging to this world, tracking and updating associated projection and view matrices
 CCollisionData representing everything about a collision
 CCollisionPairNames two distinct entities participating in a collision, with their entity IDs sorted in ascending order
 CColorBufferDefinitionA struct containing the definition of a color buffer, using which similar color buffers can be created
 CCommonActionDataA struct containing meta-info that will be present for all types of actions
 CComponentArrayA class that implements BaseComponentArray specializing it for a component of type TComponent
 CComponentFromJSONA struct that describes how a JSON component description is turned into a component
 CComponentFromJSON< std::shared_ptr< TComponent >, Enable >A specialization of ComponentFromJSON that applies to components that are stored as shared pointers to components (as opposed to a value of the component type itself)
 CComponentFromJSON< std::shared_ptr< TResource >, typename std::enable_if< std::is_base_of< IResource, TResource >::value >::type >Allows a shared pointer to a resource to be constructed as a component for an entity when loading a scene
 CComponentManagerAn object that stores and manages updates to all the component arrays instantiated for this ECS World
 CgetComponentTypeNameHelper function for retrieving the component type string defined as part of the component
 CgetComponentTypeName< std::shared_ptr< TComponent > >A specialization of getComponentTypeName for components which are wrapped in shared pointers
 CConstraintAny constraint storing LagrangeCount correction multipliers
 CConstraint1DOFConfigA collection of values defining an orientation or position constraint for a single degree of freedom
 CConstraint1DOFParamParameters defining a body participating in a 2-body constraint
 CConstraintContactConstraint requiring exactly two parameters representing colliding rigid bodies
 CConstraintContactManifoldSpecial structure for handling collisions with multiple points of contact accumulated over several timesteps in order to improve stability
 CConstraintDampingRigidbodyThe velocity constraint responsible for applying a velocity-dependent damping force on all dynamic objects in order to eventually bring them to a stop
 CConstraintDistance1DConstraint where the distance between a pair of points, one from each participant, is restricted along an axis defined relative to participant 0 to a certain range
 CConstraintParametrizedSubclass implementation for any constraint which takes data of type TParameter
 CConstraintRotation1DRestricts angle between 2 vectors from 2 participants around an axis defined relative to participant 0 to a certain range
 CContactObject representing contact information between a pair of convex shapes from the perspective of one of those shapes
 CECSWorldA class that represents a set of systems, entities, and components, that are all interrelated, but isolated from other similar sets
 CSystemRegistrationArgsPrevents the use of the unspecialized version of SystemRegistrationArgs
 CSystemRegistrationArgs< TSystemDerived, std::tuple< TListenedForComponents... >, std::tuple< TRequiredComponents... > >The partially specialized version of SystemRegistrationArgs, with its latter 2 template parameters being tuples of components
 CEntityThe Entity is a wrapper on an entity ID, used as the primary interface between an application and the engine's ECS system
 CFixedActionBindingA class representing the connection between an Action generated by the InputManager, and a BaseSimObjectAspect method that is interested in handling the action
 CFramebufferA wrapper class over OpenGL framebuffers
 CFramebufferFromDescriptionConstructs a Framebuffer from its description in JSON
 CGeometryRenderStageRender step responsible for translating mesh-material data into geometry buffers
 CIActionHandlerClass interface for systems that wish to be notified when action events occur in an action context
 CIHoverableThe interface implemented by aspects which wish to respond to pointer hover related events
 CILeftClickableThe interface used by aspects which wish to respond to mouse left click events (or equivalent)
 CInputAttributesTypeA class that, perhaps just as unnecessarily, stores a value of InputAttributesValueType
 CInputComboAn input combo that whose value is recorded and mapped to an (axis of an) action value of some kind
 CInputFilterFilter that uniquely defines ONE axis of one control of one input belonging to one device
 CInputManagerThe class that acts as the main interface between the rest of the project and the input system
 CInputSourceDescriptionIdentifies a single control, such as a button, trigger, or joystick, on a single device
 CInstanceAttributeDescriptorA struct describing the name and type of each attribute designated as an instance attribute
 CInstanceLayoutObject representing the layout of one set of related attributes representing (presumably) one object or instance
 CInterpolatorA template class for interpolating components between simulation frames for various purposes
 CIResourceBase class of all Resource types
 CIResourceConstructorA single way that a resource may be constructed
 CIResourceFactoryA class that holds references to all constructors for a type of Resource object
 CISignalThe base class for any signal that an object advertises
 CISignalObserver
 CIUsePointerThe interface used by aspects, objects, which cast pointer rays to interact with objects present in the world
 CLightEmissionDataA struct, used as a component, describing the emissive properties of the light it represents per the Blinn-Phong shading model
 CLightingRenderStageRender stage which takes geometry buffers and scene lights as inputs, and produces a lit scene as output
 CLightInstanceAllocatorThe allocator associated with built in light sources used as attributes
 CLightRenderUnitContains the model matrix, mesh, and light emission for a single light object being rendered this frame
 CMaterialA collection of key value pairs used to control the behaviour of the rendering system when rendering a single "object."
 CMaterialFromDescriptionA material resource constructor which converts a material represented in JSON to its Material equivalent
 CNineSlicePanelResource responsible for resizing a texture using the 9-slice technique, for use in UI elements
 CNineSlicePanelFromDescriptionResource constructor for creating new NineSlicePanel resources from their descriptions in JSON
 CObjectBoundsA component defining the true bounds of a spatially queryable object situated somewhere in the world
 CTrueVolumeA union of supported volume structs
 COctreeA data structure used for speeding up spatial queries about 3-dimensional objects in the scene
 COctreeNodeA single node of an octree, representing a single octant of the 8 that make up its parent region
 COneAxisActionDataActions that have just one axis of data, eg., the accelerator on a car
 COpaqueRenderUnitAn object representing a single opaque mesh-material pair, to be rendered this frame
 CPhysicsStateComponent representing the physics state of the body it's attached to at some particular point in time
 CPhysicsSystemThe physics system, an ECS system that tracks and updates the state of each physics object in the scene according to its properties
 CPhysicsStateFull
 CCollisionEvent
 CCollisionReport
 CPlacementA component representing the position, rotation, and scale of an entity
 CPlaneA set of numbers describing a plane situated somewhere in the world
 CPolytopePrimitive for EPA algorithm
 CFaceStores the indices of a single face of this polytope
 CQueryClickThe aspect responsible for conducting raycasts and calling pointer event callbacks on eligible objects
 CRangeMapperLinearA simple linear interpolation implementation between a fixed input and output range
 CRayA set of numbers describing a ray with its source at some finite point in the world, projected in a direction for some positive length
 CRBOWrapper class over OpenGL RBOs
 CRegistratorHelper class for registering a class at program startup
 CRenderDebugViewerA utility aspect class used to log window events and change the debug texture rendered to the viewport it manages
 CRenderSetA collection of shaders, render configurations, cameras, and related framebuffers used by a viewport within an ECSWorld
 CRenderSystemThe render system for a single ECSWorld, which joins together various RenderStages into a render pipeline for objects present in that world
 CLightQueueA subsystem of the RenderSystem; tracks light objects in this ECSWorld scheduled for rendering at the next render step
 COpaqueQueueA subsystem of the RenderSystem; tracks opaque and alpha-tested models present in this ECSWorld to be rendered at the next render step
 CResizeRenderStageRender stage responsible for resizing a texture to its final intended resolution
 CResourceThe base class for any type whose creation and storage should be managed by the ResourceDatabase
 CResourceConstructorAn object representing one method for creating a resource of a given kind
 CResourceDatabaseA database of all Resource types available for this project, and the various ResourceConstructors responsible for making them
 CResourceFactoryTracks pointers to all ResourceConstructors responsible for creating a resource of one type
 CSceneFromDescriptionConstructs a scene tree (separate from the scene tree) based on its description in JSON
 CSceneFromFileConstructs a scene tree from a file containing its JSON description
 CSceneHierarchyDataComponent representing hierarchical information related to this entity
 CSceneNodeThe most basic vanilla flavour of scene node comprised of no more than a name and some components
 CSceneNodeCoreThe core of a node in the SceneSystem, a set of components and methods overridable or usable by all types of scene nodes
 CKeyA private struct to limit certain sensitive functions to this class and other closely coupled classes
 CgetByPath_HelperA helper intended to get scene nodes and related objects attached to the scene tree
 CgetByPath_Helper< std::shared_ptr< TObject >, typename std::enable_if_t< std::is_base_of< SceneNodeCore, TObject >::value > >
 CgetByPath_Helper< BaseSimObjectAspect & >
 CgetByPath_Helper< TAspect &, std::enable_if_t< std::is_base_of< BaseSimObjectAspect, TAspect >::value > >
 CSceneNodeFromDescriptionConstructs a scene node based on its description in JSON
 CSceneSystemThe SceneSystem, a singleton System, responsible for tracking all objects in the scene, computing their Transforms, and maintaining hierarchical relationships between scene nodes
 CPlacementUpdateReporterA subsystem of the SceneSystem which tracks, per world, which objects have had their Placement components updated
 CTransformUpdateReporterA subsystem of the SceneSystem which tracks, per world, which objects have had their Transform components updated
 CgetNodeByID_HelperHelper struct for retrieving nodes based on their UniversalEntityIDs
 CgetNodeByID_Helper< TSceneNode, typename std::enable_if_t< std::is_base_of< SceneNodeCore, TSceneNode >::value > >
 CScreenRenderStageRender stage responsible for rendering any texture attached as source to the screen
 CShaderProgramA wrapper over OpenGL's shader programs
 CShaderProgramFromFileConstructs a ShaderProgram from its shader program header, found at a particular path
 CSignalA Signal object, designed to emit signals matching some data signature to be received by all the SignalObservers subscribed to it
 CSignal_A class containing most of the implementation of this engine's Signal concept
 CSignalObserverA SignalObserver object, which can subscribe to Signals matching its data signature and receive signal events from them
 CSignalObserver_A class containing most of the implementation for this engine's SignalObserver concept
 CSignalTrackerA signal tracker, the main interface between an object and the signal system
 CSimCoreThe component associated with the SimSystem
 CSimObjectA wrapper on entity that allows objects in the Scene to be scriptable
 CSimObjectAspectAn object containing closely related methods and data, and exposing object lifecycle and application event loops to a developer extending it
 CSimObjectFromDescriptionConstructs a SimObject from its description in JSON
 CSimplexPrimitive for GJK algorithm
 CSimSystemThe SimSystem is a system responsible for providing scriptability via SimObjects and SimObjectAspects
 CSkyboxRenderStageUses a skybox texture (i.e a texture with a supported cubemap format) to render a skybox behind geometry in the scene
 CSpatialQuerySystemThe spatial query system, an ECS System that tracks and updates spatial query data for objects in the scene, and which exposes spatial query methods
 CStaticModelBoundsComputeSystemA subsystem of the SpatialQuery system which tracks StaticModel objects in the scene and updates the position and shapes of their associated object bounds accordingly
 CLightBoundsComputeSystemA subsystem of the spatial query system responsible for tracking light volumes and recomputing their ObjectBounds accordingly
 CStaticMeshA class whose current main purpose is to store geometry related info, and to upload it to GPU memory when requested
 CStaticMeshCuboidDimensionsConstructs a cuboid mesh based on its dimensions
 CStaticMeshFromDescriptionCreates a static mesh based on its description in JSON
 CStaticMeshRectangleDimensionsConstructs a rectangle mesh based on its dimensions
 CStaticMeshSphereLatLongMesh constructor that creates a spherical mesh using a latitude-longitude method
 CStaticModelThis engine's representation of a single unrigged 3D model
 CStaticModelCuboidDimensionsConstructs a cuboid mesh based on its dimensions
 CStaticModelFromFileA constructor method for StaticModels that loads such a model from its model file (w/ extensions such as .fbx, .obj, .gltf, and so on)
 CStaticModelRectangleDimensionsConstructs a rectangle mesh using the latitude-longitude method
 CStaticModelSphereLatLongConstructs a sphere model using the latitude-longitude method
 CSweepPruneA class designed around finding which pairs of AABBs may be intersecting (so as to limit the number of full collision checks that need be performed)
 CObjectContains the start and end indices of a sweep and prune object in each dimension's edge list
 CEdgeRepresents the projection of a bounding box along the axis represented by the edge list that this item appears in
 CSystemA system template that disables systems with this form of declaration
 CSystem< TSystemDerived, std::tuple< TListenedForComponents... >, std::tuple< TRequiredComponents... > >The base class for any built-in or user-defined system that would like to be hooked to the engine's event cycle or have access to entities and components
 CSystemManagerHolds references to all the systems belonging to this manager's ECSWorld
 CTextFontA wrapper class over SDL_ttf, providing methods to generate text textures from text using a font as a resource
 CTextFontFromFileThe ResourceConstructor responsible for loading a TextFont from its file path
 CTextureThe class representation of textures on this engine, which are a type of Resource used both within and outside of the engine
 CTextureFromColorBufferDefinitionGenerates a texture based on its color buffer definition
 CTextureFromFileA resource constructor which loads a texture from a supported image file located via its file path
 CThreeAxisActionDataActions described by 3 axes (I can't think of any examples for this)
 CTonemappingRenderStageTakes lit scene (with bloom if it's used), and produces a tonemapped and gamma corrected version of the scene
 CTransformThe transform component, which moves the vertices of a model to their world space coordinates during rendering
 CTwoAxisActionDataActions that have two axes of data. (Pointer locations, movement direction input, pitch+roll, etc.)
 CUIButtonA UI component class for creating simple buttons comprised of a resizable panel and some text
 CUIImageThe aspect class responsible for displaying an image from a file scaled to some specific dimensions
 CUIPanelUI aspect responsible for managing and rendering a NineSlicePanel texture on the UI
 CUITextAn aspect responsible for rendering text textures and displaying them on a surface in the scene
 CUnmappedInputValueAn input state that hasn't yet been mapped to its corresponding action
 CVertexAttributeDescriptorThe description of a single vertex attribute associated with a vertex layout, giving its size and location id
 CVertexLayoutA list of attribute descriptors that together define the layout and size of the vertex they make up in GPU memory
 CViewportNodeA type of node capable of and responsible for interacting sensibly with the engine's RenderSystem and ECSWorlds
 CRenderConfigurationA collection of data that specifies the behaviour and properties of the RenderSystem and target texture associated with this viewport
 CViewportChildComp_Comparator used for determining priority of descendant viewports owned by a RenderSet::RenderType::ADDITION viewport
 CViewportNodeFromDescriptionConstructs a ViewportNode from its description in JSON
 CVolume
 CVolumeBase_The base class of all spatial query volumes
 CVolumeBoxHolds the parameters describing the spatial query volume of a simple three-dimensionsal box
 CVolumeCapsuleHolds the parameters describing the spatial query volume of a simple three-dimensionsal capsule (or pill, or whatever you like)
 CVolumeSphereHolds parameters describing a spherical spatial query volume
 CWindowContextA class providing access to various window management methods and window event Signals