1 /**************************************************************************/ 2 /* Copyright 2009 Tim Day */ 3 /* */ 4 /* This file is part of Fracplanet */ 5 /* */ 6 /* Fracplanet is free software: you can redistribute it and/or modify */ 7 /* it under the terms of the GNU General Public License as published by */ 8 /* the Free Software Foundation, either version 3 of the License, or */ 9 /* (at your option) any later version. */ 10 /* */ 11 /* Fracplanet is distributed in the hope that it will be useful, */ 12 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ 13 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ 14 /* GNU General Public License for more details. */ 15 /* */ 16 /* You should have received a copy of the GNU General Public License */ 17 /* along with Fracplanet. If not, see <http://www.gnu.org/licenses/>. */ 18 /**************************************************************************/ 19 20 /*! \file 21 \brief Interface for class Parameters. 22 */ 23 24 #ifndef _parameters_h_ 25 #define _parameters_h_ 26 27 #include "common.h" 28 29 //! Common base for ParametersTerrain and ParametersCloud. 30 class ParametersObject 31 { 32 public: 33 34 //! Constructor sets up some hopefully sensible defaults. 35 ParametersObject(); 36 37 //! Destructor 38 virtual ~ParametersObject(); 39 40 //! What kind of object will be generated. 41 typedef enum 42 { 43 ObjectTypePlanet, 44 ObjectTypeFlatHexagon, 45 ObjectTypeFlatTriangle, 46 ObjectTypeFlatSquare 47 } 48 ObjectType; 49 50 //! Kind of object. 51 ObjectType object_type; 52 53 //! Random seed for subdivision and noise. 54 uint seed; 55 56 //! Number of subdivisions. 57 uint subdivisions; 58 }; 59 60 #endif 61