Lephisto/src/planet.h
Rtch90 73547ec32e [Change] Initial ode-less dynamic body work.
[Remove] Removed ODE dep.
[Missing] No collisions yet.
2018-04-08 17:01:03 +01:00

37 lines
863 B
C++

#pragma once
#include "body.h"
#include "star_system.h"
class Frame;
class Planet : public Body {
public:
OBJDEF(Planet, Body, PLANET);
Planet(StarSystem::SBody*);
Planet(void) { };
virtual ~Planet(void);
virtual void SetPosition(vector3d p);
virtual vector3d GetPosition(void) const;
void SetRadius(double radius);
virtual double GetRadius(void) const;
virtual void Render(const Frame* camFrame);
virtual void SetFrame(Frame* f);
virtual bool OnCollision(Body* b, Uint32 flags) { return true; }
virtual double GetMass(void) const { return m_mass; }
protected:
virtual void Save(void);
virtual void Load(void);
private:
void Init(void);
void DrawRockyPlanet(void);
void DrawGasGiant(void);
void DrawAtmosphere(double rad, vector3d& pos);
double m_mass;
vector3d pos;
StarSystem::SBody* sbody;
GLuint crudDList;
};