#include <simgear/compiler.h>
-#include STL_STRING // Standard C++ string library
+#include <string> // Standard C++ string library
#include <vector>
#include <map>
*
* A smaller number means more generated night lighting.
*
- * @return The area (m^2?) covered by each light.
+ * @return The area (m^2) covered by each light.
*/
inline double get_light_coverage () const { return light_coverage; }
+ /**
+ * Get the forest coverage.
+ *
+ * A smaller number means more generated forest canopy.
+ *
+ * @return The area (m^2) covered by each canopy.
+ */
+ inline double get_tree_coverage () const { return tree_coverage; }
+
+ /**
+ * Get the forest height.
+ *
+ * @return The average height of the trees.
+ */
+ inline double get_tree_height () const { return tree_height; }
+
+ /**
+ * Get the forest width.
+ *
+ * @return The average width of the trees.
+ */
+ inline double get_tree_width () const { return tree_width; }
+
+ /**
+ * Get the forest LoD range.
+ *
+ * @return The LoD range for the trees.
+ */
+ inline double get_tree_range () const { return tree_range; }
+
+ /**
+ * Get the number of tree varieties available
+ *
+ * @return the number of different trees defined in the texture strip
+ */
+ inline int get_tree_varieties () const { return tree_varieties; }
+
+ /**
+ * Get the texture strip to use for trees
+ *
+ * @return the texture to use for trees.
+ */
+ inline string get_tree_texture () const { return tree_texture; }
+
/**
* Return if the surface material is solid, if it is not solid, a fluid
* can be assumed, that is usually water.
bool wrapu, wrapv;
// use mipmapping?
- int mipmap;
+ bool mipmap;
// coverage of night lighting.
double light_coverage;
+
+ // coverage of trees
+ double tree_coverage;
+
+ // Range at which trees become visible
+ double tree_range;
+
+ // Height of the tree
+ double tree_height;
+
+ // Width of the tree
+ double tree_width;
+
+ // Number of varieties of tree texture
+ int tree_varieties;
// True if the material is solid, false if it is a fluid
bool solid;
// taxiway-/runway-sign texture elements
map<string, SGSharedPtr<SGMaterialGlyph> > glyphs;
-
+
+ // Tree texture, typically a strip of applicable tree textures
+ string tree_texture;
\f
////////////////////////////////////////////////////////////////////
// Internal constructors and methods.
void build_state( bool defer_tex_load );
void set_state( osg::StateSet *s );
- void assignTexture( osg::StateSet *state, const std::string &fname, int _wrapu = TRUE, int _wrapv = TRUE, int _mipmap = TRUE );
+ void assignTexture( osg::StateSet *state, const std::string &fname, bool _wrapu = true, bool _wrapv = true, bool _mipmap = true );
};