39 #ifndef __OPENFLUID_LANDR_LINESTRINGGRAPH_HPP__ 
   40 #define __OPENFLUID_LANDR_LINESTRINGGRAPH_HPP__ 
   52 #define DECLARE_ENTITIES_GRAPH_LOOP(loopid) \ 
   53         std::list<openfluid::landr::LandREntity*>::iterator _M_##loopid##_it;\ 
   54         std::list<openfluid::landr::LandREntity*> _M_##loopid##_uvect; \ 
   61 #define DECLARE_ENTITIES_ORDERED_LOOP(loopid) \ 
   62         std::list<openfluid::landr::LandREntity*>::iterator _M_##loopid##_it;\ 
   63         std::list<openfluid::landr::LandREntity*> _M_##loopid##_uvect; \ 
   71 #define BEGIN_ENTITIES_GRAPH_LOOP(loopid,graph,entity) \ 
   74             _M_##loopid##_uvect = graph->getEntities();\ 
   75             for (_M_##loopid##_it=_M_##loopid##_uvect.begin();\ 
   76                  _M_##loopid##_it != _M_##loopid##_uvect.end(); ++_M_##loopid##_it) \ 
   78                 entity = dynamic_cast<openfluid::landr::LineStringEntity*>(*_M_##loopid##_it); \ 
   86 #define BEGIN_ENTITIES_ORDERED_LOOP(loopid,graph,entity) \ 
   89             _M_##loopid##_uvect = graph->getOfldIdOrderedEntities();\ 
   90             for (_M_##loopid##_it=_M_##loopid##_uvect.begin();\ 
   91                  _M_##loopid##_it != _M_##loopid##_uvect.end(); ++_M_##loopid##_it) \ 
   93                 entity = dynamic_cast<openfluid::landr::LineStringEntity*>(*_M_##loopid##_it); \ 
  102 namespace openfluid { 
namespace landr {
 
  140     virtual LandREntity* createNewEntity(
const geos::geom::Geometry* Geom,
 
  141             unsigned int OfldId);
 
  184     virtual void removeEntity(
int OfldId);
 
  197     std::vector<LineStringEntity*> getEndLineStringEntities();
 
  203     std::vector<LineStringEntity*> getStartLineStringEntities();
 
  224     void setAttributeFromRasterValueAtStartNode(
const std::string& AttributeName);
 
  231     void setAttributeFromRasterValueAtEndNode(
const std::string& AttributeName);
 
  243     bool isLineStringGraphArborescence();
 
  250     virtual void setAttributeFromMeanRasterValues(
const std::string& AttributeName);
 
  268     std::multimap<double,LineStringEntity*> getLineStringEntitiesByMinLength(
double MinLength,
 
  270                                                                              bool HighDegree=
true);
 
  277     void setOrientationByOfldId(
int OfldId);
 
  284     void mergeLineStringEntitiesByMinLength(
double MinLength,
bool rmDangle=
true);
 
Definition: GeoVectorValue.hpp:52
Interface for a graph composed of LandREntity. 
Definition: LandRGraph.hpp:78
Interface for managing Vector Data format. 
Definition: VectorDataset.hpp:64
std::list< LandREntity * > Entities_t
Definition: LandRGraph.hpp:87
Interface for a landscape representation element. 
Definition: LandREntity.hpp:63
A LandRGraph composed of LineStringEntities. 
Definition: LineStringGraph.hpp:109
#define OPENFLUID_API
Definition: dllexport.hpp:87
A LandREntity representing a geos::geom::LineString. 
Definition: LineStringEntity.hpp:57
GraphType
Definition: LandRGraph.hpp:82