6 #include "ILabelController.h"
10 #include "LabelLayer.h"
12 #include "LabelViewTypes.h"
22 typedef std::vector<const ILabelAnchorFilterModel*> LabelAnchorFilterModelVector;
23 typedef std::vector<ILabelAnchorFilterModelObserver*> LabelAnchorFilterModelObserverVector;
31 const LabelAnchorFilterModelVector& labelHiddenFilterModels,
32 const LabelAnchorFilterModelObserverVector& labelHiddenFilterModelObservers,
37 float cameraAltitudeToCullPastHorizon,
38 const std::vector<double>& lodRefinementAltitudes,
39 float lodRefinementHysteresis
47 bool FetchFromRepository();
49 void UpdateHiddenState();
55 void BuildOcclusionInput();
59 void SubmitToRenderer();
63 void OnLabelOptionsModelChanged();
65 void OnLabelHiddenFilterModelChanged();
67 int CalcZoomLevel(
const float cameraAltitude)
const;
69 bool IsLabelHidden(
const LabelView& labelView)
const;
76 const LabelAnchorFilterModelVector m_labelHiddenFilterModels;
77 const LabelAnchorFilterModelObserverVector m_labelHiddenFilterModelObservers;
82 const std::vector<double> m_lodRefinementAltitudes;
83 const float m_lodRefinementHysteresis;
88 float m_previousEnvironmentFlatteningScale;
89 float m_cameraAltitudeToCullPastHorizon;
90 std::vector<int> m_cullingStats;
91 int m_currentZoomLevel;
92 bool m_labelHiddenFilterModelChanged;
94 std::vector<LabelView*> m_repositoryViewList;
95 std::vector<LabelView*> m_repositoryViewForCurrentZoomList;
96 std::vector<LabelView*> m_viewList;
97 std::vector<LabelView*> m_occludableList;