/usr/include/OTB-6.4/otbOGRVectorDataIO.h is in libotb-dev 6.4.0+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /*
* Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
*
* This file is part of Orfeo Toolbox
*
* https://www.orfeo-toolbox.org/
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef otbOGRVectorDataIO_h
#define otbOGRVectorDataIO_h
#include <string>
#include <cassert>
#include "otbVectorDataIOBase.h"
#include "otbVectorData.h"
#include "otbOGRVersionProxy.h"
#include "OTBIOGDALExport.h"
namespace otb
{
/** \class OGRVectorDataIO
*
* \brief ImageIO object for reading and writing OGR format vector data
*
* ImageIO object for reading and writing OGR format vector data: it can
* handle Esri Shapefile (shp), MapInfo (map) and Geography Markup Language (GML)
* and possibly other OGR formats.
*
*
* \ingroup OTBIOGDAL
*/
class OTBIOGDAL_EXPORT OGRVectorDataIO
: public VectorDataIOBase
{
public:
/** Standard class typedefs. */
typedef OGRVectorDataIO Self;
typedef VectorDataIOBase Superclass;
typedef itk::SmartPointer<Self> Pointer;
typedef itk::SmartPointer<const Self> ConstPointer;
/** Method for creation through the object factory. */
itkNewMacro(Self);
/** Run-time type information (and related methods). */
itkTypeMacro(OGRVectorDataIO, VectorDataIOBase);
/** Byte order typedef */
typedef Superclass::ByteOrder ByteOrder;
/** Data typedef */
typedef VectorData<double, 2> VectorDataType;
typedef VectorDataType::DataTreeType DataTreeType;
typedef DataTreeType::TreeNodeType InternalTreeNodeType;
typedef InternalTreeNodeType::ChildrenListType ChildrenListType;
typedef DataTreeType::Pointer DataTreePointerType;
typedef DataTreeType::ConstPointer DataTreeConstPointerType;
typedef VectorDataType::DataNodeType DataNodeType;
typedef DataNodeType::Pointer DataNodePointerType;
typedef DataNodeType::PointType PointType;
typedef DataNodeType::LineType LineType;
typedef LineType::VertexListType VertexListType;
typedef VertexListType::ConstPointer VertexListConstPointerType;
typedef LineType::Pointer LinePointerType;
typedef DataNodeType::PolygonType PolygonType;
typedef PolygonType::Pointer PolygonPointerType;
typedef DataNodeType::PolygonListType PolygonListType;
typedef PolygonListType::Pointer PolygonListPointerType;
typedef VectorDataType::Pointer VectorDataPointerType;
typedef VectorDataType::ConstPointer VectorDataConstPointerType;
typedef Superclass::SpacingType SpacingType;
typedef Superclass::PointType OriginType;
/*-------- This part of the interface deals with reading data. ------ */
/** Determine the file type. Returns true if this VectorDataIO can read the
* file specified. */
bool CanReadFile(const char*) const ITK_OVERRIDE;
/** Reads the data from disk into the memory buffer provided. */
void Read(itk::DataObject* data) ITK_OVERRIDE;
/*-------- This part of the interfaces deals with writing data. ----- */
/** Determine the file type. Returns true if this ImageIO can read the
* file specified. */
bool CanWriteFile(const char*) const ITK_OVERRIDE;
/** Writes the data to disk from the memory buffer provided */
void Write(const itk::DataObject* data, char ** papszOptions = ITK_NULLPTR) ITK_OVERRIDE;
protected:
/** Constructor.*/
OGRVectorDataIO();
/** Destructor.*/
~OGRVectorDataIO() ITK_OVERRIDE;
/* virtual void InternalReadVectorDataInformation(){}; */
void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
private:
OGRVectorDataIO(const Self &); //purposely not implemented
void operator =(const Self&); //purposely not implemented
std::string GetOGRDriverName(std::string name) const;
void CloseInternalDataSource();
ogr::version_proxy::GDALDatasetType * m_DataSource;
};
} // end namespace otb
#endif // otbOGRVectorDataIO_h
|