VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainPagingGeometry.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vlutil/vlSmartPointers.h>
15 #include <vlutil/vlString.h>
16 #include <list>
18 #include <geometry/extent.h>
19 
25 {
26 public:
28  virtual ~DtTerrainPagingGeometry();
30  DtTerrainPagingGeometry& operator=(const DtTerrainPagingGeometry& orig);
31 
33  virtual int type() const = 0;
34 
36  virtual DtTerrainPagingGeometry* clone() const = 0;
37 
39  virtual DtExtent extent() const = 0;
40 
42  virtual DtString description() const;
43 protected:
44 };
45 
46 typedef std::shared_ptr<DtTerrainPagingGeometry> DtTerrainPagingGeometryPtr;
47 
49 {
51  : myPriority(100)
52  , myExpireTime(-1.0)
53  , myIntersectId(0)
54  , myForceLoadAllData(false)
55  , myTerrainCategoryMask(DtTerrainCategoryAll)
56  {
57 
58  };
59 
60  DtPagingMetaData(int priority, double expireTime,
61  DtTerrainIntersectIDType intersectId = 0, bool forceLoadAllData = false)
62  : myPriority(priority)
63  , myExpireTime(expireTime)
64  , myIntersectId(intersectId)
65  , myForceLoadAllData(forceLoadAllData)
66  , myTerrainCategoryMask(DtTerrainCategoryAll)
67  {
68 
69  };
70 
72  : myPriority(orig.myPriority)
73  , myExpireTime(orig.myExpireTime)
74  , myIntersectId(orig.myIntersectId)
75  , myForceLoadAllData(orig.myForceLoadAllData)
76  , myTerrainCategoryMask(orig.myTerrainCategoryMask)
77  {
78 
79  }
80 
81  DtPagingMetaData* clone() { return new DtPagingMetaData(*this); }
82 
83  int priority() const { return myPriority; }
84  void setPriority(int priority) { myPriority = priority; }
85 
86  double expireTime() const { return myExpireTime; }
87  void setExpireTime(double time) { myExpireTime = time; }
88 
89  DtTerrainIntersectIDType intersectId() const { return myIntersectId; }
90  void setIntersectId(DtTerrainIntersectIDType intersectId) { myIntersectId = intersectId;}
91 
92  bool forceLoadAllData() const { return myForceLoadAllData; }
93  void setForceLoadAllData(bool forceLoadAllData) { myForceLoadAllData = forceLoadAllData; }
94 
95  DtTerrainCategoryMask terrainCategoryMask() const { return myTerrainCategoryMask; }
96  void setTerrainCategoryMask(DtTerrainCategoryMask mask) { myTerrainCategoryMask = mask; }
97 
98 protected:
99 
101  double myExpireTime;
105 
106 };
107 
108 typedef std::shared_ptr<DtPagingMetaData> DtPagingMetaDataPtr;
109 
110 typedef std::list<std::pair<DtPagingMetaDataPtr, DtTerrainPagingGeometryPtr> >
112 
113 
114 
void setPriority(int priority)
Definition: terrainPagingGeometry.h:84
Definition: terrainPagingGeometry.h:48
DtPagingMetaData()
Definition: terrainPagingGeometry.h:50
void setIntersectId(DtTerrainIntersectIDType intersectId)
Definition: terrainPagingGeometry.h:90
std::list< std::pair< DtPagingMetaDataPtr, DtTerrainPagingGeometryPtr > > DtTerrainPagingGeometryList
Definition: terrainPagingGeometry.h:111
double myExpireTime
Definition: terrainPagingGeometry.h:101
bool forceLoadAllData() const
Definition: terrainPagingGeometry.h:92
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
bool myForceLoadAllData
Definition: terrainPagingGeometry.h:103
int myPriority
Definition: terrainPagingGeometry.h:100
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
void setExpireTime(double time)
Definition: terrainPagingGeometry.h:87
void setTerrainCategoryMask(DtTerrainCategoryMask mask)
Definition: terrainPagingGeometry.h:96
std::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:46
#define DT_DLL_terrainInterface
This file is used to determine how to build.
Definition: terrainInterfaceDefines.h:25
DtTerrainCategoryMask terrainCategoryMask() const
Definition: terrainPagingGeometry.h:95
double expireTime() const
Definition: terrainPagingGeometry.h:86
void setForceLoadAllData(bool forceLoadAllData)
Definition: terrainPagingGeometry.h:93
DtPagingMetaData * clone()
Definition: terrainPagingGeometry.h:81
DtPagingMetaData(int priority, double expireTime, DtTerrainIntersectIDType intersectId=0, bool forceLoadAllData=false)
Definition: terrainPagingGeometry.h:60
std::shared_ptr< DtPagingMetaData > DtPagingMetaDataPtr
Definition: terrainPagingGeometry.h:108
Terrain which represents buildings and other structures. There should be terrain skin under these...
Definition: rwTerrainCategoryMask.h:23
Abstract base class for defining geometric areas for paging of terrain. Subclasses of this class will...
Definition: terrainPagingGeometry.h:24
Contains the declaration of the DtExtent class.
unsigned int DtTerrainCategoryMask
This bitmask is made using DtTerrainCategory values.
Definition: rwTerrainCategoryMask.h:27
DtTerrainIntersectIDType myIntersectId
Definition: terrainPagingGeometry.h:102
int priority() const
Definition: terrainPagingGeometry.h:83
DtPagingMetaData(const DtPagingMetaData &orig)
Definition: terrainPagingGeometry.h:71
DtTerrainIntersectIDType intersectId() const
Definition: terrainPagingGeometry.h:89
DtTerrainCategoryMask myTerrainCategoryMask
Definition: terrainPagingGeometry.h:104

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)