OTB
9.0.0
Orfeo Toolbox
|
#include <otbVectorDataIOBase.h>
Public Types | |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::Point< double, VDimension > | PointType |
typedef VectorDataIOBase | Self |
typedef itk::Vector< double, VDimension > | SpacingType |
typedef itk::LightProcessObject | Superclass |
Public Member Functions | |
virtual const char * | GetNameOfClass () const |
Static Public Attributes | |
static const unsigned int | VDimension = 3 |
enum | ByteOrder { BigEndian, LittleEndian, OrderNotApplicable } |
typedef std::streamoff | SizeType |
ByteOrder | m_ByteOrder |
bool | m_Initialized |
std::string | m_FileName |
virtual void | SetFileName (const char *_arg) |
virtual const char * | GetFileName () const |
virtual void | SetByteOrder (const ByteOrder _arg) |
virtual ByteOrder | GetByteOrder () const |
void | SetByteOrderToBigEndian () |
void | SetByteOrderToLittleEndian () |
std::string | GetByteOrderAsString (ByteOrder) const |
virtual bool | CanReadFile (const char *) const =0 |
virtual bool | CanStreamRead () const |
virtual void | Read (itk::DataObject *data)=0 |
virtual bool | CanWriteFile (const char *) const =0 |
virtual bool | CanStreamWrite () const |
virtual void | Write (const itk::DataObject *data, char **papszOptions=nullptr)=0 |
VectorDataIOBase () | |
~VectorDataIOBase () override | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
virtual void | Reset (const bool freeDynamic=true) |
VectorDataIOBase (const Self &)=delete | |
void | operator= (const Self &)=delete |
Abstract superclass defines VectorData IO interface.
VectorDataIOBase is a class that reads and/or writes VectorData data of a particular format (such as shapefile or kml). The VectorDataIOBase encapsulates both the reading and writing of data. The VectorDataIOBase is used by the VectorDataFileReader class (to read data) and the VectorDataFileWriter (to write data) into a single file. Normally the user does not directly manipulate this class other than to instantiate it, set the FileName, and assign it to a VectorDataFileReader/VectorDataFileWriter.
A Pluggable factory pattern is used this allows different kinds of readers to be registered (even at run time) without having to modify the code in this class.
Definition at line 60 of file otbVectorDataIOBase.h.
typedef itk::SmartPointer<Self> otb::VectorDataIOBase::Pointer |
Definition at line 66 of file otbVectorDataIOBase.h.
typedef itk::Point<double, VDimension> otb::VectorDataIOBase::PointType |
Definition at line 73 of file otbVectorDataIOBase.h.
Standard class typedefs.
Definition at line 64 of file otbVectorDataIOBase.h.
typedef std::streamoff otb::VectorDataIOBase::SizeType |
Type for representing size of bytes, and or positions along a file
Definition at line 112 of file otbVectorDataIOBase.h.
typedef itk::Vector<double, VDimension> otb::VectorDataIOBase::SpacingType |
Definition at line 72 of file otbVectorDataIOBase.h.
typedef itk::LightProcessObject otb::VectorDataIOBase::Superclass |
Definition at line 65 of file otbVectorDataIOBase.h.
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
Enumerator | |
---|---|
BigEndian | |
LittleEndian | |
OrderNotApplicable |
Definition at line 82 of file otbVectorDataIOBase.h.
|
protected |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
overrideprotected |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
privatedelete |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
pure virtual |
Determine the file type. Returns true if this VectorDataIO can read the file specified.
Implemented in otb::OGRVectorDataIO.
|
inlinevirtual |
Determine if the VectorDataIO can stream reading from this file. Default is false.
Definition at line 122 of file otbVectorDataIOBase.h.
|
inlinevirtual |
Determine if the ImageIO can stream writing to this file. Default is false.
Definition at line 142 of file otbVectorDataIOBase.h.
|
pure virtual |
Determine the file type. Returns true if this VectorDataIO can read the file specified.
Implemented in otb::OGRVectorDataIO.
|
virtual |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
std::string otb::VectorDataIOBase::GetByteOrderAsString | ( | ByteOrder | ) | const |
Convenience method returns the ByteOrder as a string. This can be used for writing output files.
|
virtual |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
virtual |
Run-time type information (and related methods).
Reimplemented in otb::OGRVectorDataIO.
Referenced by otb::VectorDataFileReader< TOutputVectorData >::GenerateOutputInformation(), and otb::VectorDataFileWriter< otb::VectorData >::Write().
|
privatedelete |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
overrideprotected |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
|
pure virtual |
Reads the data from disk into the memory buffer provided.
Implemented in otb::OGRVectorDataIO.
|
protectedvirtual |
Return the object to an initialized state, ready to be used
|
virtual |
These methods indicate the byte ordering of the file you are trying to read in. These methods will then either swap or not swap the bytes depending on the byte ordering of the machine it is being run on. For example, reading in a BigEndian file on a BigEndian machine will result in no swapping. Trying to read the same file on a LittleEndian machine will result in swapping. Note: most UNIX machines are BigEndian while PC's and VAX's are LittleEndian. So if the file you are reading in was generated on a VAX or PC, SetByteOrderToLittleEndian() otherwise SetByteOrderToBigEndian(). Some ImageIOBase subclasses ignore these methods.
|
inline |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
Definition at line 97 of file otbVectorDataIOBase.h.
|
inline |
Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.
Definition at line 101 of file otbVectorDataIOBase.h.
|
virtual |
Set/Get the name of the file to be read.
|
pure virtual |
Writes the data to disk from the memory buffer provided. Make sure that the IORegions has been set properly. The buffer is cast to a pointer to the beginning of the image data.
Implemented in otb::OGRVectorDataIO.
|
protected |
Big or Little Endian, and the type of the file. (May be ignored.)
Definition at line 163 of file otbVectorDataIOBase.h.
|
protected |
Filename to read
Definition at line 169 of file otbVectorDataIOBase.h.
|
protected |
Does the VectorDataIOBase object have enough info to be of use?
Definition at line 166 of file otbVectorDataIOBase.h.
|
static |
Definition at line 71 of file otbVectorDataIOBase.h.