source: trunk/VUT/Ogre/include/OgrePlatformQueryManager.h @ 159

Revision 159, 1.8 KB checked in by mattausch, 19 years ago (diff)

added flags for switching on/off transparents for item buffer and vertex programs for depth pass / item buffer

Line 
1#ifndef _PlatformQueryManager_H__
2#define _PlatformQueryManager_H__
3
4#include "VisibilityInfo.h"
5#include "QueryManager.h"
6#include "OgrePlatformHierarchyInterface.h"
7
8namespace Ogre {
9 
10/**
11        Class which implements the QueryManager for Ogre scene queries.
12*/
13class __declspec(dllexport) PlatformQueryManager: public GtpVisibility::QueryManager
14{
15public:
16    /** Constructor taking a hierarchy interface as an argument. This allows to operate
17        onm different hierarchy types, while reusing the implementation of the query methods.
18    */
19        PlatformQueryManager(PlatformHierarchyInterface *hierarchyInterface, Viewport *vp);
20   
21    /**
22        Uses the specified point to execute the visibility query in all directions.
23        @sa ComputeCameraVisibility()
24    */
25    void ComputeFromPointVisibility(const Vector3 &point,
26                               InfoContainer<GtpVisibility::NodeInfo> *visibleNodes,
27                               InfoContainer<GtpVisibility::MeshInfo> *visibleGeometry,
28                                   InfoContainer<GtpVisibility::PatchInfo> *visiblePatches,
29                               bool relativeVisibility = false);
30   
31  /**
32      Ray shooting interface: finds an intersection with objects in the scene.
33
34      @param ray The given input ray (assuming the ray direction is normalized)
35
36      @param visibleMeshes List of meshes intersecting the ray
37
38      @param isGlobalLine If false only first intersection with opaque object is returned.
39      Otherwise all intersections of the ray with the scene are found.
40
41      @return true if there is any intersection.
42        */
43    virtual bool
44    ShootRay(const Ray &ray,
45             std::vector<Mesh *> *visibleMeshes,
46             bool isGlobalLine = false
47             ); 
48
49        /** Sets a viewport for rendering.
50        */
51        void SetViewport(Viewport *vp);
52       
53protected:
54        Viewport *mViewport;
55        bool mWasInitialised;
56};
57
58} // namespace Ogre
59
60#endif // PlatformQueryManager
Note: See TracBrowser for help on using the repository browser.