Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
Position Class Reference

A point in 2D or 3D with translation and scaling methods. More...

#include <Position.h>

Inheritance diagram for Position:
[legend]
Collaboration diagram for Position:
[legend]

Public Member Functions

void add (const Position &pos)
 Adds the given position to this one.
void add (double dx, double dy)
 Adds the given position to this one.
void add (double dx, double dy, double dz)
 Adds the given position to this one.
bool almostSame (const Position &p2, double maxDiv=POSITION_EPS) const
 check whether the other position has a euclidean distance of less than maxDiv
double angleTo2D (const Position &other) const
 returns the angle in the plane of the vector pointing from here to the other position (in radians between -M_PI and M_PI)
Position crossProduct (const Position &pos)
 returns the cross product between this point and the second one
double distanceSquaredTo (const Position &p2) const
 returns the square of the distance to another position
double distanceSquaredTo2D (const Position &p2) const
 returns the square of the distance to another position (Only using x and y positions)
double distanceTo (const Position &p2) const
 returns the euclidean distance in 3 dimensions
double distanceTo2D (const Position &p2) const
 returns the euclidean distance in the x-y-plane
void div (double val)
 Divides position with the given value.
double dotProduct (const Position &pos) const
 returns the dot product (scalar product) between this point and the second one
bool isNAN () const
 check if position is NAN
double length () const
 Computes the length of the given vector.
double length2D () const
 Computes the length of the given vector neglecting the z coordinate.
void mul (double mx, double my)
 Multiplies position with the given values.
void mul (double mx, double my, double mz)
 Multiplies position with the given values.
void mul (double val)
 Multiplies position with the given value.
void norm2D ()
 Normalizes the given vector.
bool operator!= (const Position &p2) const
 difference operator
Position operator* (double scalar) const
 keep the direction but modify the length of the (location) vector to length * scalar
Position operator+ (const Position &p2) const
 add operator
Position operator+ (double offset) const
 keep the direction but modify the length of the (location) vector to length + scalar
Position operator- (const Position &p2) const
 sub operator
Position operator- (double offset) const
 keep the direction but modify the length of the (location) vector to length - scalar
Position operator/ (double scalar) const
 keep the direction but modify the length of the (location) vector to length / scalar
bool operator< (const Position &p2) const
 lexicographical sorting for use in maps and sets
bool operator== (const Position &p2) const
 comparation operator
 Position ()
 default constructor
 Position (double x, double y)
 Parametrised constructor (only for x-y).
 Position (double x, double y, double z)
 Parametrised constructor.
Position rotateAround2D (double rad, const Position &origin)
 rotate this position by rad around origin and return the result
void round (int precision)
 round all coordinates to the given precision
void set (const Position &pos)
 set position with another position
void set (double x, double y)
 set positions x and y
void set (double x, double y, double z)
 set positions x, y and z
void setx (double x)
 set position x
void sety (double y)
 set position y
void setz (double z)
 set position z
double slopeTo2D (const Position &other) const
 returns the slope of the vector pointing from here to the other position (in radians between -M_PI and M_PI)
void sub (const Position &pos)
 Subtracts the given position from this one.
void sub (double dx, double dy)
 Subtracts the given position from this one.
void sub (double dx, double dy, double dz)
 Subtracts the given position from this one.
void swapXY ()
 swap position X and Y
double x () const
 Returns the x-position.
double y () const
 Returns the y-position.
double z () const
 Returns the z-position.

Static Public Attributes

static const Position INVALID
 used to indicate that a position is valid

Private Attributes

double myX
 The x-position.
double myY
 The y-position.
double myZ
 The z-position.

Friends

std::ostream & operator<< (std::ostream &os, const Position &p)
 output operator

Detailed Description

A point in 2D or 3D with translation and scaling methods.

Definition at line 37 of file Position.h.

Constructor & Destructor Documentation

◆ Position() [1/3]

Position::Position ( )
inline

default constructor

Definition at line 40 of file Position.h.

References myX, myY, and myZ.

Referenced by add(), almostSame(), angleTo2D(), crossProduct(), distanceSquaredTo(), distanceSquaredTo2D(), distanceTo(), distanceTo2D(), dotProduct(), GUIPointOfInterest::drawGL(), GUIPointOfInterest::GUIPointOfInterest(), operator!=(), operator*(), operator+(), operator+(), operator-(), operator-(), operator/(), operator<(), operator<<, operator==(), PointOfInterest::PointOfInterest(), rotateAround2D(), set(), slopeTo2D(), sub(), and PointOfInterest::writeXML().

Here is the caller graph for this function:

◆ Position() [2/3]

Position::Position ( double x,
double y )
inline

Parametrised constructor (only for x-y).

Definition at line 44 of file Position.h.

References myX, myY, myZ, x(), and y().

◆ Position() [3/3]

Position::Position ( double x,
double y,
double z )
inline

Parametrised constructor.

Definition at line 48 of file Position.h.

References myX, myY, myZ, x(), y(), and z().

Member Function Documentation

◆ add() [1/3]

◆ add() [2/3]

void Position::add ( double dx,
double dy )
inline

Adds the given position to this one.

Definition at line 136 of file Position.h.

References myX, and myY.

◆ add() [3/3]

void Position::add ( double dx,
double dy,
double dz )
inline

Adds the given position to this one.

Definition at line 142 of file Position.h.

References myX, myY, and myZ.

◆ almostSame()

bool Position::almostSame ( const Position & p2,
double maxDiv = POSITION_EPS ) const
inline

check whether the other position has a euclidean distance of less than maxDiv

Definition at line 258 of file Position.h.

References distanceTo(), and Position().

