All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PropModelFactory.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "Interiors.h"
5 #include "Positioning.h"
6 
7 namespace Eegeo
8 {
9  namespace Resources
10  {
11  namespace Interiors
12  {
14  {
15  public:
16  virtual ~IPropModelFactory() {};
17 
18  virtual PropModel* Create(const PropCreateParams& propCreateParams) = 0;
19  };
20 
22  {
23  public:
25  IPropModelIdGenerator& propModelIdGenerator,
26  Positioning::IPointOnMapFactory& pointOnMapFactory,
27  PropRenderableService& propRenderableService);
28 
29  PropModel* Create(const PropCreateParams& propCreateParams) override;
30  private:
31 
32  IPropModelIdGenerator& m_propModelIdGenerator;
33  Positioning::IPointOnMapFactory& m_pointOnMapFactory;
34  PropRenderableService& m_propRenderableService;
35  };
36  }
37  }
38 }