Skip to content
Snippets Groups Projects
Select Git revision
  • f70b339dbc575664abe1f1a56c383642c7f96881
  • main default protected
  • NewGraphicSystem
  • LayeredRendering
4 results

VertexArray.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Kernel.hpp 1.09 KiB
    #pragma once
    
    #include <map>
    
    #include <engine/io/Window.hpp>
    
    #include <kernel/front/props/Props.hpp>
    
    #include "resolver/GraphicResolver.hpp"
    #include "resolver/PhysicResolver.hpp"
    
    namespace megu::kernel {
        class PhysicResolver;
        class GraphicResolver;
    
        class Kernel {
            public:
                Kernel(Window &);
               ~Kernel();
    
                void step();
                void add(Prop *);
                void remove(Prop *);
                
                inline Identifiable_Map<Prop> & props() {return this->_props;}
    
                inline PhysicEngine & getPhysicEngine() {return this->_pEngine;}
                inline GraphicEngine & getGraphicEngine() {return this->_gEngine;}
    
                inline Window & window() {return this->_window;}
    
                Prop * get(const Prop::Physical_Component &);
                Prop * get(const Prop::Graphical_Component &);
    
            private:
                Window & _window;
    
                PhysicEngine _pEngine; 
                GraphicEngine _gEngine;
    
                Identifiable_Map<Prop> _props;
                PhysicResolver _pResolver;
                GraphicResolver _gResolver;
        };
    }