Skip to content
Snippets Groups Projects
Commit a6956879 authored by Julien Michel's avatar Julien Michel
Browse files

intégration vectorData

parent 528b27f3
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,9 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef _otbVectorDataIOBase_txx
#define _otbVectorDataIOBase_txx
#if defined(_MSC_VER)
#pragma warning ( disable : 4786 )
#endif
......@@ -21,26 +24,33 @@
namespace otb
{
VectorDataIOBase::VectorDataIOBase() :
template <class TData>
VectorDataIOBase<TData>
::VectorDataIOBase() :
m_ByteOrder(OrderNotApplicable)
{
Reset(false);
}
void VectorDataIOBase::Reset(const bool)
template <class TData>
void
VectorDataIOBase<TData>
::Reset(const bool)
{
m_Initialized = false;
m_FileName = "";
}
VectorDataIOBase::~VectorDataIOBase()
template <class TData>
VectorDataIOBase<TData>
::~VectorDataIOBase()
{
}
std::string VectorDataIOBase::GetByteOrderAsString(ByteOrder t) const
template <class TData>
std::string
VectorDataIOBase<TData>
::GetByteOrderAsString(ByteOrder t) const
{
std::string s;
switch(t)
......@@ -57,8 +67,10 @@ std::string VectorDataIOBase::GetByteOrderAsString(ByteOrder t) const
}
void VectorDataIOBase::PrintSelf(std::ostream& os, itk::Indent indent) const
template <class TData>
void
VectorDataIOBase<TData>
::PrintSelf(std::ostream& os, itk::Indent indent) const
{
Superclass::PrintSelf(os, indent);
......@@ -67,3 +79,5 @@ void VectorDataIOBase::PrintSelf(std::ostream& os, itk::Indent indent) const
}
} //namespace otb
#endif
......@@ -15,6 +15,9 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#ifndef _otbVectorDataIOFactory_txx
#define _otbVectorDataIOFactory_txx
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif
......@@ -27,20 +30,22 @@
namespace otb
{
VectorDataIOBase::Pointer
VectorDataIOFactory::CreateVectorDataIO(const char* path, FileModeType mode)
template <class TData>
typename VectorDataIOFactory<TData>
::VectorDataIOBasePointerType
VectorDataIOFactory<TData>
::CreateVectorDataIO(const char* path, FileModeType mode)
{
RegisterBuiltInFactories();
std::list<VectorDataIOBase::Pointer> possibleVectorDataIO;
std::list<VectorDataIOBasePointerType> possibleVectorDataIO;
std::list<itk::LightObject::Pointer> allobjects =
itk::ObjectFactoryBase::CreateAllInstance("otbVectorDataIOBase");
for(std::list<itk::LightObject::Pointer>::iterator i = allobjects.begin();
i != allobjects.end(); ++i)
{
VectorDataIOBase* io = dynamic_cast<VectorDataIOBase*>(i->GetPointer());
VectorDataIOBase* io = dynamic_cast<VectorDataIOBasePointerType>(i->GetPointer());
if(io)
{
possibleVectorDataIO.push_back(io);
......@@ -52,7 +57,7 @@ VectorDataIOFactory::CreateVectorDataIO(const char* path, FileModeType mode)
<< std::endl;
}
}
for(std::list<VectorDataIOBase::Pointer>::iterator k = possibleVectorDataIO.begin();
for(std::list<VectorDataIOBasePointerType>::iterator k = possibleVectorDataIO.begin();
k != possibleVectorDataIO.end(); ++k)
{
if( mode == ReadMode )
......@@ -73,9 +78,10 @@ VectorDataIOFactory::CreateVectorDataIO(const char* path, FileModeType mode)
}
return 0;
}
template <class TData>
void
VectorDataIOFactory::RegisterBuiltInFactories()
VectorDataIOFactory<TData>
::RegisterBuiltInFactories()
{
static bool firstTime = true;
......@@ -94,3 +100,5 @@ VectorDataIOFactory::RegisterBuiltInFactories()
}
} // end namespace otb
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment