17 #include <osg/Referenced>
18 #include <osg/BoundingBox>
19 #include <osg/BoundingSphere>
21 #include <osgUtil/CullVisitor>
49 , myDynamicLightsFlag(true)
50 , myDynamicOceanFlag(true)
52 , myCameraResolution( 1.0 )
53 , myTerrainRadius( 1.0 )
54 , myScalingFlag( true )
55 , myScaleFactor( 1.0 )
56 , myClampedPixelSize( 1.0 )
57 , myCameraMagnification( 1.0 )
59 , myCoordinateSystemChanged( false )
62 , myDynamicWaterVisibilityEnable(true)
63 , myDynamicWaterVisibilityMax(75.)
65 , myPagedLodMagnificationScaleFactor(1.)
66 , myCameraVelocity( 0 )
72 inline void setCameraMagnification(
double mag )
74 myCameraMagnification = mag;
78 inline double cameraMagnification()
const
80 return myCameraMagnification;
84 void setCameraResolution(
double factor)
86 myCameraResolution = factor;
90 inline double cameraResolution()
const
92 return myCameraResolution;
95 void setCameraVelocity(
double velocity)
97 myCameraVelocity = velocity;
101 inline double cameraVelocity()
const
103 return myCameraVelocity;
107 void setTerrainRadius(
double rad)
109 myTerrainRadius = rad;
113 void setAltitude2D(
double altitude )
115 myAltitude2D = altitude;
119 double altitude2D()
const
125 inline unsigned int modelSet()
const
131 void setModelSet(
unsigned int modelSet)
133 myModelSet = modelSet;
137 inline double terrainRadius()
const
139 return myTerrainRadius;
143 void setOrthoCulling(
bool ortho)
149 inline bool orthoCulling()
const
155 inline void setSkyRendering(
bool renderSky)
157 mySkyFlag = renderSky;
162 inline bool skyRendering()
const
168 inline void setDynamicLights(
bool enabled)
170 myDynamicLightsFlag = enabled;
174 inline bool dynamicLights()
const
176 return myDynamicLightsFlag;
180 inline void setDynamicOcean(
bool enabled)
182 myDynamicOceanFlag = enabled;
186 inline bool dynamicOcean()
const
188 return myDynamicOceanFlag;
192 void setScaling(
bool scaling )
194 myScalingFlag = scaling;
198 inline bool scaling()
const
200 return myScalingFlag;
204 void setScaleFactor(
double scaleFactor )
206 myScaleFactor = scaleFactor;
210 inline double scaleFactor()
const
212 return myScaleFactor;
216 void setCoordinateSystemChanged(
bool changed )
218 myCoordinateSystemChanged = changed;
222 inline bool coordinateSystemChanged()
const
224 return myCoordinateSystemChanged;
231 myNodeXRScaler = scaler;
235 inline double calculateXRScale(
const osg::Camera& camera,
236 const osg::Node& node )
238 if ( myNodeXRScaler.valid() )
251 myScaleType = scaleType;
264 void setClampedPixelSize(
double d)
266 myClampedPixelSize = d;
270 double clampedPixelSize()
const
272 return myClampedPixelSize;
278 inline void setDynamicWaterVisibilityEnable(
bool enable )
280 myDynamicWaterVisibilityEnable = enable;
284 inline bool dynamicWaterVisibilityEnable()
const
286 return myDynamicWaterVisibilityEnable;
291 inline void setDynamicWaterVisibilityMax(
double visMax )
293 myDynamicWaterVisibilityMax = visMax;
298 inline double dynamicWaterVisibilityMax()
const
300 return myDynamicWaterVisibilityMax;
305 inline void setPagedLodMagnificationScaleFactor(
float factor)
307 myPagedLodMagnificationScaleFactor = factor;
312 inline float pagedLodMagnificationScaleFactor()
const
314 return myPagedLodMagnificationScaleFactor;
347 : myFixedPixelSize( 1.0 )
361 void setFixedPixelSize(
double d)
363 myFixedPixelSize = d;
366 double fixedPixelSize()
const
368 return myFixedPixelSize;
371 void setDimensions(
double length,
double width,
double height)
373 myLength = length; myWidth = width; myHeight = height;
376 inline double length()
const
381 inline double width()
const
386 inline double height()
const
391 inline void calculateScaleFactors(
const osgUtil::CullVisitor& visitor,
393 double& scaleFactorX,
double& scaleFactorY,
double& scaleFactorZ)
const
396 visitor.clampedPixelSize( sphere.center(), info->
terrainRadius() );
399 calculateScaleFactors( sphere, *info, scaleFactorX,
400 scaleFactorY, scaleFactorZ );
404 double& scaleFactorX,
double& scaleFactorY,
double& scaleFactorZ)
const
406 scaleFactorX = scaleFactorY = scaleFactorZ = 1.0;
409 double curPixels = myWidth / metersPerPixel;
413 scaleFactorX = myFixedPixelSize / curPixels;
418 scaleFactorY = scaleFactorX;
427 void setScaleX(
bool b)
432 inline bool scaleX()
const
437 void setScaleXY(
bool b)
442 inline bool scaleY()
const
447 void setScaleZ(
bool b)
452 inline bool scaleZ()
const