void forceUpdate()
{ _forceUpdate = true; }
+ bool anyRuleForType(const std::string& type) const;
+ bool isPositionedShown(FGPositioned* pos);
protected:
std::string _name;
int _num;
void limitDisplayedSymbols();
void findItems();
+ void isPositionedShownInner(FGPositioned* pos, SymbolRuleVector& rules);
void foundPositionedItem(FGPositioned* pos);
void computePositionedPropsAndHeading(FGPositioned* pos, SGPropertyNode* nd, double& heading);
void computePositionedState(FGPositioned* pos, string_set& states);
void processAI();
void computeAIStates(const SGPropertyNode* ai, string_set& states);
- bool anyRuleForType(const std::string& type) const;
- bool anyRuleMatches(const std::string& type, const string_set& states) const;
void findRules(const std::string& type, const string_set& states, SymbolRuleVector& rules);
SymbolInstance* addSymbolInstance(const osg::Vec2& proj, double heading, SymbolDef* def, SGPropertyNode* vars);
SGVec3d _cachedPos;
FGPositioned::List _itemsInRange;
SGPropertyNode_ptr _excessDataNode;
-
+ int _maxSymbols;
+
class CacheListener;
std::auto_ptr<CacheListener> _cacheListener;