Referenced by NBNode::getEndPoints(), PositionVector::insert_noDoublePos(), PositionVector::push_back_noDoublePos(), and PositionVector::push_front_noDoublePos().

Here is the caller graph for this function:

◆ angleTo2D()

◆ crossProduct()

Position Position::crossProduct ( const Position & pos)
inline

returns the cross product between this point and the second one

Definition at line 293 of file Position.h.

References myX, myY, myZ, and Position().

Referenced by NBHeightMapper::Triangle::normalVector().

Here is the caller graph for this function:

◆ distanceSquaredTo()

double Position::distanceSquaredTo ( const Position & p2) const
inline

returns the square of the distance to another position

Definition at line 268 of file Position.h.

References myX, myY, myZ, and Position().

Referenced by distanceTo(), and GNEViewNet::drawTemporalJunction().

Here is the caller graph for this function:

◆ distanceSquaredTo2D()

double Position::distanceSquaredTo2D ( const Position & p2) const
inline

◆ distanceTo()

double Position::distanceTo ( const Position & p2) const
inline

returns the euclidean distance in 3 dimensions

Definition at line 263 of file Position.h.

References distanceSquaredTo(), and Position().

Referenced by MSDevice_SSM::Encounter::add(), MSStoppingPlace::addAccess(), IntermodalNetwork< E, L, N, V >::addSchedule(), almostSame(), TraCIServerAPI_Simulation::commandDistanceRequest(), NBHelpers::distance(), GUIOverheadWire::drawGL(), GUIOverheadWireClamp::drawGL(), GLHelper::drawTriangleAtEnd(), PositionVector::extrapolate(), GNEDemandElement::getColorByScheme(), LIBSUMO_NAMESPACE::Simulation::getDistance2D(), LIBSUMO_NAMESPACE::Simulation::getDistanceRoad(), GUIOverheadWire::GUIOverheadWire(), GUIParkingArea::GUIParkingArea(), PositionVector::indexOfClosest(), GUIChargingStation::initAppearance(), GUIBusStop::initShape(), GUIE2Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), GeomHelper::nearest_offset_on_line_to_point25D(), MSDevice_Bluelight::notifyMove(), GNEViewNet::onCmdAttachPOI(), GUIViewTraffic::onGamingClick(), operator+(), operator-(), RONetHandler::parseAccess(), PositionVector::positionAtOffset(), NIVissimEdge::remapOneOfNodes(), RORouteDef::repairCurrentRoute(), PositionVector::rotationAtOffset(), GUIBaseVehicle::setFunctionalColor(), PositionVector::sidePositionAtAngle(), PositionVector::slopeDegreeAtOffset(), GUILane::splitAtSegments(), MSTriggeredRerouter::triggerRouting(), GNETAZRelData::updateGeometry(), and MSDevice_BTreceiver::BTreceiverUpdate::updateVisibility().

Here is the caller graph for this function:

◆ distanceTo2D()

double Position::distanceTo2D ( const Position & p2) const
inline

returns the euclidean distance in the x-y-plane

Definition at line 273 of file Position.h.

References distanceSquaredTo2D(), and Position().

Referenced by MSCFModel_CC::_consensus(), MSCFModel_CC::_v(), NIImporter_OpenDrive::addOffsets(), libsumo::Helper::applySubscriptionFilterFieldOfVision(), NBNode::bezierControlPoints(), NBNode::buildWalkingAreas(), GUIGeometry::calculateLength(), GNEMoveElement::calculateNewLaneChange(), NGRandomNetBuilder::canConnect(), NBNode::checkCrossing(), MSLink::checkWalkingAreaFoe(), GUIBaseVehicle::computeSeats(), NIImporter_OpenDrive::discretizeOffsets(), PositionVector::distance2D(), NBNodeShapeComputer::divisionWidth(), GUIVehicle::drawAction_drawCarriageClass(), GUIBusStop::drawGL(), GNEDemandElement::drawJunctionLine(), GNEVehicle::drawLanePartialGL(), GNERoute::drawRoutePartialLane(), GNEPathCreator::drawTemporalRoute(), GNEPlanCreator::drawTemporalRoute(), GNEEdge::editEndpoint(), MSPModel_JuPedSim::execute(), PositionVector::extrapolate2D(), NBPTStopCont::findAccessEdgesForRailStops(), MSVehicle::getBoundingBox(), MSLane::getLeadersOnConsecutive(), PositionVector::getMaxGrade(), GUISUMOAbstractView::getObjectAtPosition(), NBNodeShapeComputer::getSmoothCorner(), MSVehicle::Influencer::implicitDeltaPosRemote(), MSVehicle::Influencer::implicitSpeedRemote(), PositionVector::indexOfClosest(), GUILane::initRotations(), PositionVector::insertAtClosest(), MSPModel_Striping::insertWalkArePaths(), PositionVector::intersects(), PositionVector::intersectsAtLengths2D(), PCLoaderOSM::loadIfSet(), PCLoaderOSM::mergeClosest(), PositionVector::move2side(), PositionVector::move2sideCustom(), LIBSUMO_NAMESPACE::Vehicle::moveTo(), LIBSUMO_NAMESPACE::Person::moveToXY(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), MSPModel_Striping::PState::moveToXY(), GeomHelper::nearest_offset_on_line_to_point25D(), GeomHelper::nearest_offset_on_line_to_point2D(), PositionVector::nearest_offset_to_point25D(), MSDevice_Bluelight::notifyMove(), GUIViewTraffic::onGamingClick(), NBNode::patchOffset_pathAcrossStreet(), PositionVector::positionAtOffset2D(), PositionVector::removeClosest(), GNEEdge::resetEndpoint(), PositionVector::sideOffset(), PositionVector::simplified(), slopeTo2D(), PositionVector::smoothedZFront(), PositionVector::transformToVectorCoordinates(), MSStageWalking::walkDistance(), NWWriter_OpenDrive::writeGeomLines(), NWWriter_OpenDrive::writeGeomSmooth(), NWWriter_OpenDrive::writeRoadObjectPOI(), and NWWriter_OpenDrive::writeRoadObjectPoly().

