Convert visual layers to scene nodes.
This commit is contained in:
parent
798cb365d7
commit
3e53bd9e00
64 changed files with 863 additions and 551 deletions
|
@ -5,39 +5,25 @@
|
|||
#include <vector>
|
||||
#include <memory>
|
||||
|
||||
class VisualLayer;
|
||||
class TriMesh;
|
||||
class RootNode;
|
||||
class AbstractVisualNode;
|
||||
class SceneItem;
|
||||
class FontsManager;
|
||||
|
||||
class RectangleNode;
|
||||
|
||||
template <typename T>
|
||||
class Image;
|
||||
|
||||
class Scene
|
||||
{
|
||||
public:
|
||||
Scene();
|
||||
|
||||
Scene() = default;
|
||||
void update(FontsManager* fontsManager);
|
||||
|
||||
void syncLayers(const std::vector<VisualLayer*>& layers);
|
||||
unsigned getNumItems() const;
|
||||
|
||||
void update(FontsManager* fontsManager, Image<unsigned char>* image = nullptr);
|
||||
|
||||
unsigned getNumMeshes() const;
|
||||
|
||||
TriMesh* getMesh(std::size_t idx) const;
|
||||
|
||||
Image<unsigned char>* getTexture(std::size_t idx) const;
|
||||
|
||||
const std::vector<TextData>& getTextData() const;
|
||||
SceneItem* getItem(std::size_t idx) const;
|
||||
|
||||
RootNode* getRootNode() const;
|
||||
private:
|
||||
void processRectangleNode(RectangleNode* node);
|
||||
|
||||
std::vector<VisualLayer*> mLayers;
|
||||
std::vector<TriMesh*> mWorkingMeshs;
|
||||
std::vector<Image<unsigned char>* > mTextures;
|
||||
|
||||
std::vector<TextData> mTextData;
|
||||
void updateNode(AbstractVisualNode* node, FontsManager* fontsManager);
|
||||
std::unique_ptr<RootNode> mRootNode;
|
||||
std::vector<SceneItem*> mSceneItems;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue