16 #include <osg/BoundingBox>
17 #include <osg/BoundingSphere>
19 #include <osgUtil/CullVisitor>
45 , myDynamicLightsFlag(true)
46 , myDynamicOceanFlag(true)
48 , myCameraResolution( 1.0 )
49 , myTerrainRadius( 1.0 )
50 , myScalingFlag( true )
51 , myScaleFactor( 1.0 )
52 , myClampedPixelSize( 1.0 )
53 , myCameraMagnification( 1.0 )
55 , myCoordinateSystemChanged( false )
58 , myDynamicWaterVisibilityEnable(true)
59 , myDynamicWaterVisibilityMax(75.)
61 , myPagedLodMagnificationScaleFactor(1.)
62 , myCameraVelocity( 0 )
68 inline void setCameraMagnification(
double mag )
70 myCameraMagnification = mag;
74 inline double cameraMagnification()
const
76 return myCameraMagnification;
80 void setCameraResolution(
double factor)
82 myCameraResolution = factor;
86 inline double cameraResolution()
const
88 return myCameraResolution;
91 void setCameraVelocity(
double velocity)
93 myCameraVelocity = velocity;
97 inline double cameraVelocity()
const
99 return myCameraVelocity;
103 void setTerrainRadius(
double rad)
105 myTerrainRadius = rad;
109 void setAltitude2D(
double altitude )
111 myAltitude2D = altitude;
115 double altitude2D()
const
121 inline unsigned int modelSet()
const
127 void setModelSet(
unsigned int modelSet)
129 myModelSet = modelSet;
133 inline double terrainRadius()
const
135 return myTerrainRadius;
139 void setOrthoCulling(
bool ortho)
145 inline bool orthoCulling()
const
151 inline void setSkyRendering(
bool renderSky)
153 mySkyFlag = renderSky;
158 inline bool skyRendering()
const
164 inline void setDynamicLights(
bool enabled)
166 myDynamicLightsFlag = enabled;
170 inline bool dynamicLights()
const
172 return myDynamicLightsFlag;
176 inline void setDynamicOcean(
bool enabled)
178 myDynamicOceanFlag = enabled;
182 inline bool dynamicOcean()
const
184 return myDynamicOceanFlag;
188 void setScaling(
bool scaling )
190 myScalingFlag = scaling;
194 inline bool scaling()
const
196 return myScalingFlag;
200 void setScaleFactor(
double scaleFactor )
202 myScaleFactor = scaleFactor;
206 inline double scaleFactor()
const
208 return myScaleFactor;
212 void setCoordinateSystemChanged(
bool changed )
214 myCoordinateSystemChanged = changed;
218 inline bool coordinateSystemChanged()
const
220 return myCoordinateSystemChanged;
227 myNodeXRScaler = scaler;
231 inline double calculateXRScale(
const osg::Camera& camera,
232 const osg::Node& node )
234 if ( myNodeXRScaler.valid() )
247 myScaleType = scaleType;
260 void setClampedPixelSize(
double d)
262 myClampedPixelSize = d;
266 double clampedPixelSize()
const
268 return myClampedPixelSize;
274 inline void setDynamicWaterVisibilityEnable(
bool enable )
276 myDynamicWaterVisibilityEnable = enable;
280 inline bool dynamicWaterVisibilityEnable()
const
282 return myDynamicWaterVisibilityEnable;
287 inline void setDynamicWaterVisibilityMax(
double visMax )
289 myDynamicWaterVisibilityMax = visMax;
294 inline double dynamicWaterVisibilityMax()
const
296 return myDynamicWaterVisibilityMax;
301 inline void setPagedLodMagnificationScaleFactor(
float factor)
303 myPagedLodMagnificationScaleFactor = factor;
308 inline float pagedLodMagnificationScaleFactor()
const
310 return myPagedLodMagnificationScaleFactor;
343 : myFixedPixelSize( 1.0 )
357 void setFixedPixelSize(
double d)
359 myFixedPixelSize = d;
362 double fixedPixelSize()
const
364 return myFixedPixelSize;
367 void setDimensions(
double length,
double width,
double height)
369 myLength = length; myWidth = width; myHeight = height;
372 inline double length()
const
377 inline double width()
const
382 inline double height()
const
387 inline void calculateScaleFactors(
const osgUtil::CullVisitor& visitor,
389 double& scaleFactorX,
double& scaleFactorY,
double& scaleFactorZ)
const
392 visitor.clampedPixelSize( sphere.center(), info->
terrainRadius() );
395 calculateScaleFactors( sphere, *info, scaleFactorX,
396 scaleFactorY, scaleFactorZ );
400 double& scaleFactorX,
double& scaleFactorY,
double& scaleFactorZ)
const
402 scaleFactorX = scaleFactorY = scaleFactorZ = 1.0;
405 double curPixels = myWidth / metersPerPixel;
409 scaleFactorX = myFixedPixelSize / curPixels;
414 scaleFactorY = scaleFactorX;
423 void setScaleX(
bool b)
428 inline bool scaleX()
const
433 void setScaleXY(
bool b)
438 inline bool scaleY()
const
443 void setScaleZ(
bool b)
448 inline bool scaleZ()
const