◆ div()

void Position::div ( double val)
inline

Divides position with the given value.

Definition at line 109 of file Position.h.

References myX, myY, and myZ.

◆ dotProduct()

double Position::dotProduct ( const Position & pos) const
inline

returns the dot product (scalar product) between this point and the second one

Definition at line 301 of file Position.h.

References myX, myY, myZ, and Position().

Referenced by NBHeightMapper::Triangle::getZ(), and PositionVector::as_poly_cw_sorter::operator()().

Here is the caller graph for this function:

◆ isNAN()

bool Position::isNAN ( ) const
inline

check if position is NAN

Definition at line 314 of file Position.h.

References myX, myY, and myZ.

Referenced by NIImporter_OpenDrive::loadNetwork().

Here is the caller graph for this function:

◆ length()

double Position::length ( ) const
inline

Computes the length of the given vector.

Definition at line 169 of file Position.h.

References myX, myY, and myZ.

Referenced by operator+(), operator-(), and PositionVector::simplified2().

Here is the caller graph for this function:

◆ length2D()

double Position::length2D ( ) const
inline

Computes the length of the given vector neglecting the z coordinate.

Definition at line 174 of file Position.h.

References myX, and myY.

Referenced by MSTrainHelper::computeDoorPositions(), MSTrainHelper::computeUnboardingPositions(), MSPModel_JuPedSim::execute(), norm2D(), and NBRailwayGeometryHelper::straigthenCorrdidor().

Here is the caller graph for this function:

◆ mul() [1/3]

void Position::mul ( double mx,
double my )
inline

Multiplies position with the given values.

Definition at line 116 of file Position.h.

References myX, and myY.

◆ mul() [2/3]

void Position::mul ( double mx,
double my,
double mz )
inline

Multiplies position with the given values.

Definition at line 122 of file Position.h.

References myX, myY, and myZ.

◆ mul() [3/3]

void Position::mul ( double val)
inline

Multiplies position with the given value.

Definition at line 102 of file Position.h.

References myX, myY, and myZ.

Referenced by NBNodeCont::analyzeCluster(), AGPosition::compute2dPosition(), NBNodeShapeComputer::computeNodeShapeDefault(), GNEEdge::drawEdgeName(), GUIEdge::drawGL(), NBNode::getEmptyDir(), NBNode::indirectLeftShape(), NIImporter_OpenDrive::loadNetwork(), PCPolyContainer::saveDlrTDP(), NWWriter_DlrNavteq::writeNodesUnsplitted(), and NWWriter_DlrNavteq::writeTrafficSignals().

Here is the caller graph for this function:

◆ norm2D()

void Position::norm2D ( )
inline

Normalizes the given vector.

Definition at line 179 of file Position.h.

References length2D(), myX, and myY.

Referenced by MSTrainHelper::computeDoorPositions(), MSTrainHelper::computeUnboardingPositions(), MSPModel_JuPedSim::execute(), NBNode::getEmptyDir(), NBNode::indirectLeftShape(), and MSStageDriving::setArrived().

Here is the caller graph for this function:

◆ operator!=()

bool Position::operator!= ( const Position & p2) const
inline

difference operator

Definition at line 242 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator*()

Position Position::operator* ( double scalar) const
inline

keep the direction but modify the length of the (location) vector to length * scalar

Definition at line 207 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator+() [1/2]

Position Position::operator+ ( const Position & p2) const
inline

add operator

Definition at line 197 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator+() [2/2]

Position Position::operator+ ( double offset) const
inline

keep the direction but modify the length of the (location) vector to length + scalar

Definition at line 217 of file Position.h.

References distanceTo(), length(), myX, myY, myZ, and Position().

◆ operator-() [1/2]

Position Position::operator- ( const Position & p2) const
inline

sub operator

Definition at line 202 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator-() [2/2]

Position Position::operator- ( double offset) const
inline

keep the direction but modify the length of the (location) vector to length - scalar

Definition at line 227 of file Position.h.

References distanceTo(), length(), myX, myY, myZ, and Position().

◆ operator/()

Position Position::operator/ ( double scalar) const
inline

keep the direction but modify the length of the (location) vector to length / scalar

Definition at line 212 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator<()

bool Position::operator< ( const Position & p2) const
inline

lexicographical sorting for use in maps and sets

Definition at line 247 of file Position.h.

References myX, myY, myZ, and Position().

◆ operator==()

bool Position::operator== ( const Position & p2) const
inline

comparation operator

Definition at line 237 of file Position.h.

References myX, myY, myZ, and Position().

◆ rotateAround2D()

Position Position::rotateAround2D ( double rad,
const Position & origin )

rotate this position by rad around origin and return the result

Definition at line 42 of file Position.cpp.

References Position(), x(), and y().

Referenced by GUISUMOAbstractView::applyGLTransform(), GeomHelper::calculateLotSpacePosition(), GUIJunctionWrapper::drawGL(), GUIDanielPerspectiveChanger::onMouseMove(), and GUISUMOAbstractView::screenPos2NetPos().

Here is the caller graph for this function:

◆ round()

void Position::round ( int precision)

round all coordinates to the given precision

Definition at line 53 of file Position.cpp.

References myX, myY, myZ, and roundDecimalToEven().

◆ set() [1/3]

void Position::set ( const Position & pos)
inline

set position with another position

Definition at line 95 of file Position.h.

References myX, myY, myZ, and Position().

◆ set() [2/3]

◆ set() [3/3]

void Position::set ( double x,
double y,
double z )
inline

set positions x, y and z

Definition at line 88 of file Position.h.

References myX, myY, myZ, x(), y(), and z().

◆ setx()

void Position::setx ( double x)
inline

set position x

Definition at line 67 of file Position.h.

References myX, and x().

Referenced by MSCFModel_CC::_consensus(), MSPModel_JuPedSim::add(), NIXMLNodesHandler::addJoinCluster(), GeomHelper::calculateLotSpacePosition(), MSPModel_JuPedSim::execute(), NBNodeCont::joinNodeCluster(), GNENet::joinSelectedJunctions(), and libsumo::Helper::readDistanceRequest().

Here is the caller graph for this function:

◆ sety()

void Position::sety ( double y)
inline

set position y

Definition at line 72 of file Position.h.

References myY, and y().

Referenced by MSCFModel_CC::_consensus(), MSPModel_JuPedSim::add(), NIXMLNodesHandler::addJoinCluster(), GeomHelper::calculateLotSpacePosition(), MSPModel_JuPedSim::execute(), NBNodeCont::joinNodeCluster(), GNENet::joinSelectedJunctions(), libsumo::Helper::readDistanceRequest(), and NGNet::toNB().

Here is the caller graph for this function:

◆ setz()

◆ slopeTo2D()

double Position::slopeTo2D ( const Position & other) const
inline

returns the slope of the vector pointing from here to the other position (in radians between -M_PI and M_PI)

Definition at line 288 of file Position.h.

References distanceTo2D(), myZ, and Position().

Referenced by MSVehicle::getSlope(), and PositionVector::slopeDegreeAtOffset().

Here is the caller graph for this function:

◆ sub() [1/3]

void Position::sub ( const Position & pos)
inline

Subtracts the given position from this one.

Definition at line 162 of file Position.h.

References myX, myY, myZ, and Position().

◆ sub() [2/3]

void Position::sub ( double dx,
double dy )
inline

Subtracts the given position from this one.

Definition at line 149 of file Position.h.

References myX, and myY.

Referenced by NBNode::bezierControlPoints(), GeoConvHelper::cartesian2geo(), AGPosition::compute2dPosition(), PositionVector::extrapolate(), PositionVector::extrapolate2D(), NBNode::getEmptyDir(), NBHeightMapper::Triangle::getZ(), LIBSUMO_NAMESPACE::Vehicle::highlight(), and NBNode::indirectLeftShape().

Here is the caller graph for this function:

◆ sub() [3/3]

void Position::sub ( double dx,
double dy,
double dz )
inline

Subtracts the given position from this one.

Definition at line 155 of file Position.h.

References myX, myY, and myZ.

◆ swapXY()

void Position::swapXY ( )
inline

swap position X and Y

Definition at line 309 of file Position.h.

References myX, and myY.

Referenced by GNEShapeFrame::GEOPOICreator::onCmdCreateGEOPOI(), and GNEShapeFrame::GEOPOICreator::onCmdSetCoordinates().

Here is the caller graph for this function:

◆ x()

double Position::x ( ) const
inline

Returns the x-position.

Definition at line 52 of file Position.h.

References myX.

Referenced by MSCFModel_CC::_consensus(), Boundary::add(), LIBSUMO_NAMESPACE::POI::add(), MSPModel_JuPedSim::add(), PositionVector::add(), MSPModel_Striping::addVehicleFoe(), MSPModel_JuPedSim::addWaypoint(), GeomHelper::angle2D(), GUISUMOAbstractView::applyGLTransform(), Boundary::around(), PositionVector::around(), Boundary::around2D(), NBPTStopCont::assignEdgeForFloatingStops(), PositionVector::as_poly_cw_sorter::atAngle2D(), NBNode::bezierControlPoints(), GNEContour::buildContourCircle(), GNEWireFrame::buildWireOverView(), GeomHelper::calculateLotSpaceAngle(), GeomHelper::calculateLotSpacePosition(), GNEViewNetHelper::MoveMultipleElementModul::calculateMoveOffset(), GNEViewNetHelper::MoveSingleElementModul::calculateMoveOffset(), GUIGeometry::calculateRotation(), NIImporter_OpenDrive::calculateStraightEndPoint(), GeoConvHelper::cartesian2geo(), GUIDanielPerspectiveChanger::centerTo(), GUIOSGPerspectiveChanger::centerTo(), NGRandomNetBuilder::checkAngles(), GUISUMOAbstractView::checkGDALImage(), TraCIServerAPI_Simulation::commandPositionConversion(), NBPTStopCont::computeCrossProductEdgePosition(), NBNodeShapeComputer::computeNodeShapeSmall(), MSTrainHelper::computeUnboardingPositions(), NGRandomNetBuilder::createNewNode(), Triangle::crossProduct(), Boundary::distanceTo2D(), GUIVehicle::drawAction_drawCarriageClass(), GUITLLogicPhasesTrackerWindow::drawAdditionalStates(), GUILane::drawArrows(), GLHelper::drawBoxLine(), GLHelper::drawBoxLine(), GNECalibrator::drawCalibratorSymbol(), GUISUMOAbstractView::drawDecals(), GNEDetector::drawE1DetectorLogo(), GNEDetector::drawE2DetectorLogo(), GNELaneAreaDetector::drawE2PartialLane(), GNEDemandElementPlan::drawEndPosition(), GLHelper::drawFilledPoly(), GNEDemandElementFlow::drawFlowLabel(), GNEContainer::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GUIBusStop::drawGL(), GUICalibrator::drawGL(), GUIContainer::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIOverheadWire::drawGL(), GUIOverheadWireClamp::drawGL(), GUIPerson::drawGL(), GUIPointOfInterest::drawGL(), GUITrafficLightLogicWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GNEDemandElement::drawJunctionLine(), GNELane::drawLane2LaneConnections(), GUILane::drawLane2LaneConnections(), GNEVehicle::drawLanePartialGL(), GNELane::drawLaneStopOffset(), GLHelper::drawLine(), GLHelper::drawLine(), GLHelper::drawLine(), GUIBaseVehicle::drawLinkItem(), GUILane::drawLinkRule(), GUILane::drawLinkRules(), GNEViewNetHelper::LockIcon::drawLockIcon(), GUIBaseVehicle::drawOnPos(), GNEPOI::drawPOI(), GLHelper::drawRectangle(), GNEAdditional::drawSemiCircleGeometryPoint(), GUIE3Collector::MyWrapper::drawSingleCrossing(), GLHelper::drawSpaceOccupancies(), GNEDemandElement::drawStackLabel(), GNEViewNet::drawTemporalJunction(), GNEPathCreator::drawTemporalRoute(), GNEPlanCreator::drawTemporalRoute(), TesselatedPolygon::drawTesselation(), GNEViewNetHelper::TestingMode::drawTestingElements(), GNEViewNet::drawTestsCircle(), GLHelper::drawText(), GLHelper::drawTextAtEnd(), GLHelper::drawTextBox(), GNEJunction::drawTLSIcon(), GLHelper::drawTriangleAtEnd(), MSPModel_JuPedSim::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBPTStopCont::findAccessEdgesForRailStops(), GeomHelper::findLineCircleIntersections(), NIImporter_OpenDrive::geomFromLine(), GNEPOI::getAttributeDouble(), PointOfInterest::getCenter(), GUIJunctionWrapper::getCenteringBoundary(), GUIPointOfInterest::getCenteringBoundary(), GNEDemandElement::getColorByScheme(), NBNode::getEmptyDir(), MSPModel_Striping::getNextLaneObstacles(), MSCFModel_CC::getParameter(), PositionVector::getPolygonCenter(), MSVTKExport::getPositions(), LIBSUMO_NAMESPACE::InductionLoop::getTree(), GUIGeometry::getVertexCircleAroundPosition(), NBHeightMapper::getZ(), GUIOverheadWire::GUIOverheadWire(), GUIParkingArea::GUIParkingArea(), GNEApplicationWindow::handleEvent_NetworkLoaded(), GUIApplicationWindow::handleEvent_SimulationLoaded(), LIBSUMO_NAMESPACE::Person::handleVariable(), LIBSUMO_NAMESPACE::Vehicle::handleVariable(), GUIChargingStation::initAppearance(), GNEAdditionalFrame::initBaseAdditionalObject(), GUINet::initGUIStructures(), GUILane::initRotations(), GUIBusStop::initShape(), NBNodeCont::insert(), NBNodeCont::insert(), PositionVector::insertAtClosest(), PositionVector::intersects(), PositionVector::isClockwiseOriented(), PositionVector::isLeft(), NBNodeCont::joinNodeCluster(), GNENet::joinSelectedJunctions(), Triangle::lineIntersectCircle(), NBHeightMapper::loadTiff(), libsumo::Helper::makeTraCIPosition(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::PState::moveToXY(), GUIE2Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), GeomHelper::nearest_offset_on_line_to_point2D(), GUIGLObjectPopupMenu::onCmdCopyCursorGeoPosition(), GUIGLObjectPopupMenu::onCmdCopyViewGeoBoundary(), GNEShapeFrame::GEOPOICreator::onCmdCreateGEOPOI(), GNEShapeFrame::GEOPOICreator::onCmdSetCoordinates(), GUIGLObjectPopupMenu::onCmdShowCursorGeoPositionOnline(), GNEViewNet::onCmdTransformPOIGEO(), GUIDanielPerspectiveChanger::onMouseMove(), Triangle::onSegment(), PositionVector::increasing_x_y_sorter::operator()(), operator<<, Triangle::orientation(), NBNodeCont::paretoCheck(), Position(), Position(), GNEShapeFrame::processClickPOI(), GNEShapeFrame::processClickPOIGeo(), LIBSUMO_NAMESPACE::POI::remove(), NBNodeCont::retrieveByPos(), rotateAround2D(), PCPolyContainer::saveDlrTDP(), set(), set(), MSStageDriving::setArrived(), GUIBaseVehicle::setFunctionalColor(), MSParkingArea::setRoadsideCapacity(), GUIDialog_EditViewport::setValues(), GUIOSGPerspectiveChanger::setViewport(), GUISUMOAbstractView::setViewportFromToRot(), setx(), PositionVector::sideOffset(), PositionVector::simplified(), GUISUMOAbstractView::snapToActiveGrid(), PositionVector::sub(), NBNetBuilder::transformCoordinate(), MSPModel_JuPedSim::tryPedestrianInsertion(), GNEParkingArea::updateGeometry(), GNEVehicle::updateGeometry(), GUISUMOAbstractView::updatePositionInformationLabel(), MSBatteryExport::write(), MSElecHybridExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSElecHybridExport::writeAggregated(), NBSign::writeAsPOI(), NWWriter_OpenDrive::writeGeomLines(), NWWriter_OpenDrive::writeGeomPP3(), NWWriter_OpenDrive::writeNetwork(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSFullExport::writePersons(), NWFrame::writePositionLong(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().

◆ y()

double Position::y ( ) const
inline

Returns the y-position.

Definition at line 57 of file Position.h.

References myY.

Referenced by MSCFModel_CC::_consensus(), Boundary::add(), LIBSUMO_NAMESPACE::POI::add(), MSPModel_JuPedSim::add(), PositionVector::add(), MSParkingArea::addLotEntry(), MSPModel_Striping::addVehicleFoe(), MSPModel_JuPedSim::addWaypoint(), GeomHelper::angle2D(), GUISUMOAbstractView::applyGLTransform(), Boundary::around(), PositionVector::around(), Boundary::around2D(), NBPTStopCont::assignEdgeForFloatingStops(), PositionVector::as_poly_cw_sorter::atAngle2D(), NBNode::bezierControlPoints(), GNEContour::buildContourCircle(), GNEWireFrame::buildWireOverView(), GeomHelper::calculateLotSpaceAngle(), GeomHelper::calculateLotSpacePosition(), GNEViewNetHelper::MoveMultipleElementModul::calculateMoveOffset(), GNEViewNetHelper::MoveSingleElementModul::calculateMoveOffset(), GUIGeometry::calculateRotation(), NIImporter_OpenDrive::calculateStraightEndPoint(), GeoConvHelper::cartesian2geo(), GUIDanielPerspectiveChanger::centerTo(), GUIOSGPerspectiveChanger::centerTo(), NGRandomNetBuilder::checkAngles(), GUISUMOAbstractView::checkGDALImage(), TraCIServerAPI_Simulation::commandPositionConversion(), NBPTStopCont::computeCrossProductEdgePosition(), NBNodeShapeComputer::computeNodeShapeSmall(), MSTrainHelper::computeUnboardingPositions(), NGRandomNetBuilder::createNewNode(), Triangle::crossProduct(), Boundary::distanceTo2D(), GUIVehicle::drawAction_drawCarriageClass(), GUITLLogicPhasesTrackerWindow::drawAdditionalStates(), GUILane::drawArrows(), GLHelper::drawBoxLine(), GLHelper::drawBoxLine(), GNECalibrator::drawCalibratorSymbol(), GUISUMOAbstractView::drawDecals(), GNEDetector::drawE1DetectorLogo(), GNEDetector::drawE2DetectorLogo(), GNELaneAreaDetector::drawE2PartialLane(), GNEDemandElementPlan::drawEndPosition(), GLHelper::drawFilledPoly(), GNEDemandElementFlow::drawFlowLabel(), GNEContainer::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GUIBusStop::drawGL(), GUICalibrator::drawGL(), GUIContainer::drawGL(), GUILaneSpeedTrigger::drawGL(), GUIOverheadWire::drawGL(), GUIOverheadWireClamp::drawGL(), GUIPerson::drawGL(), GUIPointOfInterest::drawGL(), GUITrafficLightLogicWrapper::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GNEDemandElement::drawJunctionLine(), GNELane::drawLane2LaneConnections(), GUILane::drawLane2LaneConnections(), GNEVehicle::drawLanePartialGL(), GNELane::drawLaneStopOffset(), GLHelper::drawLine(), GLHelper::drawLine(), GLHelper::drawLine(), GUIBaseVehicle::drawLinkItem(), GUILane::drawLinkRule(), GUILane::drawLinkRules(), GNEViewNetHelper::LockIcon::drawLockIcon(), GUIBaseVehicle::drawOnPos(), GNEPOI::drawPOI(), GLHelper::drawRectangle(), GNEAdditional::drawSemiCircleGeometryPoint(), GUIE3Collector::MyWrapper::drawSingleCrossing(), GLHelper::drawSpaceOccupancies(), GNEDemandElement::drawStackLabel(), GNEViewNet::drawTemporalJunction(), GNEPathCreator::drawTemporalRoute(), GNEPlanCreator::drawTemporalRoute(), TesselatedPolygon::drawTesselation(), GNEViewNetHelper::TestingMode::drawTestingElements(), GNEViewNet::drawTestsCircle(), GLHelper::drawText(), GLHelper::drawTextAtEnd(), GLHelper::drawTextBox(), GNEJunction::drawTLSIcon(), GLHelper::drawTriangleAtEnd(), MSPModel_JuPedSim::execute(), MSVTypeProbe::execute(), NBNodeCont::extract(), NBPTStopCont::findAccessEdgesForRailStops(), GeomHelper::findLineCircleIntersections(), NIImporter_OpenDrive::geomFromLine(), GNEPOI::getAttributeDouble(), PointOfInterest::getCenter(), GUIJunctionWrapper::getCenteringBoundary(), GUIPointOfInterest::getCenteringBoundary(), GNEDemandElement::getColorByScheme(), NBNode::getEmptyDir(), MSPModel_Striping::getNextLaneObstacles(), MSCFModel_CC::getParameter(), PositionVector::getPolygonCenter(), MSVTKExport::getPositions(), LIBSUMO_NAMESPACE::InductionLoop::getTree(), GUIGeometry::getVertexCircleAroundPosition(), NBHeightMapper::getZ(), GUIOverheadWire::GUIOverheadWire(), GUIParkingArea::GUIParkingArea(), GNEApplicationWindow::handleEvent_NetworkLoaded(), GUIApplicationWindow::handleEvent_SimulationLoaded(), LIBSUMO_NAMESPACE::Person::handleVariable(), LIBSUMO_NAMESPACE::Vehicle::handleVariable(), GUIChargingStation::initAppearance(), GNEAdditionalFrame::initBaseAdditionalObject(), GUINet::initGUIStructures(), GUILane::initRotations(), GUIBusStop::initShape(), NBNodeCont::insert(), NBNodeCont::insert(), PositionVector::insertAtClosest(), PositionVector::intersects(), PositionVector::isClockwiseOriented(), PositionVector::isLeft(), NBNodeCont::joinNodeCluster(), GNENet::joinSelectedJunctions(), Triangle::lineIntersectCircle(), NBHeightMapper::loadTiff(), libsumo::Helper::makeTraCIPosition(), NWWriter_OpenDrive::mapmatchRoadObjects(), MSDevice_FCDReplay::move(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::PState::moveToXY(), GUIE2Collector::MyWrapper::MyWrapper(), GUIInductLoop::MyWrapper::MyWrapper(), GeomHelper::nearest_offset_on_line_to_point2D(), GUIGLObjectPopupMenu::onCmdCopyCursorGeoPosition(), GUIGLObjectPopupMenu::onCmdCopyViewGeoBoundary(), GNEShapeFrame::GEOPOICreator::onCmdCreateGEOPOI(), GNEShapeFrame::GEOPOICreator::onCmdSetCoordinates(), GUIGLObjectPopupMenu::onCmdShowCursorGeoPositionOnline(), GNEViewNet::onCmdTransformPOIGEO(), GUIDanielPerspectiveChanger::onMouseMove(), Triangle::onSegment(), PositionVector::increasing_x_y_sorter::operator()(), operator<<, Triangle::orientation(), NBNodeCont::paretoCheck(), Position(), Position(), GNEShapeFrame::processClickPOI(), GNEShapeFrame::processClickPOIGeo(), LIBSUMO_NAMESPACE::POI::remove(), NBNodeCont::retrieveByPos(), rotateAround2D(), PCPolyContainer::saveDlrTDP(), set(), set(), MSStageDriving::setArrived(), GUIBaseVehicle::setFunctionalColor(), MSParkingArea::setRoadsideCapacity(), GUIDialog_EditViewport::setValues(), GUIOSGPerspectiveChanger::setViewport(), GUISUMOAbstractView::setViewportFromToRot(), sety(), PositionVector::sideOffset(), PositionVector::simplified(), GUISUMOAbstractView::snapToActiveGrid(), PositionVector::sub(), NBNetBuilder::transformCoordinate(), MSPModel_JuPedSim::tryPedestrianInsertion(), GNEParkingArea::updateGeometry(), GNEVehicle::updateGeometry(), GUISUMOAbstractView::updatePositionInformationLabel(), MSBatteryExport::write(), MSElecHybridExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSElecHybridExport::writeAggregated(), NBSign::writeAsPOI(), NWWriter_OpenDrive::writeGeomLines(), NWWriter_OpenDrive::writeGeomPP3(), NWWriter_OpenDrive::writeNetwork(), NWWriter_DlrNavteq::writeNodesUnsplitted(), MSFullExport::writePersons(), NWFrame::writePositionLong(), NWWriter_DlrNavteq::writeTrafficSignals(), MSFCDExport::writeTransportable(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().

◆ z()

double Position::z ( ) const
inline

Returns the z-position.

Definition at line 62 of file Position.h.

References myZ.

Referenced by Boundary::add(), PositionVector::add(), Boundary::around(), NBNode::bezierControlPoints(), GNEWireFrame::buildWireOverView(), GeomHelper::calculateLotSpacePosition(), GeoConvHelper::cartesian2geo(), GUIOSGPerspectiveChanger::centerTo(), MSLaneChanger::changeOpposite(), TraCIServerAPI_Simulation::commandPositionConversion(), GUIVehicle::drawAction_drawCarriageClass(), GUIBaseVehicle::drawOnPos(), GLHelper::drawSpaceOccupancies(), TesselatedPolygon::drawTesselation(), MSVTypeProbe::execute(), PositionVector::getMaxGrade(), PositionVector::getMinZ(), PositionVector::getOverlapWith(), PositionVector::getPolygonCenter(), GNELane::getPopUpMenu(), GUILane::getPopUpMenu(), MSVTKExport::getPositions(), GNEAdditionalFrame::initBaseAdditionalObject(), MSVehicle::interpolateLateralZ(), NBNodeCont::joinNodeCluster(), libsumo::Helper::makeTraCIPosition(), PositionVector::move2side(), PositionVector::move2sideCustom(), LIBSUMO_NAMESPACE::Vehicle::moveToXY(), operator<<, Position(), GNENetHelper::AttributeCarriers::registerJunction(), set(), MSParkingArea::setRoadsideCapacity(), GUIDialog_EditViewport::setValues(), GUISUMOAbstractView::setViewportFromToRot(), setz(), GNEEdge::smoothElevation(), GNEEdge::smoothShape(), GUISUMOAbstractView::snapToActiveGrid(), NBEdge::startShapeAt(), PositionVector::sub(), NBNetBuilder::transformCoordinate(), GNEParkingArea::updateGeometry(), MSElecHybridExport::write(), MSEmissionExport::write(), MSFCDExport::write(), MSElecHybridExport::writeAggregated(), NWWriter_OpenDrive::writeGeomLines(), NWWriter_OpenDrive::writeGeomPP3(), NWWriter_OpenDrive::writeNetwork(), MSFullExport::writePersons(), NWFrame::writePositionLong(), MSFCDExport::writeTransportable(), MSFullExport::writeVehicles(), PointOfInterest::writeXML(), GeoConvHelper::x2cartesian(), and GeoConvHelper::x2cartesian_const().

◆ operator<<

std::ostream & operator<< ( std::ostream & os,
const Position & p )
friend

output operator

Definition at line 188 of file Position.h.

References Position(), x(), y(), and z().

Field Documentation

◆ INVALID

const Position Position::INVALID
static

used to indicate that a position is valid

Definition at line 323 of file Position.h.

Referenced by MSPModel_JuPedSim::add(), NIXMLNodesHandler::addJoinCluster(), GUIEdge::addRerouter(), MSPModel_Striping::addVehicleFoe(), NBEdge::append(), NBNodeShapeComputer::badIntersection(), NBNode::bezierControlPoints(), GNEAdditionalHandler::buildRerouter(), GNEAdditionalHandler::buildTAZ(), GNEContour::calculateContourEdgeGeometryPoints(), GUISUMOAbstractView::centerTo(), GUIViewObjectsHandler::checkCircleObject(), GUIViewObjectsHandler::checkGeometryPoint(), GUIViewObjectsHandler::checkPositionOverShape(), GUIViewObjectsHandler::checkShapeObject(), GNEMoveElement::commitMove(), MSVehicle::computeAngle(), MSLaneChanger::continueChange(), GNEContour::drawDottedContourGeometryPoints(), GNEContainer::drawGL(), GNEPerson::drawGL(), GNEVehicle::drawGL(), GNELaneAreaDetector::drawLanePartialGL(), GNEOverheadWire::drawLanePartialGL(), GNERoute::drawLanePartialGL(), GNEVehicle::drawLanePartialGL(), GNEDemandElementPlan::drawPlanLanePartial(), MSVehicle::enterLaneAtInsertion(), MSVehicle::enterLaneAtLaneChange(), MSVehicle::enterLaneAtMove(), MSVehicle::executeFractionalMove(), MSVehicle::executeMove(), GUIDottedGeometry::getBackPosition(), PositionVector::getCentroid(), GNEMoveElement::getEditShapeOperation(), GUIDottedGeometry::getFrontPosition(), GUIPerson::getGUIAngle(), GUIPerson::getGUIPosition(), NIXMLShapeHandler::getLanePos(), NLShapeHandler::getLanePos(), PCLoaderXML::getLanePos(), MSPModel_Striping::getNextLaneObstacles(), GNEDemandElementPlan::getPlanAttributePosition(), PositionVector::getPolygonCenter(), GUIPerson::getPosition(), MSPModel_Striping::PState::getPosition(), MSStageDriving::getPosition(), MSStageMoving::getPosition(), MSStageWaiting::getPosition(), MSVehicle::getPosition(), MSVehicle::getPositionAlongBestLanes(), GUIViewObjectsHandler::getSelectedPositionOverShape(), NBEdge::getSignalOffset(), MSVehicle::getSlope(), MSParkingArea::getVehiclePosition(), GUIVehicle::getVisualPosition(), NBNodeCont::guessTLs(), GUITriggeredRerouter::GUITriggeredRerouterEdge::GUITriggeredRerouterEdge(), NBNode::hadSignal(), MSVehicle::handleCollisionStop(), MSVehicle::Influencer::implicitSpeedRemote(), NBNode::indirectLeftShape(), PolygonDynamics::initTrackedPosition(), MSVehicle::interpolateLateralZ(), PositionVector::intersectionPosition2D(), PositionVector::intersectionPosition2D(), MSVehicle::invalidateCachedPosition(), NBNodeCont::joinNodeCluster(), MSStageDriving::loadState(), MSDevice_SSM::makeStringWithNAs(), MSDevice_SSM::makeStringWithNAs(), NBEdge::mirrorX(), PositionVector::move2side(), PositionVector::move2sideCustom(), GNEMoveElement::moveElement(), MSPModel_Striping::moveInDirection(), MSPModel_Striping::moveInDirectionOnLane(), MSPModel_Striping::PState::moveToXY(), MSTriggeredRerouter::MSTriggeredRerouter(), GUIDialog_EditViewport::onCmdChanged(), GUIDialog_EditViewport::onCmdOk(), GUISUMOAbstractView::onMouseMove(), GNEAttributeCarrier::parse(), NLTriggerBuilder::parseAndBuildRerouter(), AdditionalHandler::parseRerouterAttributes(), AdditionalHandler::parseTAZAttributes(), AdditionalHandler::parseTractionSubstation(), PositionVector::positionAtOffset(), PositionVector::positionAtOffset(), PositionVector::positionAtOffset2D(), PositionVector::positionAtOffset2D(), MSStageDriving::proceed(), GNEMoveElementEdge::processMoveFromJunctionSelected(), GNEMoveElementEdge::processMoveToJunctionSelected(), GNEMoveElementEdge::processNoneJunctionSelected(), MSStageDriving::registerWaiting(), NBEdge::reshiftPosition(), GUIViewObjectsHandler::selectPositionOverShape(), GNEJunction::setAttribute(), MSPModel_JuPedSim::PState::setPosition(), GUIViewObjectsHandler::setSelectionTriangle(), GNETAZFrame::shapeDrawed(), GNEAdditionalFrame::show(), GNEStopFrame::show(), GNEOverlappedInspection::showOverlappedInspection(), GUISUMOAbstractView::showViewportEditor(), PositionVector::sidePositionAtAngle(), PositionVector::sidePositionAtAngle(), MSLaneChangerSublane::startChangeSublane(), GNEAdditionalFrame::tagSelected(), MSDevice_SSM::toGeo(), PositionVector::transformToVectorCoordinates(), PolygonDynamics::update(), GNETAZ::updateCenteringBoundary(), GNETAZRelData::updateGeometry(), GUIGeometry::updateGeometry(), GNEDemandElementPlan::updatePlanGeometry(), MSVehicle::updateState(), MSVehicle::validatePosition(), and GUIDialog_EditViewport::writeXML().

◆ myX

◆ myY

◆ myZ


The documentation for this class was generated from the following files: