Ignore:
Timestamp:
03/22/07 18:24:13 (18 years ago)
Author:
mattausch
Message:

removed dependency on ogre in gtpvisibility

Location:
GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include
Files:
14 edited
1 moved

Legend:

Unmodified
Added
Removed
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchy.h

    r1344 r2280  
    228228 
    229229                        // add contained geometry (Entities) to list 
    230                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) = 0; 
     230                        virtual void getGeometryList(GeometryVector *geometryList) = 0; 
    231231                         
    232232                        // create (when necessary), setup and return wire bounding box representing the node 
     
    355355 
    356356                        // a branch has no geometry, do nothing 
    357                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) { } 
     357                        virtual void getGeometryList(GeometryVector *geometryList) { } 
    358358 
    359359                        // branches do not posses geometry => just merge child aabbs 
     
    416416                                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes, bool fullVis = false); 
    417417 
    418                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList); 
     418                        virtual void getGeometryList(GeometryVector *geometryList); 
    419419 
    420420                        // update the world aabb based on the contained geometry 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchyInterface.h

    r2259 r2280  
    9191        */ 
    9292        virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,     
    93                                                                          GtpVisibility::GeometryVector *geometryList,  
     93                                                                         GeometryVector *geometryList,  
    9494                                                                         bool includeChildren); 
    9595 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvHierarchySceneNode.h

    r1320 r2280  
    3535 
    3636                // place all entities in geometry queue (for CHC) 
    37                 virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList); 
     37                virtual void getGeometryList(GeometryVector *geometryList); 
    3838 
    3939                // return a bounding box enclosing all objects 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreBvhRenderable.h

    r1320 r2280  
    3535 
    3636                // place all entities in geometry queue (for CHC) 
    37                 virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) = 0; 
     37                virtual void getGeometryList(GeometryVector *geometryList) = 0; 
    3838 
    3939                // return a bounding box enclosing all objects 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdRenderable.h

    r1195 r2280  
    3535 
    3636                // place all entities in geometry queue (for CHC) 
    37                 virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) = 0; 
     37                virtual void getGeometryList(GeometryVector *geometryList) = 0; 
    3838 
    3939                // return a bounding box enclosing all objects 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTree.h

    r1312 r2280  
    3131#include "OgreKdTreeCamera.h" 
    3232#include "HierarchyInterface.h" 
     33#include "VisibilityMesh.h" 
    3334 
    3435 
     
    228229 
    229230                        // add contained geometry (Entities) to list 
    230                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) = 0; 
     231                        virtual void getGeometryList(GeometryVector *geometryList) = 0; 
    231232                         
    232233                        // create (when necessary), setup and return wire bounding box representing the node 
     
    351352 
    352353                        // a branch has no geometry, do nothing 
    353                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList) { } 
     354                        virtual void getGeometryList(GeometryVector *geometryList) { } 
    354355 
    355356                        // branches do not posses geometry => just merge child aabbs 
     
    412413                                Camera* cam, RenderQueue* queue, bool onlyShadowCasters, bool showBoxes, bool fullVis = false); 
    413414 
    414                         virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList); 
     415                        virtual void getGeometryList(GeometryVector *geometryList); 
    415416 
    416417                        // update the world aabb based on the contained geometry 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeHierarchyInterface.h

    r2259 r2280  
    9191        */ 
    9292        virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,     
    93                                                                          GtpVisibility::GeometryVector *geometryList,  
     93                                                                         GeometryVector *geometryList,  
    9494                                                                         bool includeChildren); 
    9595 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreKdTreeSceneNode.h

    r1203 r2280  
    3535 
    3636                // place all entities in geometry queue (for CHC) 
    37                 virtual void getGeometryList(GtpVisibility::GeometryVector *geometryList); 
     37                virtual void getGeometryList(GeometryVector *geometryList); 
    3838 
    3939                // return a bounding box enclosing all objects 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionCullingSceneManager.h

    r2255 r2280  
    1414#include "ViewCellsManager.h" 
    1515#include "VisibilityInfo.h" 
     16#include "VisibilityMesh.h" 
    1617 
    1718 
     
    2627 
    2728 
    28 /** 
    29         This class extends the terrain scene manager, 
    30         using occlusion queries for visibility culling. 
     29/** This class extends the terrain scene manager, using occlusion queries for  
     30        visibility culling. 
    3131*/ 
    3232class __declspec(dllexport) OcclusionCullingSceneManager: public TerrainSceneManager 
     
    196196                                                                 const bool nodeVisibility);     
    197197 
    198         void AddVisibleMeshGeometryToQueue(const GtpVisibility::MeshInfoContainer &visibleGeometry,  
     198        void AddVisibleMeshGeometryToQueue(const MeshInfoContainer &visibleGeometry,  
    199199                                                                           Camera *cam); 
    200         void AddVisibleNodeGeometryToQueue(const GtpVisibility::NodeInfoContainer &visibleNodes,  
     200 
     201        void AddVisibleNodeGeometryToQueue(const NodeInfoContainer &visibleNodes,  
    201202                                                                           Camera *cam); 
    202203 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOcclusionQueriesQueryManager.h

    r2255 r2280  
    22#define _OcclusionQueriesQueryManager_H__ 
    33 
     4 
    45#include "OgrePlatformQueryManager.h" 
     6 
    57 
    68namespace Ogre { 
    79   
    8 /** 
    9         Class which implements a query manager for Ogre scene queries using occlusion queries. 
     10class OgrePlatformHierarchyInterface; 
     11class Viewport; 
     12 
     13/** Class which implements a query manager for Ogre scene queries using occlusion queries. 
    1014*/ 
    1115class __declspec(dllexport) OcclusionQueriesQueryManager: public PlatformQueryManager 
     
    1519                on different hierarchy types, while reusing the implementation of the query methods. 
    1620    */ 
    17         OcclusionQueriesQueryManager(GtpVisibility::HierarchyInterface *hierarchyInterface,  
     21        OcclusionQueriesQueryManager(PlatformHierarchyInterface *hierarchyInterface,  
    1822                                                                 Viewport *vp, 
    1923                                                                 int queryModes,  
    20                                                                  int itemBufferMode); 
    21      
     24                                                                 int itemBufferMode):   
     25        PlatformQueryManager(hierarchyInterface, vp, queryModes),  
     26        mItemBufferMode(itemBufferMode) 
     27        {} 
     28 
    2229    void ComputeCameraVisibility(const Camera &camera, 
    23                                                                  GtpVisibility::NodeInfoContainer *visibleNodes, 
    24                                                                  GtpVisibility::MeshInfoContainer *visibleGeometry, 
    25                                                                  GtpVisibility::PatchInfoContainer *visiblePatches, 
     30                                                                 NodeInfoContainer *visibleNodes, 
     31                                                                 MeshInfoContainer *visibleGeometry, 
     32                                                                 PatchInfoContainer *visiblePatches, 
    2633                                                                 const bool relativeVisibility, 
    2734                                                                 const bool approximateVisibility); 
    2835     
    29     /**  
    30         Uses the specified point to execute the visibility query in all directions.  
    31         @sa ComputeCameraVisibility() 
     36    /** Uses the specified point to execute the visibility query in all directions.  
     37                @sa ComputeCameraVisibility() 
    3238    */ 
    3339    void ComputeFromPointVisibility(const Vector3 &point, 
    34                                                                         GtpVisibility::NodeInfoContainer *visibleNodes, 
    35                                                                         GtpVisibility::MeshInfoContainer *visibleGeometry, 
    36                                                                         GtpVisibility::PatchInfoContainer *visiblePatches, 
     40                                                                        NodeInfoContainer *visibleNodes, 
     41                                                                        MeshInfoContainer *visibleGeometry, 
     42                                                                        PatchInfoContainer *visiblePatches, 
    3743                                                                        const bool relativeVisibility, 
    3844                                                                        const bool approximateVisibility); 
     
    4349        void CollectGeometryVisibility(GtpVisibility::QueryList::iterator &visQueryIt,  
    4450                                                                   GtpVisibility::QueryList::iterator &projQueryIt, 
    45                                                                    GtpVisibility::GeometryVector *geometryList,  
    46                                                                    GtpVisibility::MeshInfoContainer *visibleGeometry, 
     51                                                                   GeometryVector *geometryList,  
     52                                                                   MeshInfoContainer *visibleGeometry, 
    4753                                                                   bool relativeVisibility); 
    4854 
     
    5056                                                           GtpVisibility::QueryList::iterator &projQueryIt, 
    5157                                                           GtpVisibility::NodeVector *nodeList,  
    52                                                            GtpVisibility::NodeInfoContainer *visibleNodes, 
     58                                                           NodeInfoContainer *visibleNodes, 
    5359                                                           bool relativeVisibility); 
    5460 
    5561        void CollectRelativeGeometryVisibilityForItemBuffer(GtpVisibility::QueryList::iterator &projQueryIt, 
    56                                                                                                 GtpVisibility::GeometryVector *geometryList,  
    57                                                                                                 GtpVisibility::MeshInfoContainer *visibleGeometry); 
     62                                                                                                                GeometryVector *geometryList,  
     63                                                                                                                MeshInfoContainer *visibleGeometry); 
    5864 
    59         void CollectRelativePatchVisibilityForItemBuffer( 
    60                                                                         GtpVisibility::QueryList::iterator &projQueryIt, 
    61                                                                         GtpVisibility::PatchVector *patchList,  
    62                                                                         GtpVisibility::PatchInfoContainer *visiblePatches); 
     65        void CollectRelativePatchVisibilityForItemBuffer(GtpVisibility::QueryList::iterator &projQueryIt, 
     66                                                                                                         PatchVector *patchList,  
     67                                                                                                         PatchInfoContainer *visiblePatches); 
    6368 
    6469        void CollectPatchVisibility(GtpVisibility::QueryList::iterator &visQueryIt,  
    6570                                                                GtpVisibility::QueryList::iterator &projQueryIt, 
    66                                                                 GtpVisibility::PatchVector *patchList,  
    67                                                                 GtpVisibility::PatchInfoContainer *visiblePatches, 
     71                                                                PatchVector *patchList,  
     72                                                                PatchInfoContainer *visiblePatches, 
    6873                                                                bool relativeVisibility); 
    6974 
    70         void RemoveDuplicateNodes(GtpVisibility::NodeInfoContainer *visibleNodes); 
    71         void RemoveDuplicateGeometry(GtpVisibility::MeshInfoContainer *visibleMesh); 
    72         void RemoveDuplicatePatches(GtpVisibility::PatchInfoContainer *visiblePatches); 
     75        void RemoveDuplicateNodes(NodeInfoContainer *visibleNodes); 
     76        void RemoveDuplicateGeometry(MeshInfoContainer *visibleMesh); 
     77        void RemoveDuplicatePatches(PatchInfoContainer *visiblePatches); 
    7378 
    7479        /** Returns the patches of the geometry of a given node.  
     
    7782        */ 
    7883        virtual void GetNodePatchList(GtpVisibility::HierarchyNode *node,        
    79                                                                   GtpVisibility::PatchVector *patchList); 
     84                                                                  PatchVector *patchList); 
    8085 
    8186        int mItemBufferMode; 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreOctreeHierarchyInterface.h

    r2278 r2280  
    4949 
    5050        void GetNodeGeometryList(GtpVisibility::HierarchyNode *node, 
    51                                                          GtpVisibility::GeometryVector *geometryList,  
     51                                                         GeometryVector *geometryList,  
    5252                                                         bool includeChildren); 
    5353         
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformHierarchyInterface.h

    r938 r2280  
    66#include <OgreCamera.h> 
    77#include <OgreRenderSystem.h> 
    8  
    9 //#include "OgreSolidHalfBoundingBox.h" 
    108#include "OgreSolidBoundingBox.h" 
    119#include "HierarchyInterface.h" 
    1210#include "VisibilityInfo.h" 
    1311#include "OgrePlatformOcclusionQuery.h" 
     12#include "VisibilityMesh.h" 
     13 
     14 
    1415 
    1516/** This namespace contains the Ogre dependent classes. 
     
    114115        void ResetQueries(); 
    115116 
     117        /** Returns the geometry of a given hierarchy node.  
     118                @param node the hierarchy node containing the geometry 
     119                @param geometryList geometry is returned in this list 
     120                @param includeChildren if the geometry of the children should be taken into account 
     121        */ 
     122        virtual void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,     
     123                                                                         GeometryVector *geometryList,  
     124                                                                         bool includeChildren) = 0; 
     125 
    116126protected: 
    117127        /** Renders the given geometry  
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgrePlatformQueryManager.h

    r2255 r2280  
    44#include "VisibilityInfo.h" 
    55#include "QueryManager.h" 
    6 #include "HierarchyInterface.h" 
     6#include "OgrePlatformHierarchyInterface.h" 
     7#include "VisibilityMesh.h" 
     8 
    79 
    810namespace Ogre { 
    911   
    10 /** 
    11         Class which implements the QueryManager for Ogre scene queries. 
     12/** Class which implements the QueryManager for Ogre scene queries. 
    1213*/ 
    1314class __declspec(dllexport) PlatformQueryManager: public GtpVisibility::QueryManager 
     
    1718            on different hierarchy types, while reusing the implementation of the query methods. 
    1819    */ 
    19         PlatformQueryManager(GtpVisibility::HierarchyInterface *hierarchyInterface,  
     20        PlatformQueryManager(PlatformHierarchyInterface *hierarchyInterface,  
    2021                                 Viewport *vp,  
    21                                                  int queryModes); 
     22                                                 int queryModes) 
     23        : QueryManager(queryModes), 
     24          mViewport(vp),  
     25          mWasInitialised(false), 
     26          mHierarchyInterface(hierarchyInterface) 
     27        {} 
    2228     
    23     /**  
    24         Uses the specified point to execute the visibility query in all directions.  
    25         @sa ComputeCameraVisibility() 
     29    /** Uses the specified point to execute the visibility query in all directions.  
     30                @sa ComputeCameraVisibility() 
    2631    */ 
    27     void ComputeFromPointVisibility(const Vector3 &point, 
    28                                                                         GtpVisibility::NodeInfoContainer *visibleNodes, 
    29                                                                         GtpVisibility::MeshInfoContainer *visibleGeometry, 
    30                                                                         GtpVisibility::PatchInfoContainer *visiblePatches, 
    31                                                                         const bool relativeVisibility, 
    32                                                                         const bool approximateVisibility); 
     32    virtual void ComputeFromPointVisibility(const Vector3 &point, 
     33                                                                                        NodeInfoContainer *visibleNodes, 
     34                                                                                        MeshInfoContainer *visibleGeometry, 
     35                                                                                        PatchInfoContainer *visiblePatches, 
     36                                                                                        const bool relativeVisibility, 
     37                                                                                        const bool approximateVisibility); 
    3338   
    34         void ComputeCameraVisibility(const Camera &camera, 
    35                                                                  GtpVisibility::NodeInfoContainer *visibleNodes, 
    36                                                                  GtpVisibility::MeshInfoContainer *visibleGeometry, 
    37                                                                  GtpVisibility::PatchInfoContainer *visiblePatches, 
    38                                                                 const bool relativeVisibility, 
    39                                                                 const bool approximateVisibility); 
     39        virtual void ComputeCameraVisibility(const Camera &camera, 
     40                                                                                 NodeInfoContainer *visibleNodes, 
     41                                                                                 MeshInfoContainer *visibleGeometry, 
     42                                                                                 PatchInfoContainer *visiblePatches, 
     43                                                                                const bool relativeVisibility, 
     44                                                                                const bool approximateVisibility); 
    4045   
    41         bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false);   
     46        //virtual bool ShootRay(const Ray &ray, std::vector<Mesh *> *visibleMeshes, bool isGlobalLine = false);   
    4247 
    4348        /** Sets a viewport for rendering. 
     
    4651 
    4752protected: 
     53 
    4854#ifdef ITEM_BUFFER 
    49         void CollectItemBufferResults( 
    50                                 GtpVisibility::MeshInfoContainer *visibleGeometry, 
    51                                 GtpVisibility::PatchInfoContainer *visiblePatches); 
     55        void CollectItemBufferResults(MeshInfoContainer *visibleGeometry, 
     56                                                                  PatchInfoContainer *visiblePatches); 
    5257 
    53         void InitItemBuffer(GtpVisibility::MeshInfoContainer *visibleGeometry, 
    54                                                 GtpVisibility::PatchInfoContainer *visiblePatches); 
     58        void InitItemBuffer(MeshInfoContainer *visibleGeometry, 
     59                                                PatchInfoContainer *visiblePatches); 
    5560#endif // ITEM_BUFFER 
    5661 
    5762        Viewport *mViewport; 
    58          
    5963        bool mWasInitialised; 
     64 
     65        PlatformHierarchyInterface *mHierarchyInterface; 
    6066}; 
    6167 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/OgreSceneNodeHierarchyInterface.h

    r2259 r2280  
    4343         
    4444        void GetNodeGeometryList(GtpVisibility::HierarchyNode *node,     
    45                                          GtpVisibility::GeometryVector *geometryList,  
    46                                         bool includeChildren); 
     45                                                         GeometryVector *geometryList,  
     46                                                        bool includeChildren); 
    4747 
    4848        void DetermineFullVisibility(GtpVisibility::HierarchyNode *node) const {} 
  • GTP/trunk/Lib/Vis/OnlineCullingCHC/OGRE/include/VisibilityMesh.h

    r159 r2280  
    22#define _VisibilityMesh_H__ 
    33 
    4 //#include <OgreMesh.h> 
     4 
    55#include <OgreEntity.h> 
     6#include "VisibilityInfo.h" 
    67 
    78namespace GtpVisibility { 
     
    1112 
    1213 
     14typedef std::vector<GtpVisibility::Mesh *> GeometryVector; 
     15typedef std::vector<GtpVisibility::Patch *> PatchVector; 
     16 
     17 
     18typedef GtpVisibility::VisibilityInfo<GtpVisibility::Patch *> PatchInfo; 
     19typedef GtpVisibility::VisibilityInfo<GtpVisibility::Mesh *> MeshInfo; 
     20typedef GtpVisibility::VisibilityInfo<GtpVisibility::HierarchyNode *> NodeInfo; 
     21 
     22 
     23typedef std::vector<PatchInfo> PatchInfoContainer; 
     24typedef std::vector<MeshInfo> MeshInfoContainer; 
     25typedef std::vector<NodeInfo> NodeInfoContainer; 
     26 
     27 
    1328#endif // VisibilityMesh.h 
Note: See TracChangeset for help on using the changeset viewer.