🛰️航天仿真算法库 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
32
namespace
osg {
33
class
Node;
34
class
Group;
35
}
36
37
AST_NAMESPACE_BEGIN
38
39
class
AST_GFX_API
GfxSolarSystem
{
40
public
:
42
GfxSolarSystem
();
43
45
~GfxSolarSystem
();
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
83
private
:
85
osg::Group* m_root;
86
88
std::vector<GfxCelestialBody*> m_celestialBodies;
89
91
std::vector<osg::Node*> m_orbitLines;
92
};
93
94
AST_NAMESPACE_END
GfxCelestialBody.hpp
天体可视化类
ast::GfxCelestialBody
定义
GfxCelestialBody.hpp:47
ast::GfxSolarSystem
定义
GfxSolarSystem.hpp:39
src
AstGfx
GfxSolarSystem.hpp
制作者
1.12.0