16 #include <osgEarth/GeoData>
40 myGroupedModelMatrix( mat )
44 osg::Matrix myGroupedModelMatrix;
67 DtModelMergerCell(
double lat,
double lon,
double maxLat,
double maxLon,
double alt,
int lod,
75 virtual bool addModel(
ModelInfo& model );
81 virtual void setMaxModelCount(
size_t count );
82 virtual size_t maxModelCount()
const;
96 virtual void setMinimumCellSize(
double size);
97 virtual double mimimumCellSize()
const;
102 virtual double lat()
const;
103 virtual double lon()
const;
104 virtual double maxLat()
const;
105 virtual double maxLon()
const;
106 virtual double alt()
const;
107 virtual int lod()
const;
110 virtual std::array< DtModelMergerCell*, 4>& subCells();
111 virtual std::vector<ModelInfo>& models();
116 virtual void setCacheDirectory( std::string& cacheDir );
117 virtual void setMappingsCacheDirectory( std::string& mappingsDir );
118 virtual void setLatLonLodString( std::string& str );
119 virtual const std::string& cacheDirectory()
const;
123 virtual void runDiskWriteOps();
126 virtual void setOverwrite(
bool overwrite );
130 virtual void setIsRootCell(
bool isRoot );
133 virtual void setMappingsMap( std::unordered_map<std::string, std::string>* map );
134 virtual void setInfosMap( std::unordered_map<std::string, GroupedModelInfo>* map );
140 virtual void printMinCellStats();
143 virtual void initCellCoordinates();
146 virtual void createSubCells();
149 virtual bool isPointInCell(
const osg::Vec2d& point );
152 virtual void buildTransformForCell();
154 virtual void writeModelsGroupNodeToDisk();
157 virtual void writeGroupedModelInfosToDisk();
161 virtual void writeMappingsToDisk();
double lon
Definition: DtModelMergerCell.h:55
std::vector< osg::Vec2 > myCellCoordinates
Lat Lon degrees.
Definition: DtModelMergerCell.h:190
Info for each model added to the cell.
Definition: DtModelMergerCell.h:48
GroupedModelInfo(osg::Matrix mat)
Definition: DtModelMergerCell.h:39
std::string myLatLonLodString
Definition: DtModelMergerCell.h:203
std::string componentName
Definition: DtModelMergerCell.h:62
unsigned int index
Definition: DtModelMergerCell.h:59
The DtGeoReference class provides a mechanism to convert between geodetic coordinates and topocentric...
Definition: DtGeoReference.h:28
bool myBeenVisualised
Definition: DtModelMergerCell.h:178
GroupedModelInfo()
Definition: DtModelMergerCell.h:35
double myLon
Definition: DtModelMergerCell.h:167
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myIsRootCell
Definition: DtModelMergerCell.h:180
DtGeoReference myShapeFileGeoRef
Definition: DtModelMergerCell.h:187
bool myOverwrite
Definition: DtModelMergerCell.h:179
voidpf void uLong size
Definition: ioapi.h:39
std::unordered_map< std::string, std::string > * myDatabaseFileToGroupNodeFileMap
Definition: DtModelMergerCell.h:205
osg::ref_ptr< osgDB::Options > myDbOptions
Definition: DtModelMergerCell.h:208
bool myIsMinSize
Definition: DtModelMergerCell.h:181
std::vector< ModelInfo > myModels
Definition: DtModelMergerCell.h:193
double myLat
Definition: DtModelMergerCell.h:166
double myMinSize
Minimum size that the cell can be in metres, x and y Default 200.
Definition: DtModelMergerCell.h:173
osg::ref_ptr< osg::MatrixTransform > myCellTransform
Definition: DtModelMergerCell.h:197
osg::Matrix transform
Definition: DtModelMergerCell.h:63
double alt
Definition: DtModelMergerCell.h:56
size_t myMaxModelCount
Definition: DtModelMergerCell.h:199
int lod
Definition: DtModelMergerCell.h:58
double lat
Definition: DtModelMergerCell.h:54
double myAlt
Definition: DtModelMergerCell.h:170
std::string modelFilePath
Definition: DtModelMergerCell.h:61
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
double myMaxLon
Definition: DtModelMergerCell.h:169
bool mySubCellsCreated
Definition: DtModelMergerCell.h:177
2D Quad tree based on lat/lon, splits when a max model count is reached
Definition: DtModelMergerCell.h:23
Contains DLL export macros.
std::string myCacheDirectory
Definition: DtModelMergerCell.h:201
double myMaxLat
Definition: DtModelMergerCell.h:168
osg::ref_ptr< osg::Group > myModelsGroupNode
Definition: DtModelMergerCell.h:195
std::string myMappingsCacheDirectory
Definition: DtModelMergerCell.h:202
Contains makVrv::DtGeoReference class.
osg::ref_ptr< osgEarth::SpatialReference > myWgs84
Definition: DtModelMergerCell.h:185
std::array< DtModelMergerCell *, 4 > mySubCells
Definition: DtModelMergerCell.h:183
Struct for info about the myModelsGroupNode that is written to disk. The myModelsGroupNode contains t...
Definition: DtModelMergerCell.h:32
osg::Vec2 myCellSizeInMetres
Definition: DtModelMergerCell.h:191
DtCoordinateSystem & myCoordinateSystem
Definition: DtModelMergerCell.h:186
int myLod
Definition: DtModelMergerCell.h:175
std::unordered_map< std::string, GroupedModelInfo > * myGroupedModelToInfoMap
Definition: DtModelMergerCell.h:206