NLS Engine  v0.1
The Next Logical Step in game engine design.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Defines
MaterialsSystemInterface.h
Go to the documentation of this file.
00001 
00010 #pragma once
00011 
00012 // Standard Includes
00013 
00014 // Library Includes
00015 
00016 // Local Includes
00017 #include "../../sharedbase/Envelope_fwd.h"
00018 
00019 // Forward Declarations
00020 namespace GraphicsCore {
00021   class MaterialInterface;
00022 }
00023 
00024 // Typedefs
00025 
00026 // Constants
00027 
00028 // Classes
00029 namespace GraphicsCore {
00030   class MaterialsSystemInterface {
00031   public:
00032     virtual ~MaterialsSystemInterface() {}
00033     
00034     virtual bool InsertMaterial(unsigned int, EnvelopeSPTR) = 0;
00035     virtual bool RemoveMaterial(unsigned int) = 0;
00036     
00037   protected:
00038     static MaterialInterface* CreateMaterial(EnvelopeSPTR);
00039     static void DestroyMaterial(MaterialInterface*);
00040     
00041   private:
00042     MaterialsSystemInterface& operator=(const MaterialsSystemInterface&); 
00043     
00044   private:
00045     
00046   };
00047 }