VR-Forces 4.0.4 Class Documentation
include/vrvOsg/DtOsgCullVisitor.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtOsgCullVisitor.h,v $ $Revision: 1.8 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtOsgCullVisitor_H_
00014 #define DtOsgCullVisitor_H_
00015 
00016 #include <vrvOsg/vrvOsg.h>
00017 #include <vrvOsg/DtOsgCullVisitorParameters.h>
00018 #include <osgUtil/CullVisitor>
00019 
00020 namespace makVrv
00021 {
00027    class DT_DLL_VRVOSG DtOsgCullVisitor : public osgUtil::CullVisitor
00028    {
00029    public:
00031       DtOsgCullVisitor();
00032 
00034       DtOsgCullVisitor(const DtOsgCullVisitor&);
00035 
00037       void initializeViewDependentSettings();
00038 
00040       bool orthoCulling() const;
00041 
00044       bool coordinateSystemChanged() const;
00045 
00048       virtual float getDistanceToScreenEdge(const osg::Vec3& vec) const;
00049 
00051       virtual float altitude2D() const;
00052 
00054       const DtOsgCullVisitorParameters* visitorParameters() const;
00055 
00056    protected:
00057 
00059       virtual void apply(osg::Transform& node);
00060       
00062       virtual void apply(osg::Group& group);
00063 
00066       virtual float getDistanceToViewPoint(const osg::Vec3& vec, bool useLOD) const;
00067 
00070       virtual bool isCulled( osg::Node& node, double scaleFactor ) ;
00071      
00073       DtOsgCullVisitorParameters* getVisitorParameters() const;
00074       
00076       virtual osgUtil::CullVisitor* clone() const;     
00077 
00078    protected:
00079       DtOsgCullVisitorParameters* myInfoCopy;
00080       double myAltitude;
00081       double myMaximumMagnificationAngle;
00082       osg::Matrix myWorldToWindowMatrix;
00083    };
00084 }
00085 
00086 #endif
00087 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)