🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
GfxSolarSystem.hpp
浏览该文件的文档.
1
20
21#pragma once
22
23#include "AstGlobal.h"
24#include "GfxCelestialBody.hpp"
25
26// OSG头文件
27#include <osg/Group>
28#include <osg/Node>
29#include <vector>
30#include <string>
31
32namespace osg {
33 class Node;
34 class Group;
35}
36
37AST_NAMESPACE_BEGIN
38
39class AST_GFX_API GfxSolarSystem {
40public:
43
46
48 bool initialize();
49
52 void update(double deltaTime);
53
55 osg::Node* getNode();
56
58 void addCelestialBody(GfxCelestialBody* body);
59
61 void removeCelestialBody(GfxCelestialBody* body);
62
65 GfxCelestialBody* getCelestialBody(const std::string& name);
66
68 bool createSun();
69
77 bool createPlanet(const std::string& name, double radius, double orbitalRadius,
78 double orbitalSpeed, double rotationSpeed, const osg::Vec4& color);
79
81 bool createCompleteSolarSystem();
82
83private:
85 osg::Group* m_root;
86
88 std::vector<GfxCelestialBody*> m_celestialBodies;
89
91 std::vector<osg::Node*> m_orbitLines;
92};
93
94AST_NAMESPACE_END
天体可视化类
定义 GfxCelestialBody.hpp:47
定义 GfxSolarSystem.hpp:39