27#pragma warning( push )
28#pragma warning(disable:4251)
31#include <Inventor/STL/vector>
32#include <Inventor/SbBox.h>
33#include <LDM/SoLDMTileID.h>
34#include <LDM/SoLDMResourceManager.h>
35#include <LDM/nodes/SoLDMResourceParameters.h>
37#include <LDM/SoLDMDataAccess.h>
39#include <LDM/elements/SoDataSetElement.h>
43class SoLDMTileVisitor;
44class SoLDMProximityVisitor;
45class SoLDMMultiIOTileManager;
46class SoLDMNodeFrontManager;
47class SoLDMTextureManager;
51class LDMDefaultSliceAccessor;
55class SoLdmParameterNode;
59class SoLdmValuationAction;
61class SoLDMTileManager;
62class LDMSliceAccessor;
88 virtual ~SoLDMMediator();
95 void readTile(
int dataSetId,
SoLDMTileID tileID,
unsigned char* buffer,
bool transform) ;
99 size_t readTile(SoLDMTileInfo* tileInfo,
const int dataSetId,
bool transform);
101 uint64_t getTileSize(
int dataSetId,
const SoLDMTileID* tileId = NULL)
const ;
105 const SbBox3f& getExtent()
const ;
106 int getOverlapping()
const
111 void renderNotify()
const;
116 const std::vector<int>& getNumData()
const ;
122 SbBool getListChange(){
return m_listChange;};
125 int getDataEntry(
unsigned short id)
const ;
129 bool hasMultiDataError()
const
131 return m_multiDataError;
138 void registerWithIds(
SoDataSet* ds, std::vector<int> ids,
bool sync);
141 void unregisterAllIds(
SoDataSet* ds, SoLDMMediator* newMediator = NULL);
144 void unregisterAll();
146 SoLDMTileManager* getTileManager() {
return m_tileManager; }
147 SoLDMTextureManager* getTextureManager() {
return m_textureManager; }
148 SoLDMGeometry* getVVizGeometry() {
return m_vvizGeometry; }
149 SoLDMNodeFrontManager* getNodeFrontManager() {
return m_nodeFrontManager; }
152 void startRenderTraversal(SoLdmValuationAction*,
SoDataSet*);
154 void updateRegions(
const SbBox3i32* region,
int numRegions);
172 int getBiggestBufferEntry()
const;
176 void restartLoadingThread();
179 void updateDataIds() ;
181 SoDataSet* getVolumeOfId(
unsigned short dataSetId)
const;
188 void getDataSetIds(
const SoDataSet* ds, std::vector<int>& ids)
const;
195 if (m_volumeDataList.empty())
198 return m_volumeDataList[0].dsIdPair.first;
226 typedef std::vector<DataSetInfo> DataSetInfoList;
228 DataSetInfoList & getVolumeDataList();
236 bool isAlreadyInFixResMode()
const
238 return m_isTileVisitorFixedRes;
248 void useFixedTileVisitor(
bool flag)
250 m_isTileVisitorFixedRes = flag;
265 void setTileVisitor( SoLDMTileVisitor* visitor,
bool ownedByUser =
true );
274 void setTileManager( SoLDMTileManager* tilemgr,
SbBool ownedByUser = TRUE );
279 SoLDMTileVisitor* getTileVisitor()
281 return m_tileVisitor;
287 bool isTileVisitorOwnedByUser()
const {
return m_userVisitor; }
290 SoLDMTextureManager* m_textureManager;
291 SoLDMGeometry* m_vvizGeometry;
293 SoLDMTileVisitor* m_tileVisitor;
294 SoLDMNodeFrontManager* m_nodeFrontManager;
295 SoLDMTileManager* m_tileManager;
299 SoLDMProximityVisitor* m_internalVisitor;
300 bool m_userTileManager;
301 SoLDMMultiIOTileManager* m_internalTileManager;
305 bool isUsedByLDM() {
return m_isUsedByLDM; }
306 void setUsedByLDM(
bool flag) { m_isUsedByLDM = flag; }
310 std::vector<int> m_dataIds ;
313 std::vector<DataSetInfo> m_volumeDataList;
317 std::vector<int> m_availBufferEntry;
321 void setListChange(
bool val){m_listChange = val;};
325 void createLDMCore();
326 void deleteLDMCore();
328 void setMinResolutionThreshold();
334 bool isMultiDataPossible();
337 bool m_multiDataError;
340 static int s_debugMediator;
355 bool m_isTileVisitorFixedRes;
359 typedef std::map<SbThreadId_t, SoLDMDataAccess*> t_dataAccessList;
361 t_dataAccessList m_ldmDataAccessList;
367#pragma warning( pop )
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> 3D box class.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Portable mutex c...
Abstract base class for all actions.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Data set...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Data set...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Property...
Renders a scene graph using Open Inventor's Render Engine.
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Volume d...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Resource...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Defines ...
<a href="IconLegend.html"><img src="extLDM.gif" alt="Large Data Management" border="0"></a> Tile ID
std::pair< SoDataSet *, int > DataSetIdPair
Pair containing an SoDataset and its dataSetId.
std::vector< DataSetIdPair > DataSetIdPairList
List of DataSetIdPair.
std::vector< SoDataSet * > DsVector
Vector of SoDataSet.