21 #ifndef otbVectorDataIOBase_h
22 #define otbVectorDataIOBase_h
26 #include "itkLightProcessObject.h"
27 #include "itkIndent.h"
29 #include "itkDataObject.h"
31 #include "OTBVectorDataBaseExport.h"
71 itkStaticConstMacro(VDimension,
unsigned int, 3);
76 itkSetStringMacro(FileName);
77 itkGetStringMacro(FileName);
82 typedef enum { BigEndian, LittleEndian, OrderNotApplicable } ByteOrder;
95 itkSetEnumMacro(ByteOrder, ByteOrder);
96 itkGetEnumMacro(ByteOrder, ByteOrder);
99 this->SetByteOrder(BigEndian);
103 this->SetByteOrder(LittleEndian);
109 std::string GetByteOrderAsString(ByteOrder)
const;
118 virtual bool CanReadFile(
const char*)
const = 0;
132 virtual void Read(itk::DataObject* data) = 0;
138 virtual bool CanWriteFile(
const char*)
const = 0;
154 virtual void Write(
const itk::DataObject* data,
char** papszOptions =
nullptr) = 0;
160 void PrintSelf(std::ostream& os, itk::Indent indent)
const override;
172 virtual void Reset(
const bool freeDynamic =
true);
176 void operator=(
const Self&) =
delete;
181 #endif // otbVectorDataIOBase_h