You.i Engine
YiDelegatingNodeAdapter.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_DELEGATING_NODE_ADAPTER_H_
3 #define _YI_DELEGATING_NODE_ADAPTER_H_
4 
6 
20 {
21 public:
25  class Delegate
26  {
27  public:
28  virtual uint32_t GetItemsCountForAdapter() const = 0;
29 
30  virtual glm::vec3 GetInitialNodeSizeForAdapter(uint32_t uIndex) const = 0;
31  virtual std::unique_ptr<CYISceneNode> BuildNodeForAdapter(uint32_t uIndex, CYISceneManager *pSceneManager) = 0;
32  virtual void ReleaseNodeForAdapter(uint32_t uIndex, std::unique_ptr<CYISceneNode> pNode) = 0;
33  };
34 
39  virtual ~CYIDelegatingNodeAdapter();
40 
44  Delegate *GetDelegate() const;
45 
46  virtual uint32_t GetItemsCount() const override;
47  virtual glm::vec3 GetInitialNodeSize(uint32_t uIndex) const override;
48  virtual std::unique_ptr<CYISceneNode> BuildNode(uint32_t uIndex, CYISceneManager *pSceneManager) override;
49  virtual void ReleaseNode(uint32_t uIndex, std::unique_ptr<CYISceneNode> pNode) override;
50 
51 private:
52  Delegate *m_pDelegate;
53 
55 };
56 
61 #endif // _YI_DELEGATING_NODE_ADAPTER_H_
CYIDelegatingNodeAdapter(Delegate *pDelegate)
virtual std::unique_ptr< CYISceneNode > BuildNodeForAdapter(uint32_t uIndex, CYISceneManager *pSceneManager)=0
Scene trees composed of CYISceneNode objects are registered with the scene manager in order for them ...
Definition: YiSceneManager.h:73
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
An CYINodeAdapter implementation that delegates its responsibilities to a CYIDelegatingNodeAdapter::D...
Definition: YiDelegatingNodeAdapter.h:19
Definition: YiDelegatingNodeAdapter.h:25
virtual void ReleaseNodeForAdapter(uint32_t uIndex, std::unique_ptr< CYISceneNode > pNode)=0
Provides an interface for supplying and reclaiming nodes to and from CYIStreamer. ...
Definition: YiNodeAdapter.h:31
virtual uint32_t GetItemsCountForAdapter() const =0
virtual std::unique_ptr< CYISceneNode > BuildNode(uint32_t uIndex, CYISceneManager *pSceneManager) override
virtual glm::vec3 GetInitialNodeSize(uint32_t uIndex) const override
virtual ~CYIDelegatingNodeAdapter()
virtual void ReleaseNode(uint32_t uIndex, std::unique_ptr< CYISceneNode > pNode) override
virtual glm::vec3 GetInitialNodeSizeForAdapter(uint32_t uIndex) const =0
Delegate * GetDelegate() const
virtual uint32_t GetItemsCount() const override