#ifndef PLANETPROPERTIES_H #define PLANETPROPERTIES_H #include #include #include "body.h" class PlanetProperties { public: PlanetProperties(const body index); ~PlanetProperties(); PlanetProperties & operator= (const PlanetProperties &p); const unsigned char * ArcColor() const { return(arcColor_); }; void ArcColor(unsigned char color[3]) { memcpy(arcColor_, color, 3); }; const std::string & BumpMap() const { return(bumpMap_); }; void BumpMap(const std::string &b) { bumpMap_ = b; }; double BumpScale() const { return(bumpScale_); }; void BumpScale(double b) { bumpScale_ = b; }; double CloudGamma() const { return(cloudGamma_); }; void CloudGamma(double c) { cloudGamma_ = c; }; void CloudMap(const std::string &c) { cloudMap_ = c; }; const std::string & CloudMap() const { return(cloudMap_); }; int CloudThreshold() const { return(cloudThreshold_); }; void CloudThreshold(int c) { cloudThreshold_ = c; }; const unsigned char * Color() const { return(color_); }; void Color(unsigned char color[3]) { memcpy(color_, color, 3); }; void DayMap(const std::string &dayMap) { dayMap_ = dayMap; }; const std::string & DayMap() const { return(dayMap_); }; void Grid(const bool g) { grid_ = g; }; bool Grid() const { return(grid_); }; void Grid1(const int g) { grid1_ = g; }; int Grid1() const { return(grid1_); }; void Grid2(const int g) { grid2_ = g; }; int Grid2() const { return(grid2_); }; const unsigned char * GridColor() const { return(gridColor_); }; void GridColor(unsigned char color[3]) { memcpy(gridColor_, color, 3); }; const unsigned char * MarkerColor() const { return(markerColor_); }; void MarkerColor(unsigned char color[3]) { memcpy(markerColor_, color, 3); }; const std::string & MarkerFont() const { return(markerFont_); }; void MarkerFont(const std::string &font) { markerFont_ = font; }; int MarkerFontSize() const { return(markerFontSize_); }; void MarkerFontSize(const int fontsize) { markerFontSize_ = fontsize; }; const unsigned char * OrbitColor() const { return(orbitColor_); }; void OrbitColor(unsigned char color[3]) { memcpy(orbitColor_, color, 3); }; const unsigned char * TextColor() const { return(textColor_); }; void TextColor(unsigned char color[3]) { memcpy(textColor_, color, 3); }; void AddArcFile(const std::string &arcFile) { arcFiles_.push_back(arcFile); }; bool DrawArcs() const { return(!arcFiles_.empty()); }; const std::vector & ArcFiles() const { return(arcFiles_); }; void AddMarkerFile(const std::string &markerFile) { markerFiles_.push_back(markerFile); }; bool DrawMarkers() const { return(!markerFiles_.empty()); }; const std::vector & MarkerFiles() const { return(markerFiles_); }; void AddSatelliteFile(const std::string &satelliteFile) { satelliteFiles_.push_back(satelliteFile); }; bool DrawSatellites() const { return(!satelliteFiles_.empty()); }; const std::vector & SatelliteFiles() const { return(satelliteFiles_); }; bool MapBounds() const { return(mapBounds_); }; void MapBounds(double &uly, double &ulx, double &lry, double &lrx) const { uly = mapUly_; ulx = mapUlx_; lry = mapLry_; lrx = mapLrx_; }; void MapBounds(bool b, double uly, double ulx, double lry, double lrx) { mapBounds_ = b; mapUly_ = uly; mapUlx_ = ulx; mapLry_ = lry; mapLrx_ = lrx; }; double MinRadiusForLabel() const { return(minRadiusForLabel_); }; void MinRadiusForLabel(double m) { minRadiusForLabel_ = m; }; double MaxRadiusForLabel() const { return(maxRadiusForLabel_); }; void MaxRadiusForLabel(double m) { maxRadiusForLabel_ = m; }; double MinRadiusForMarkers() const { return(minRadiusForMarkers_); }; void MinRadiusForMarkers(double m) { minRadiusForMarkers_ = m; }; void Name(const std::string &name) { name_ = name; }; const std::string & Name() { return(name_); }; void NightMap(const std::string &nightMap) { nightMap_ = nightMap; }; const std::string & NightMap() const { return(nightMap_); }; bool SSECMap() const { return(ssecMap_); }; void SSECMap(bool b) { ssecMap_ = b; }; void SpecularMap(const std::string &specularMap) { specularMap_ = specularMap; }; const std::string & SpecularMap() const { return(specularMap_); }; void Magnify(const double m) { magnify_ = m; }; double Magnify() const { return(magnify_); }; bool RandomOrigin() const { return(randomOrigin_); }; void RandomOrigin(bool b) { randomOrigin_ = b; }; bool RandomTarget() const { return(randomTarget_); }; void RandomTarget(bool b) { randomTarget_ = b; }; double Shade() const { return(shade_); }; void Shade(double s) { shade_ = s; }; double Twilight() const { return(twilight_); }; void Twilight(double t) { twilight_ = t; }; void DrawOrbit(const bool d) { drawOrbit_ = d; }; bool DrawOrbit() const { return(drawOrbit_); }; void StartOrbit(const double s) { startOrbit_ = s; }; double StartOrbit() const { return(startOrbit_); }; void StopOrbit(const double s) { stopOrbit_ = s; }; double StopOrbit() const { return(stopOrbit_); }; void DelOrbit(const double d) { delOrbit_ = d; }; double DelOrbit() const { return(delOrbit_); }; private: body index_; unsigned char arcColor_[3]; std::vector arcFiles_; std::string bumpMap_; double bumpScale_; double cloudGamma_; std::string cloudMap_; int cloudThreshold_; unsigned char color_[3]; std::string dayMap_; double delOrbit_; bool drawOrbit_; bool grid_; int grid1_, grid2_; unsigned char gridColor_[3]; double magnify_; bool mapBounds_; double mapUlx_, mapUly_, mapLrx_, mapLry_; unsigned char markerColor_[3]; std::string markerFont_; int markerFontSize_; std::vector markerFiles_; double minRadiusForLabel_, maxRadiusForLabel_; double minRadiusForMarkers_; std::string name_; std::string nightMap_; unsigned char orbitColor_[3]; bool randomOrigin_; bool randomTarget_; std::vector satelliteFiles_; bool ssecMap_; double shade_; std::string specularMap_; double startOrbit_, stopOrbit_; unsigned char textColor_[3]; double twilight_; // if the sun is within twilight degrees of // the horizon, blend the day and night // images together }; #endif