vengine  0.0.1
3D graphics engine
Loading...
Searching...
No Matches
Object.hpp
Go to the documentation of this file.
1///
2/// @file Object.hpp
3/// @brief This file contains the Object Factory class
4/// @namespace ven
5///
6
7#pragma once
8
10
11namespace ven {
12
13 ///
14 /// @class ObjectFactory
15 /// @brief Class for object factory
16 /// @namespace ven
17 ///
19
20 public:
21
22 ObjectFactory() = delete;
23 ~ObjectFactory() = default;
24
25 ObjectFactory(const ObjectFactory&) = delete;
29
30 static std::unique_ptr<Object> create(const std::shared_ptr<Texture>& texture, const std::shared_ptr<Model>& model, const std::string &name, const Transform3D &transform);
31 static std::unique_ptr<Object> duplicate(const Object& objSrc) { return create(objSrc.getDiffuseMap(), objSrc.getModel(), objSrc.getName(), objSrc.transform); }
32
33 private:
34
35 static unsigned int m_currentObjId;
36
37 }; // class ObjectFactory
38
39} // namespace ven
This file contains the Object class.
Class for object factory.
Definition Object.hpp:18
ObjectFactory()=delete
static unsigned int m_currentObjId
Definition Object.hpp:35
ObjectFactory(ObjectFactory &&)=delete
ObjectFactory & operator=(const ObjectFactory &)=delete
ObjectFactory & operator=(ObjectFactory &&)=delete
static std::unique_ptr< Object > duplicate(const Object &objSrc)
Definition Object.hpp:31
ObjectFactory(const ObjectFactory &)=delete
~ObjectFactory()=default
static std::unique_ptr< Object > create(const std::shared_ptr< Texture > &texture, const std::shared_ptr< Model > &model, const std::string &name, const Transform3D &transform)
Definition Object.cpp:5
Class for object.
Definition Object.hpp:24
std::shared_ptr< Model > getModel() const
Definition Object.hpp:41
std::shared_ptr< Texture > getDiffuseMap() const
Definition Object.hpp:42
std::string getName() const
Definition Object.hpp:40
Transform3D transform
Definition Object.hpp:49
Class for 3D transformation.