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 void SetByteOrderToLittleEndian()
OTBApplicationEngine_EXPORT int Read(const std::string &filename, Application::Pointer application)
virtual bool CanStreamWrite() const
itk::SmartPointer< Self > Pointer
Abstract superclass defines VectorData IO interface.
void SetByteOrderToBigEndian()
virtual bool CanStreamRead() const
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
itk::Vector< double, VDimension > SpacingType
OTBApplicationEngine_EXPORT void Write(const std::string &filename, Application::Pointer application)
itk::Point< double, VDimension > PointType
itk::LightProcessObject Superclass