Infinity Engine v0.6.20
C++ API Documentation
Loading...
Searching...
No Matches
Infinity::Engine::InfinityEngine Class Reference

Main entry point to the InfinityEngine API for procedural generation. More...

#include <InfinityEngine.hpp>

Public Member Functions

 InfinityEngine ()
 Default constructor.
 
 InfinityEngine (InfinityCore &&core)
 Constructs an InfinityEngine by moving an existing InfinityCore.
 
 InfinityEngine (const std::filesystem::path &coreFilepath)
 Constructs an InfinityEngine and loads the specified .infinitycore file.
 
 ~InfinityEngine ()
 Destructor.
 
std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > rootSystems () const
 Retrieves all root-level ProceduralSystems in the loaded core.
 
std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > allSystems () const
 Retrieves all ProceduralSystems in the loaded core.
 
std::shared_ptr< Infinity::Procedural::ProceduralSystemsystem (const std::string &path) const
 Retrieves a specific ProceduralSystem by its path identifier.
 

Friends

class InfinityEngineImpl
 

Detailed Description

Main entry point to the InfinityEngine API for procedural generation.

InfinityEngine provides a high-level interface for loading cores, accessing ProceduralSystems, and executing procedural generation algorithms. It wraps InfinityCore functionality with convenient API methods for inspecting and working with the system hierarchy.

This class serves as the primary interface for applications using the InfinityEngine procedural generation library.

Constructor & Destructor Documentation

◆ InfinityEngine() [1/3]

Infinity::Engine::InfinityEngine::InfinityEngine ( )

Default constructor.

Constructs an InfinityEngine without loading any core.

◆ InfinityEngine() [2/3]

Infinity::Engine::InfinityEngine::InfinityEngine ( InfinityCore &&  core)

Constructs an InfinityEngine by moving an existing InfinityCore.

Parameters
coreThe InfinityCore object to move into this engine.

◆ InfinityEngine() [3/3]

Infinity::Engine::InfinityEngine::InfinityEngine ( const std::filesystem::path &  coreFilepath)

Constructs an InfinityEngine and loads the specified .infinitycore file.

Parameters
coreFilepathPath to the .infinitycore file to load.

◆ ~InfinityEngine()

Infinity::Engine::InfinityEngine::~InfinityEngine ( )

Destructor.

Member Function Documentation

◆ allSystems()

std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > Infinity::Engine::InfinityEngine::allSystems ( ) const

Retrieves all ProceduralSystems in the loaded core.

This includes both root systems and all nested/child systems in the complete system hierarchy.

Returns
A vector of shared pointers to all ProceduralSystems.

◆ rootSystems()

std::vector< std::shared_ptr< Infinity::Procedural::ProceduralSystem > > Infinity::Engine::InfinityEngine::rootSystems ( ) const

Retrieves all root-level ProceduralSystems in the loaded core.

Root systems are top-level systems that are not children of other systems in the system hierarchy.

Returns
A vector of shared pointers to root ProceduralSystems.

◆ system()

std::shared_ptr< Infinity::Procedural::ProceduralSystem > Infinity::Engine::InfinityEngine::system ( const std::string &  path) const

Retrieves a specific ProceduralSystem by its path identifier.

Parameters
pathThe path identifier of the system within the core.
Returns
A shared pointer to the requested ProceduralSystem, or nullptr if not found.

Friends And Related Symbol Documentation

◆ InfinityEngineImpl

friend class InfinityEngineImpl
friend