00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _MINOR_PLANET_HPP_
00021 #define _MINOR_PLANET_HPP_
00022
00023 #include "Planet.hpp"
00024
00037 class MinorPlanet : public Planet
00038 {
00039 public:
00040 MinorPlanet(const QString& englishName,
00041 int flagLighting,
00042 double radius,
00043 double oblateness,
00044 Vec3f color,
00045 float albedo,
00046 const QString& texMapName,
00047 posFuncType _coordFunc,
00048 void* userDataPtr,
00049 OsculatingFunctType *osculatingFunc,
00050 bool closeOrbit,
00051 bool hidden);
00052
00053 ~MinorPlanet();
00054
00055
00068 virtual QString getInfoString(const StelCore *core, const InfoStringGroup &flags) const;
00069
00070
00071
00072
00073 virtual float getVMagnitude(const StelCore* core, bool withExtinction=false) const;
00076 virtual void translateName(StelTranslator& trans);
00077
00083 void setMinorPlanetNumber(int number);
00084
00090 void setProvisionalDesignation(QString designation);
00091
00092
00097 void setAbsoluteMagnitudeAndSlope(double magnitude, double slope);
00098
00102 static QString renderProvisionalDesignationinHtml(QString plainText);
00103
00104
00105 private:
00106 int minorPlanetNumber;
00107 double absoluteMagnitude;
00108 double slopeParameter;
00109
00110 bool nameIsProvisionalDesignation;
00111 QString provisionalDesignationHtml;
00112 QString properName;
00113 };
00114
00115 #endif //_MINOR_PLANET_HPP_