QueryManager.h

Go to the documentation of this file.
00001 #ifndef _VisibilityQueryManager_H__
00002 #define _VisibilityQueryManager_H__
00003 
00004 #include <vector>
00005 
00006 #include "VisibilityInfo.h"
00007 #include "VisibilityVector3.h"
00008 #include "VisibilityCamera.h"
00009 #include "VisibilityRay.h"
00010 
00011 namespace GtpVisibility {
00012   
00021   class QueryManager
00022   {
00023   public:
00027     QueryManager( HierarchyInterface *hierarchyInterface );
00028     
00047     virtual void
00048     ComputeCameraVisibility(const Camera &camera,
00049                             InfoContainer<NodeInfo> *visibleNodes,
00050                             InfoContainer<MeshInfo> *visibleGeometry,
00051                             bool relativeVisibility = false
00052                             ) = 0;
00053     
00058     virtual void
00059     ComputeFromPointVisibility(const Vector3 &point,
00060                                InfoContainer<NodeInfo> *visibleNodes,
00061                                InfoContainer<MeshInfo> *visibleGeometry,
00062                                bool relativeVisibility = false
00063                                ) = 0;
00064     
00077     virtual bool
00078     ShootRay(const Ray &ray,
00079              std::vector<Mesh *> *visibleMeshes,
00080              bool isGlobalLine = false
00081              );
00082   
00086   void SetSceneTraverser(HierarchyInterface *hierarchyInterface );
00087 
00088 protected:
00089     HierarchyInterface *mHierarchyInterface;
00090   
00091 };
00092 
00093 };
00094 
00095 #endif // VisibilityQueryManager

Generated on Fri Apr 29 19:47:56 2005 for GameTools Visibility Modules by  doxygen 1.4.2