3 #include "HeatmapShapes.h"
4 #include "ShapeModelBase.h"
5 #include "DoublePlane.h"
6 #include "StencilMapLayerMask.h"
20 IShapeModel::IdType heatmapId,
23 const dv3& originEcef,
24 const ShapeModelBase::PointOnMapVector& points,
25 const std::vector<double>& perPointElevations,
27 const std::vector<u16>& geometryIndices,
30 const std::vector<v3>& untransformedPointsLocalEcef,
32 const std::vector<Eegeo::Space::WeightedLatLongAltitude>& weightedPoints,
35 const v2& textureDimensions,
36 float textureBorderPercent,
37 const std::vector<float>& heatmapDensityStops,
38 const std::vector<double>& heatmapRadiiMeters,
39 const std::vector<double>& heatmapGains,
40 bool useApproximation,
42 bool interpolateDensityByZoom,
48 u32 occludedStencilMapLayerMask,
50 float occludedSaturation,
51 float occludedBrightness,
52 const std::vector<float>& gradientStops,
53 const std::vector<v4>& gradientColors,
64 const std::vector<Eegeo::Space::WeightedLatLongAltitude>& weightedPoints,
69 void SetHeatmapDensities(
70 const std::vector<float>& heatmapDensityStops,
71 const std::vector<double>& heatmapRadiiMeters,
72 const std::vector<double>& heatmapGains
75 void SetUseApproximation(
bool useApproximation);
77 void SetDensityBlend(
float densityBlend);
79 void SetInterpolateDensityByZoom(
bool interpolateDensityByZoom);
81 void SetZoomMin(
double zoomMin);
83 void SetZoomMax(
double zoomMax);
85 void SetIntensityBias(
float intensityBias);
87 void SetIntensityScale(
float intensityScale);
89 void SetOpacity(
float opacity);
91 void SetOccludedStyleAlpha(
float alpha);
93 void SetOccludedStyleSaturation(
float alpha);
95 void SetOccludedStyleBrightness(
float brightness);
98 void SetOccludedStencilMapLayerMask(u32 occludedStencilMapLayerMask);
101 const std::vector<float>& gradientStops,
102 const std::vector<v4>& gradientColors
105 void SetTextureDimensions(
const v2& textureDimensions);
107 const std::vector<Eegeo::Space::WeightedLatLongAltitude>& GetWeightedPoints()
const {
return m_weightedPoints; }
109 double GetWeightMin()
const {
return m_weightMin; }
111 double GetWeightMax()
const {
return m_weightMax; }
113 const v2& GetTextureDimensions()
const {
return m_textureDimensions; }
115 float GetTextureBorderPercent()
const {
return m_textureBorderPercent; }
117 const std::vector<float>& GetHeatmapDensityStops()
const {
return m_heatmapDensityStops; }
119 const std::vector<double>& GetHeatmapRadiiMeters()
const {
return m_heatmapRadiiMeters; }
121 const std::vector<double>& GetHeatmapGains()
const {
return m_heatmapGains; }
123 bool GetUseApproximation()
const {
return m_useApproximation; }
125 float GetDensityBlend()
const {
return m_densityBlend; }
127 bool GetInterpolateDensityByZoom()
const {
return m_interpolateDensityByZoom; }
129 double GetZoomMin()
const {
return m_zoomMin; }
131 double GetZoomMax()
const {
return m_zoomMax; }
133 float GetIntensityBias()
const {
return m_intensityBias; }
135 float GetIntensityScale()
const {
return m_intensityScale; }
137 float GetOpacity()
const {
return m_opacity; }
139 u32 GetOccludedStencilMapLayerMask()
const {
return m_occludedStencilMapLayerMask; }
140 u32 GetNonOccludedStencilMapLayerMask()
const;
141 float GetOccludedAlpha()
const {
return m_occludedAlpha; }
142 float GetOccludedSaturation()
const {
return m_occludedSaturation; }
143 float GetOccludedBrightness()
const {
return m_occludedBrightness; }
145 const std::vector<float>& GetGradientStops()
const {
return m_gradientStops; }
146 const std::vector<v4>& GetGradientColors()
const {
return m_gradientColors; }
150 const std::vector<v3>& GetUntransformedPointsLocalEcef()
const {
return m_untransformedPointsLocalEcef; }
155 virtual void NotifyPointOnMapChanged();
159 const std::vector<v3> m_untransformedPointsLocalEcef;
162 std::vector<Eegeo::Space::WeightedLatLongAltitude> m_weightedPoints;
166 v2 m_textureDimensions;
167 float m_textureBorderPercent;
168 std::vector<float> m_heatmapDensityStops;
169 std::vector<double> m_heatmapRadiiMeters;
170 std::vector<double> m_heatmapGains;
171 bool m_useApproximation;
172 float m_densityBlend;
173 bool m_interpolateDensityByZoom;
177 float m_intensityBias;
178 float m_intensityScale;
181 u32 m_occludedStencilMapLayerMask;
183 float m_occludedAlpha;
184 float m_occludedSaturation;
185 float m_occludedBrightness;
187 std::vector<float> m_gradientStops;
188 std::vector<v4> m_gradientColors;
204 double dataStandardDeviation
207 double GetDataMin()
const {
return m_dataMin; }
208 double GetDataMax()
const {
return m_dataMax; }
209 double GetDataMean()
const {
return m_dataMean; }
210 double GetDataStandardDeviation()
const {
return m_dataStandardDeviation; }
215 double m_dataStandardDeviation;