![]() |
OTB
10.0.0
Orfeo Toolbox
|
#include <otbVectorData.h>
Public Types | |
using | ConstPointer = itk::SmartPointer< const Self > |
using | Pointer = itk::SmartPointer< Self > |
using | Self = VectorData |
using | Superclass = itk::DataObject |
using | PrecisionType = TPrecision |
using | ValuePrecisionType = TValuePrecision |
using | DataNodeType = otb::DataNode< TPrecision, VDimension, TValuePrecision > |
using | DataNodePointerType = typename DataNodeType::Pointer |
using | PointType = typename DataNodeType::PointType |
using | LineType = typename DataNodeType::LineType |
using | PolygonType = typename DataNodeType::PolygonType |
using | SpacingType = itk::Vector< double, 2 > |
using | OriginType = itk::Point< double, 2 > |
using | DataTreeType = boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, DataNodePointerType > |
using | TreeNodeType = typename boost::graph_traits< DataTreeType >::vertex_descriptor |
using | TreeEdgeType = typename boost::graph_traits< DataTreeType >::edge_descriptor |
using | ChildrenListType = std::vector< DataNodePointerType > |
using | VertexIterator = typename boost::graph_traits< DataTreeType >::vertex_iterator |
static const unsigned int | Dimension = VDimension |
DataTreeType | m_DataTree |
DataNodePointerType | m_root |
SpacingType | m_Spacing |
OriginType | m_Origin |
static Pointer | New () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
void | SetProjectionRef (const std::string &projectionRef) |
std::string | GetProjectionRef () const |
virtual void | SetOrigin (OriginType _arg) |
void | SetOrigin (const double origin[2]) |
void | SetOrigin (const float origin[2]) |
virtual const OriginType & | GetOrigin () const |
void | SetSpacing (const SpacingType &spacing) |
void | SetSpacing (const double spacing[2]) |
void | SetSpacing (const float spacing[2]) |
virtual const SpacingType & | GetSpacing () const |
void | Clear () |
int | Size () const |
void | TransformPointToPhysicalPoint (const PointType &point, PointType &physicalPoint) const |
void | Graft (const itk::DataObject *data) override |
void | SetRoot (DataNodePointerType rootNode) |
DataNodePointerType | GetRoot () const |
void | Add (DataNodePointerType nodeToAdd, DataNodePointerType rootForNode) |
std::vector< DataNodePointerType > | GetChildrenList (DataNodePointerType parentNode) const |
std::pair< VertexIterator, VertexIterator > | GetIteratorPair () const |
DataNodePointerType | Get (VertexIterator dataIt) const |
VectorData () | |
~VectorData () override | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
TreeNodeType | ConvertToTreeNodeType (DataNodePointerType datanode) |
void | Reset (const Self &inputVD) |
void | ResetRoot (const DataNodeType &rootNode) |
VectorData (const Self &)=delete | |
void | CopyDataTree (const Self *inputVD) |
This class represents a hierarchy of vector data.
This class contains an itk::TreeContainer templated with otb::DataNode. It represents a tree structure of vector data. These data can be read from shapefiles or kml files for instance.
The internal tree can be walked with itk::TreeIteratorBase subclasses.
The three templates indicate
The elements in the VectorData have their coordinates in the projection specified by the WKT string. This class also offer the possibility to store the coordinates directly into an image coordinate system, using the origin and spacing in a similar way as the corresponding image.
Definition at line 61 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::ChildrenListType = std::vector<DataNodePointerType> |
Template parameters using
Definition at line 90 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 68 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::DataNodePointerType = typename DataNodeType::Pointer |
Template parameters using
Definition at line 81 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::DataNodeType = otb::DataNode<TPrecision, VDimension, TValuePrecision> |
Template parameters using
Definition at line 80 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::DataTreeType = boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, DataNodePointerType > |
Template parameters using
Definition at line 87 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::LineType = typename DataNodeType::LineType |
Template parameters using
Definition at line 83 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::OriginType = itk::Point<double, 2> |
Template parameters using
Definition at line 86 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::Pointer = itk::SmartPointer<Self> |
Definition at line 67 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::PointType = typename DataNodeType::PointType |
Template parameters using
Definition at line 82 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::PolygonType = typename DataNodeType::PolygonType |
Template parameters using
Definition at line 84 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::PrecisionType = TPrecision |
Template parameters using
Definition at line 77 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::Self = VectorData |
Standard class usings
Definition at line 65 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::SpacingType = itk::Vector<double, 2> |
Template parameters using
Definition at line 85 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::Superclass = itk::DataObject |
Definition at line 66 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::TreeEdgeType = typename boost::graph_traits< DataTreeType >::edge_descriptor |
Template parameters using
Definition at line 89 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::TreeNodeType = typename boost::graph_traits< DataTreeType >::vertex_descriptor |
Template parameters using
Definition at line 88 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::ValuePrecisionType = TValuePrecision |
Template parameters using
Definition at line 78 of file otbVectorData.h.
using otb::VectorData< TPrecision, VDimension, TValuePrecision >::VertexIterator = typename boost::graph_traits<DataTreeType>::vertex_iterator |
Template parameters using
Definition at line 91 of file otbVectorData.h.
|
protected |
|
inlineoverrideprotected |
Destructor
Definition at line 199 of file otbVectorData.h.
|
privatedelete |
Template parameters using
|
inline |
Template parameters using
Definition at line 148 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::ConvertToTreeNodeType(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::Clear | ( | void | ) |
Clear the vector data
Definition at line 105 of file otbVectorData.hxx.
|
inlineprotected |
Template parameters using
Definition at line 206 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Add().
|
inlineprivate |
Template parameters using
Definition at line 237 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
virtual::itk::LightObject::Pointer otb::VectorData< TPrecision, VDimension, TValuePrecision >::CreateAnother | ( | void | ) | const |
Template parameters using
|
inline |
Template parameters using
Definition at line 189 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
|
inline |
Template parameters using
Definition at line 158 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
|
inline |
Template parameters using
Definition at line 181 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree.
|
virtual |
Template parameters using
|
virtual |
Template parameters using
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Graft().
std::string otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetProjectionRef | ( | void | ) | const |
Template parameters using
Definition at line 51 of file otbVectorData.hxx.
References otb::MetaDataKey::ProjectionRefKey.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Graft().
|
inline |
Template parameters using
Definition at line 143 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_root.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Graft().
|
virtual |
Template parameters using
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Graft().
|
override |
Graft the data and information from one VectorData to another. This is a convenience method to setup a second VectorData with all the meta information of another VectorData and use the same DataTree Note that this method is different than just using two SmartPointers to the same VectorData since separate DataObjects are still maintained. This method is similar to VectorDataSource::GraftOutput().
Definition at line 144 of file otbVectorData.hxx.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetOrigin(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetProjectionRef(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetRoot(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetSpacing().
|
static |
Standard macros
|
overrideprotected |
PrintSelf method
Definition at line 119 of file otbVectorData.hxx.
|
inlineprotected |
Template parameters using
Definition at line 221 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_DataTree, otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_Origin, otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_root, and otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_Spacing.
|
inlineprotected |
Template parameters using
Definition at line 229 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_root.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetRoot().
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetOrigin | ( | const double | origin[2] | ) |
Template parameters using
Definition at line 89 of file otbVectorData.hxx.
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetOrigin | ( | const float | origin[2] | ) |
Template parameters using
Definition at line 96 of file otbVectorData.hxx.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetOrigin().
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetOrigin().
|
virtual |
Set the origin of the vector data to put it in the corresponding image coordinates
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetProjectionRef | ( | const std::string & | projectionRef | ) |
Template parameters using
Definition at line 42 of file otbVectorData.hxx.
References otb::MetaDataKey::ProjectionRefKey.
Referenced by otb::LabelImageToVectorDataFilter< TInputImage, TPrecision >::GenerateData().
|
inline |
Template parameters using
Definition at line 138 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::ResetRoot().
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetSpacing | ( | const double | spacing[2] | ) |
Template parameters using
Definition at line 73 of file otbVectorData.hxx.
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetSpacing | ( | const float | spacing[2] | ) |
Template parameters using
Definition at line 80 of file otbVectorData.hxx.
void otb::VectorData< TPrecision, VDimension, TValuePrecision >::SetSpacing | ( | const SpacingType & | spacing | ) |
Set the spacing of the vector data to put it in the corresponding image coordinates
Definition at line 62 of file otbVectorData.hxx.
int otb::VectorData< TPrecision, VDimension, TValuePrecision >::Size | ( | void | ) | const |
Return the number of element in the tree
Definition at line 113 of file otbVectorData.hxx.
|
inline |
Template parameters using
Definition at line 123 of file otbVectorData.h.
References otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_Origin, and otb::VectorData< TPrecision, VDimension, TValuePrecision >::m_Spacing.
|
static |
Template parameters using
Definition at line 73 of file otbVectorData.h.
|
private |
Data tree
Definition at line 243 of file otbVectorData.h.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Add(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::ConvertToTreeNodeType(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::CopyDataTree(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::Get(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetChildrenList(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetIteratorPair(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::Reset().
|
private |
Template parameters using
Definition at line 246 of file otbVectorData.h.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Reset(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::TransformPointToPhysicalPoint().
|
private |
Template parameters using
Definition at line 244 of file otbVectorData.h.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::GetRoot(), otb::VectorData< TPrecision, VDimension, TValuePrecision >::Reset(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::ResetRoot().
|
private |
Template parameters using
Definition at line 245 of file otbVectorData.h.
Referenced by otb::VectorData< TPrecision, VDimension, TValuePrecision >::Reset(), and otb::VectorData< TPrecision, VDimension, TValuePrecision >::TransformPointToPhysicalPoint().