// This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // Copyright 2003 Liam Girdwood #ifndef _CASTOR_STAR_OBJECT_HH #define _CASTOR_STAR_OBJECT_HH #include "deep_object.hh" #include namespace Castor { class StarObject : public DeepObject { public: struct rgb_color_data { std::string sp; short r,g,b; }; const static rgb_color_data star_color_data[]; StarObject(); ~StarObject(); void get_spectral_type (std::string& type); bool add_element (std::string& name, element_type type, std::string& value); bool check_element (std::string& name); int save (std::ofstream* file); int load (std::ifstream* file); int init (); /*! \fn void get_info (std::list name, std::list value); * \brief Get object information */ void get_info (std::list& name, std::list& value); /*! \fn int render(double x, double y, double mag_max, Gnome::Canvas::Group& group); * \brief Render object */ void render(double x, double y, double mag_max, Gnome::Canvas::Group& group, bool bright, double ppd = 0); protected: std::string m_sp; void init_color (std::string& sp, Gdk::Color& color); Gdk::Color m_colour; private: }; }; #endif