Skip to content
Snippets Groups Projects
Commit 03f289af authored by Emmanuel Christophe's avatar Emmanuel Christophe
Browse files

MRG

parents 3172d7c1 07d2ed65
No related branches found
No related tags found
No related merge requests found
...@@ -42,14 +42,17 @@ void ...@@ -42,14 +42,17 @@ void
DEMHandler DEMHandler
::OpenDEMDirectory(const char* DEMDirectory) ::OpenDEMDirectory(const char* DEMDirectory)
{ {
m_Mutex.Lock();
ossimFilename ossimDEMDir; ossimFilename ossimDEMDir;
ossimDEMDir=ossimFilename(DEMDirectory); ossimDEMDir=ossimFilename(DEMDirectory);
ossimDirectory od(DEMDirectory); ossimDirectory od(DEMDirectory);
if (!m_ElevManager->loadElevationPath(ossimDEMDir)) if (!m_ElevManager->loadElevationPath(ossimDEMDir))
{ {
m_Mutex.Unlock();
itkExceptionMacro("Failed to open DEM Directory: "<<ossimDEMDir); itkExceptionMacro("Failed to open DEM Directory: "<<ossimDEMDir);
} }
m_Mutex.Unlock();
} }
void void
...@@ -63,7 +66,9 @@ DEMHandler ...@@ -63,7 +66,9 @@ DEMHandler
ossimGeoid* geoidPtr = new ossimGeoidEgm96(geoid); ossimGeoid* geoidPtr = new ossimGeoidEgm96(geoid);
if (geoidPtr->getErrorStatus() == ossimErrorCodes::OSSIM_OK) if (geoidPtr->getErrorStatus() == ossimErrorCodes::OSSIM_OK)
{ {
m_Mutex.Lock();
ossimGeoidManager::instance()->addGeoid(geoidPtr); ossimGeoidManager::instance()->addGeoid(geoidPtr);
m_Mutex.Unlock();
} }
else else
{ {
...@@ -81,7 +86,9 @@ DEMHandler ...@@ -81,7 +86,9 @@ DEMHandler
ossimGpt ossimWorldPoint; ossimGpt ossimWorldPoint;
ossimWorldPoint.lon=geoPoint[0]; ossimWorldPoint.lon=geoPoint[0];
ossimWorldPoint.lat=geoPoint[1]; ossimWorldPoint.lat=geoPoint[1];
m_Mutex.Lock();
height=m_ElevManager->getHeightAboveMSL(ossimWorldPoint); height=m_ElevManager->getHeightAboveMSL(ossimWorldPoint);
m_Mutex.Unlock();
return height; return height;
} }
...@@ -93,7 +100,9 @@ DEMHandler ...@@ -93,7 +100,9 @@ DEMHandler
ossimGpt ossimWorldPoint; ossimGpt ossimWorldPoint;
ossimWorldPoint.lon=geoPoint[0]; ossimWorldPoint.lon=geoPoint[0];
ossimWorldPoint.lat=geoPoint[1]; ossimWorldPoint.lat=geoPoint[1];
m_Mutex.Lock();
height=m_ElevManager->getHeightAboveEllipsoid(ossimWorldPoint); height=m_ElevManager->getHeightAboveEllipsoid(ossimWorldPoint);
m_Mutex.Unlock();
return height; return height;
} }
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "itkImageRegionIteratorWithIndex.h" #include "itkImageRegionIteratorWithIndex.h"
#include "itkIndent.h" #include "itkIndent.h"
#include "itkSimpleFastMutexLock.h"
class ossimElevManager; class ossimElevManager;
...@@ -79,6 +80,8 @@ protected: ...@@ -79,6 +80,8 @@ protected:
ossimElevManager* m_ElevManager; ossimElevManager* m_ElevManager;
itk::SimpleFastMutexLock m_Mutex;
}; };
} // namespace otb } // namespace otb
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment