43 #ifdef CHECK_MEMORY_LEAKS
45 #endif // CHECK_MEMORY_LEAKS
52 : myID(id), myNode(-1) {
54 for (PositionVector::const_iterator i = geom.begin(); i != geom.end(); ++i) {
71 DictType::iterator i =
myDict.find(
id);
82 DictType::iterator i =
myDict.find(
id);
108 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
135 std::vector<int> ret;
136 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
139 ret.push_back(e->
myID);
165 for (DictType::iterator i =
myDict.begin(); i !=
myDict.end(); i++) {
184 const std::vector<int>&
bool overlapsWith(const AbstractPoly &p, SUMOReal offset=0.0) const
static bool dictionary(int id, NIVissimAbstractEdge *e)
static bool transformCoordinates(Position &from, bool includeInBoundary=true, GeoConvHelper *from_srs=0)
transforms loaded coordinates handles projections, offsets (using GeoConvHelper) and import of height...
void addDisturbance(int disturbance)
bool intersects(const Position &p1, const Position &p2) const
Returns the information whether this list of points interesects the given line.
static void splitAndAssignToNodes()
virtual ~NIVissimAbstractEdge()
const PositionVector & getGeometry() const
#define WRITE_WARNING(msg)
bool crossesEdge(NIVissimAbstractEdge *c) const
NIVissimAbstractEdge(int id, const PositionVector &geom)
A point in 2D or 3D with translation and scaling methods.
Position getGeomPosition(SUMOReal pos) const
bool hasNodeCluster() const
Position positionAtOffset(SUMOReal pos, SUMOReal lateralOffset=0) const
Returns the position at the given length.
std::string toString(const T &t, std::streamsize accuracy=OUTPUT_ACCURACY)
SUMOReal length() const
Returns the length.
bool overlapsWith(const AbstractPoly &poly, SUMOReal offset=0) const
Returns the information whether the given polygon overlaps with this.
Position intersectionPosition2D(const Position &p1, const Position &p2, const SUMOReal withinDist=0.) const
Returns the position of the intersection.
std::vector< int > myDisturbances
std::map< int, NIVissimAbstractEdge * > DictType
const std::vector< int > & getDisturbances() const
Position crossesEdgeAtPoint(NIVissimAbstractEdge *c) const
void push_back_noDoublePos(const Position &p)
insert in back a non double position
static std::vector< int > getWithin(const AbstractPoly &p, SUMOReal offset=0.0)
void extrapolate(const SUMOReal val, const bool onlyFirst=false)
extrapolate position vector