Eclipse SUMO - Simulation of Urban MObility
GNEGeometry::SegmentGeometry Struct Reference

struct for pack all variables related with geometry of elemements divided in segments More...

#include <GNEGeometry.h>

Data Structures

class  Segment
 struct used for represent segments of element geometry More...
 
class  SegmentToUpdate
 struct used for represent segments that must be updated More...
 

Public Member Functions

const Segmentback () const
 back segment More...
 
std::vector< Segment >::const_iterator begin () const
 begin iterator More...
 
void clearSegmentGeometry ()
 clear element geometry More...
 
std::vector< Segment >::const_iterator end () const
 end iterator More...
 
const Segmentfront () const
 front segment More...
 
Boundary getBoxBoundary () const
 Returns a boundary enclosing all segments. More...
 
const PositiongetFirstPosition () const
 get first position (or Invalid position if segments are empty) More...
 
double getFirstRotation () const
 get first rotation (or Invalid position if segments are empty) More...
 
const PositiongetLastPosition () const
 get first position (or Invalid position if segments are empty) More...
 
void insertCustomSegment (const GNELane *lane, const Geometry &geometry, const bool valid)
 insert custom segment More...
 
void insertLane2LaneSegment (const GNELane *currentLane, const GNELane *nextLane, const bool valid)
 insert entire lane2lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths) More...
 
void insertLaneSegment (const GNELane *lane, const bool valid)
 insert entire lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths) More...
 
 SegmentGeometry ()
 constructor More...
 
int size () const
 number of segments More...
 
void updateCustomSegment (const int segmentIndex, const Geometry &geometry)
 update custom segment More...
 
void updateLane2LaneSegment (const int segmentIndex, const GNELane *lane, const GNELane *nextLane)
 update lane2Lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths) More...
 

Private Member Functions

SegmentGeometryoperator= (const SegmentGeometry &other)=delete
 Invalidated assignment operator. More...
 

Private Attributes

std::vector< SegmentmyShapeSegments
 vector of segments that constitutes the shape More...
 

Detailed Description

struct for pack all variables related with geometry of elemements divided in segments

Definition at line 261 of file GNEGeometry.h.

Constructor & Destructor Documentation

◆ SegmentGeometry()

GNEGeometry::SegmentGeometry::SegmentGeometry ( )

constructor

Definition at line 672 of file GNEGeometry.cpp.

Member Function Documentation

◆ back()

const GNEGeometry::SegmentGeometry::Segment & GNEGeometry::SegmentGeometry::back ( ) const

back segment

Definition at line 773 of file GNEGeometry.cpp.

References myShapeSegments.

◆ begin()

std::vector< GNEGeometry::SegmentGeometry::Segment >::const_iterator GNEGeometry::SegmentGeometry::begin ( ) const

begin iterator

Definition at line 755 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

◆ clearSegmentGeometry()

void GNEGeometry::SegmentGeometry::clearSegmentGeometry ( )

clear element geometry

Definition at line 709 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::calculateLaneGeometricPath().

Here is the caller graph for this function:

◆ end()

std::vector< GNEGeometry::SegmentGeometry::Segment >::const_iterator GNEGeometry::SegmentGeometry::end ( ) const

end iterator

Definition at line 761 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

◆ front()

const GNEGeometry::SegmentGeometry::Segment & GNEGeometry::SegmentGeometry::front ( ) const

front segment

Definition at line 767 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

◆ getBoxBoundary()

Boundary GNEGeometry::SegmentGeometry::getBoxBoundary ( ) const

Returns a boundary enclosing all segments.

Definition at line 745 of file GNEGeometry.cpp.

References Boundary::add(), and myShapeSegments.

◆ getFirstPosition()

const Position & GNEGeometry::SegmentGeometry::getFirstPosition ( ) const

get first position (or Invalid position if segments are empty)

Definition at line 716 of file GNEGeometry.cpp.

References Position::INVALID, and myShapeSegments.

◆ getFirstRotation()

double GNEGeometry::SegmentGeometry::getFirstRotation ( ) const

get first rotation (or Invalid position if segments are empty)

Definition at line 735 of file GNEGeometry.cpp.

References myShapeSegments.

◆ getLastPosition()

const Position & GNEGeometry::SegmentGeometry::getLastPosition ( ) const

get first position (or Invalid position if segments are empty)

Definition at line 725 of file GNEGeometry.cpp.

References Position::INVALID, and myShapeSegments.

Referenced by GNEDemandElement::drawPersonPlanPartialLane().

Here is the caller graph for this function:

◆ insertCustomSegment()

void GNEGeometry::SegmentGeometry::insertCustomSegment ( const GNELane lane,
const Geometry geometry,
const bool  valid 
)

insert custom segment

Definition at line 683 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::calculateLaneGeometricPath().

Here is the caller graph for this function:

◆ insertLane2LaneSegment()

void GNEGeometry::SegmentGeometry::insertLane2LaneSegment ( const GNELane currentLane,
const GNELane nextLane,
const bool  valid 
)

insert entire lane2lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths)

Definition at line 690 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::calculateLaneGeometricPath().

Here is the caller graph for this function:

◆ insertLaneSegment()

void GNEGeometry::SegmentGeometry::insertLaneSegment ( const GNELane lane,
const bool  valid 
)

insert entire lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths)

Definition at line 676 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::calculateLaneGeometricPath().

Here is the caller graph for this function:

◆ operator=()

SegmentGeometry& GNEGeometry::SegmentGeometry::operator= ( const SegmentGeometry other)
privatedelete

Invalidated assignment operator.

◆ size()

int GNEGeometry::SegmentGeometry::size ( ) const

number of segments

Definition at line 779 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

◆ updateCustomSegment()

void GNEGeometry::SegmentGeometry::updateCustomSegment ( const int  segmentIndex,
const Geometry geometry 
)

update custom segment

Definition at line 697 of file GNEGeometry.cpp.

References myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

◆ updateLane2LaneSegment()

void GNEGeometry::SegmentGeometry::updateLane2LaneSegment ( const int  segmentIndex,
const GNELane lane,
const GNELane nextLane 
)

update lane2Lane segment (used to avoid unnecessary calculation in calculatePartialShapeRotationsAndLengths)

Definition at line 703 of file GNEGeometry.cpp.

References GNELane::getLane2laneConnections(), GNEGeometry::Lane2laneConnection::getLane2laneGeometry(), and myShapeSegments.

Referenced by GNEGeometry::updateGeometricPath().

Here is the caller graph for this function:

Field Documentation

◆ myShapeSegments

std::vector<Segment> GNEGeometry::SegmentGeometry::myShapeSegments
private

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