You.i Engine
YiTransformSystem.h
Go to the documentation of this file.
1 #ifndef _YI_TRANSFORM_SYSTEM_H_
2 #define _YI_TRANSFORM_SYSTEM_H_
3 
4 #include "framework/YiPredef.h"
7 
8 #include <memory>
9 
10 class CYITransformSystemPriv;
11 
22 {
23  friend class CYITransform;
24  friend class TransformSystemTest;
25 
26 public:
28 
29  bool IsValid(CYIComponentPoolUID transformID) const;
30 
34  bool Update();
35 
40  void UpdateLocalMatrix(CYIComponentPoolUID transformID);
41 
46  void UpdateWorldMatrix(CYIComponentPoolUID transformID);
47 
53 
60 
66  const CYITransformComponent *GetTransform(CYIComponentPoolUID transformID) const;
67 
74 
79  void RemoveSubtree(CYIComponentPoolUID subtreeRootID);
80 
85  void RemoveDescendants(CYIComponentPoolUID transformID);
86 
93  bool SetParent(CYIComponentPoolUID transformID, CYIComponentPoolUID parentID);
94 
98  void SetDirty(CYIComponentPoolUID transformID);
99 
103  void DirtyAll();
104 
105 private:
106  std::unique_ptr<CYITransformSystemPriv> m_pPriv;
107 };
108 
111 #endif // _YI_TRANSFORM_SYSTEM_H_
CYIComponentPoolUID CreateTransform()
bool SetParent(CYIComponentPoolUID transformID, CYIComponentPoolUID parentID)
bool IsValid(CYIComponentPoolUID transformID) const
The transform system maintains a component pool of CYITransformComponent data.
Definition: YiTransformSystem.h:21
An identifier for an element in a CYIComponentPool object.
Definition: YiComponentPoolUID.h:17
void SetDirty(CYIComponentPoolUID transformID)
friend class TransformSystemTest
Definition: YiTransformSystem.h:24
Provides transformation APIs.
Definition: YiTransform.h:19
A minimal transform component.
Definition: YiTransformComponent.h:18
const CYITransformComponent * GetTransform(CYIComponentPoolUID transformID) const
void UpdateWorldMatrix(CYIComponentPoolUID transformID)
void UpdateLocalMatrix(CYIComponentPoolUID transformID)
void RemoveDescendants(CYIComponentPoolUID transformID)
void RemoveSubtree(CYIComponentPoolUID subtreeRootID)