MVC  0.0.1
factory.h
См. документацию.
1 #pragma once
2 
3 #include "ifactory.h"
4 
5 struct RegistryObjects;
6 
7 class BaseFactory : public IFactory {
8 
9  public:
10 
11  BaseFactory() = default;
12  virtual ~BaseFactory() = default;
13 
14  std::unique_ptr<IPrimitiveObject> create(const Point&) const override;
15 
16  std::unique_ptr<IPrimitiveObject> create(const Point&, const Point&) const override;
17 
18  std::unique_ptr<IPrimitiveObject> create(const Point&, const int&) const override;
19 };
20 
21 class PointFactory : public BaseFactory {
22  public:
23  PointFactory() = default;
24 
25  std::unique_ptr<IPrimitiveObject> create(const Point&) const override;
26 };
27 
28 class LineFactory : public BaseFactory {
29  public:
30  LineFactory() = default;
31 
32  std::unique_ptr<IPrimitiveObject> create(const Point&, const Point&) const override;
33 };
34 
35 class CircleFactory : public BaseFactory {
36  public:
37  CircleFactory() = default;
38 
39  std::unique_ptr<IPrimitiveObject> create(const Point&, const int&) const override;
40 };
CircleFactory::create
std::unique_ptr< IPrimitiveObject > create(const Point &, const int &) const override
Creates circle primitive.
Definition: factory.cpp:22
PointFactory
Definition: factory.h:21
ifactory.h
PointFactory::PointFactory
PointFactory()=default
BaseFactory::create
std::unique_ptr< IPrimitiveObject > create(const Point &) const override
Creates Point primitive.
Definition: factory.cpp:4
BaseFactory::BaseFactory
BaseFactory()=default
LineFactory::LineFactory
LineFactory()=default
BaseFactory::~BaseFactory
virtual ~BaseFactory()=default
CircleFactory::CircleFactory
CircleFactory()=default
LineFactory
Definition: factory.h:28
PointFactory::create
std::unique_ptr< IPrimitiveObject > create(const Point &) const override
Creates Point primitive.
Definition: factory.cpp:12
LineFactory::create
std::unique_ptr< IPrimitiveObject > create(const Point &, const Point &) const override
Creates line primitive.
Definition: factory.cpp:17
RegistryObjects
Definition: registry.h:6
BaseFactory
Definition: factory.h:7
CircleFactory
Definition: factory.h:35
Point
Definition: base_types.h:6
IFactory
Here is primitive objects factory.
Definition: ifactory.h:9