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
00105 void setSemiMajorAxis(double value);
00106
00107 private:
00108 int minorPlanetNumber;
00109 double absoluteMagnitude;
00110 double slopeParameter;
00111 double semiMajorAxis;
00112
00113 bool nameIsProvisionalDesignation;
00114 QString provisionalDesignationHtml;
00115 QString properName;
00116 };
00117
00118 #endif //_MINOR_PLANET_HPP_