Pioneer
Loading...
Searching...
No Matches
Label3D.h
Go to the documentation of this file.
1// Copyright © 2008-2023 Pioneer Developers. See AUTHORS.txt for details
2// Licensed under the terms of the GPL v3. See licenses/GPL-3.txt
3
4#ifndef _SCENEGRAPH_LABEL_H
5#define _SCENEGRAPH_LABEL_H
6/*
7 * Text geometry node, mostly for ship labels
8 */
9#include "Node.h"
10#include "graphics/Material.h"
13
14namespace Graphics {
15 class Renderer;
16 class RenderState;
17} // namespace Graphics
18
19namespace SceneGraph {
20
21 class Label3D : public Node {
22 public:
24 Label3D(const Label3D &, NodeCopyCache *cache = 0);
25 virtual Node *Clone(NodeCopyCache *cache = 0);
26 virtual const char *GetTypeName() const { return "Label3D"; }
27 void SetText(const std::string &);
28 virtual void Render(const matrix4x4f &trans, const RenderData *rd);
29 virtual void Accept(NodeVisitor &v);
30
31 private:
33 std::unique_ptr<Graphics::VertexArray> m_geometry;
34 std::unique_ptr<Graphics::MeshObject> m_textMesh;
36 };
37
38} // namespace SceneGraph
39
40#endif
Definition Renderer.h:44
Definition RefCounted.h:36
Definition Label3D.h:21
virtual const char * GetTypeName() const
Definition Label3D.h:26
void SetText(const std::string &)
Definition Label3D.cpp:48
virtual void Render(const matrix4x4f &trans, const RenderData *rd)
Definition Label3D.cpp:67
virtual Node * Clone(NodeCopyCache *cache=0)
Definition Label3D.cpp:43
virtual void Accept(NodeVisitor &v)
Definition Label3D.cpp:77
Definition NodeCopyCache.h:14
Definition NodeVisitor.h:26
Definition Node.h:72
Definition Background.h:14
Definition CityOnPlanet.h:31
Definition Node.h:44