Changeset 71 for trunk/VUT/GtpVisibility/include
- Timestamp:
- 04/29/05 18:32:50 (20 years ago)
- Location:
- trunk/VUT/GtpVisibility/include
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/GtpVisibility/include/PreprocessingManager.h
r67 r71 11 11 namespace GtpVisibility { 12 12 13 14 15 16 17 18 13 /** 14 This class defines an interface to the external visibility preprocessor. 15 It allows to export the static part of the scene to a file in the XML format 16 understood by the preprocessor. By default all the exported meshes are considered 17 as scene occluders, whereas occludees are formed by their bounding boxes, 18 and bounding boxes of the scene hierarchy. 19 19 20 21 22 23 24 20 This class also allows to import the preprocessed data with PVS 21 information for the viewcells (note that the viewcells are either generated 22 automatically by the preprocessor or loaded from a polyhedral definition stored 23 in a file (see documentation for the Preprocessor class). 24 */ 25 25 26 27 28 26 class PreprocessingManager 27 { 28 public: 29 29 30 /** 31 Constructor taking a HierarchyInterface as argument. 32 The HierarchyInterface makes the PreprocessingManager independent from the actual 33 scene representation as long as it supports a required set of methods. 34 */ 35 PreprocessingManager( HierarchyInterface *hierarchyInterface ); 30 /** Constructor taking a HierarchyInterface as argument. 31 The HierarchyInterface makes the PreprocessingManager independent from the actual 32 scene representation as long as it supports a required set of methods. 33 */ 34 PreprocessingManager(HierarchyInterface *hierarchyInterface); 36 35 37 36 38 37 /** 39 Destructor which deletes all data describing static scene visibility.38 Destructor which deletes all data describing static scene visibility. 40 39 */ 41 40 virtual ~PreprocessingManager(); 42 41 43 /** 44 Export the scene for visibility preprocessing. Exports the hierarchyInterface including 45 its bounding boxes + mesh data. Note that the bounding boxes can be used as occludees 46 by the extrenal preprocessor. The viewcell data will either be supplied directly to the 47 visibility preprocessing standalone module. 42 /** Export the scene for visibility preprocessing. Exports the hierarchyInterface including 43 its bounding boxes + mesh data. Note that the bounding boxes can be used as occludees 44 by the extrenal preprocessor. The viewcell data will either be supplied directly to the 45 visibility preprocessing standalone module. 48 46 49 @param filename name of the file to export.50 @return true if the export was succesful.47 @param filename name of the file to export. 48 @return true if the export was succesful. 51 49 */ 52 virtual bool ExportScene(const string filename 53 ) = 0; 50 virtual bool ExportScene(const string filename) = 0; 54 51 55 /** 56 Load preprocessed visibility information. The loaded data is matched with the current 57 scene graph. The topology of the current scene graph has to match with the loaded data. 58 There is also geometrical check of the bounding boxes. Once loading is succesful the 59 PreprocessingManager establishes links from its internal visibility representation 60 to the scene graph: no change of this part of the scene graph is allowed; this would 61 violate the static scene assumption! 52 /** Load preprocessed visibility information. The loaded data is matched with the current 53 scene graph. The topology of the current scene graph has to match with the loaded data. 54 There is also geometrical check of the bounding boxes. Once loading is succesful the 55 PreprocessingManager establishes links from its internal visibility representation 56 to the scene graph: no change of this part of the scene graph is allowed; this would 57 violate the static scene assumption! 62 58 63 @param filename name of the file to load.64 @return true if the loading was succesful.59 @param filename name of the file to load. 60 @return true if the loading was succesful. 65 61 */ 66 virtual bool LoadPreprocessedData(const string filename 67 ) = 0; 62 virtual bool LoadPreprocessedData(const string filename) = 0; 68 63 69 64 /** -
trunk/VUT/GtpVisibility/include/QueryManager.h
r65 r71 19 19 output of the visibility preprocessor. 20 20 */ 21 22 23 21 class QueryManager 22 { 23 public: 24 24 /** Constructor taking a hierarchy interface as an argument. This allows to operate 25 25 onm different hierarchy types, while reusing the implementation of the query methods. … … 74 74 75 75 @return true if there is any intersection. 76 76 */ 77 77 virtual bool 78 78 ShootRay(const Ray &ray, … … 81 81 ); 82 82 83 83 /** Sets the scene traverser. 84 84 @remark the scene traverser depends on the type of hierarchyInterface the scene consists of. 85 86 85 */ 86 void SetSceneTraverser(HierarchyInterface *hierarchyInterface ); 87 87 88 88 protected: -
trunk/VUT/GtpVisibility/include/VisibilityEnvironment.h
r59 r71 20 20 }; 21 21 } // namespace GtpVisibility 22 23 /** @}*/ // end of group Visibility 24 22 25 #endif // VisibilityEnvironment_H -
trunk/VUT/GtpVisibility/include/VisibilityInfo.h
r65 r71 9 9 namespace GtpVisibility { 10 10 11 /** Class storing the visibility information of a scene node. 12 */ 13 class NodeInfo { 14 public: 15 NodeInfo(HierarchyNode *node, 16 const float v): 17 mNode(node), mVisibility(v) {} 11 /** Class storing the visibility information of a scene node. 12 */ 13 class NodeInfo 14 { 15 public: 16 NodeInfo(HierarchyNode *node,const float v): mNode(node), mVisibility(v) {} 18 17 19 18 protected: 20 19 /** pointer to the scene node */ 21 20 HierarchyNode *mNode; … … 24 23 total number of ratsterized pixels */ 25 24 float mVisibility; 26 25 }; 27 26 27 /** Class storing the visibility information of a mesh. 28 */ 29 class MeshInfo 30 { 31 public: 32 MeshInfo(Mesh *mesh, const float v): mMesh(mesh), mVisibility(v) {} 33 34 protected: 35 /** Pointer to the mesh. 36 */ 37 Mesh *mMesh; 38 /** Node visibility can either be a number of visible pixels or relative 39 number of visible pixels (if the hardware queries will provide the 40 total number of ratsterized pixels. 41 */ 42 float mVisibility; 43 }; 28 44 29 /** Class storing the visibility information of a mesh. 30 */ 31 class MeshInfo { 32 public: 33 MeshInfo(Mesh *mesh, 34 const float v): 35 mMesh(mesh), mVisibility(v) {} 36 37 protected: 38 /** pointer to the scene node */ 39 Mesh *mMesh; 40 /** node visibility can either be a number of visible pixels or relative 41 number of visible pixels (if the hardware queries will provide the 42 total number of ratsterized pixels */ 43 float mVisibility; 44 }; 45 46 // this define shall be replaced by template typedef 45 //TODO: this define shall be replaced by template typedef 47 46 #define InfoContainer std::vector 48 47 }; -
trunk/VUT/GtpVisibility/include/VisibilityManager.h
r65 r71 1 #ifndef _ Manager_H__2 #define _ Manager_H__1 #ifndef _VisibilityManager_H__ 2 #define _VisibilityManager_H__ 3 3 4 4 #include "CullingManager.h" 5 5 #include "VisibilityEnvironment.h" 6 7 6 8 7 /** This namespace includes all classes which are created by the VUT (Vienna University … … 10 9 and are not directly derived from an Ogre class. 11 10 */ 12 13 11 namespace GtpVisibility { 14 12 … … 52 50 }; 53 51 } // namespace GtpVisibility 52 54 53 #endif // VisibilityManager -
trunk/VUT/GtpVisibility/include/VisibilityMesh.h
r65 r71 9 9 10 10 11 12 #endif 11 #endif // VisibilityMesh.h
Note: See TracChangeset
for help on using the changeset viewer.