enum HeadingType {
HEADING_FIXED,
HEADING_BILLBOARD,
- HEADING_RANDOM
+ HEADING_RANDOM,
+ HEADING_MASK
};
/**
int get_model_count( SGPropertyNode *prop_root );
- /**
- * Get a specific variant model for the object.
- *
- * @param index The index of the model.
- * @return The model.
- */
- osg::Node *get_model( int index, SGPropertyNode *prop_root );
-
-
/**
* Get a randomly-selected variant model for the object.
*
* @return A randomly select model from the variants.
*/
- osg::Node *get_random_model( SGPropertyNode *prop_root );
+ osg::Node *get_random_model( SGPropertyNode *prop_root, mt *seed );
/**
* @return The visual range.
*/
double get_range_m () const;
+
+ /**
+ * Get the minimum spacing between this and any
+ * other objects in m
+ *
+ * @return The spacing in m.
+ */
+ double get_spacing_m () const;
+
/**
* Get a randomized visual range
mutable std::vector<osg::ref_ptr<osg::Node> > _models;
mutable bool _models_loaded;
double _coverage_m2;
+ double _spacing_m;
double _range_m;
HeadingType _heading_type;
};