Aimsun Next Scripting: GKSection Class Reference
Aimsun Next Scripting  22
Public Types | Public Member Functions | Static Public Attributes | List of all members
GKSection Class Reference
Inheritance diagram for GKSection:
GKBezierCurve GKPolyline GKGeoObject GKObject GKBaseObject

Public Types

enum  LateralType { eLeftIn , eLeftOut , eRightIn , eRightOut }
 
enum  GKSectionOrientation { eGKNorth , eGKSouth , eGKEast , eGKWest }
 
enum  sectionSide { eOrigin =0 , eDestination }
 
- Public Types inherited from GKBezierCurve
enum  GKBezierCurveType { eSegment = 0 , eSimpleCurve = 1 , eCurve = 2 }
 
- Public Types inherited from GKGeoObject
enum  GKGeoContainer { eNothing = 0 , ePartially = 1 , eTotally = 2 }
 
- Public Types inherited from GKObject
enum  IdentifierFormFlag {
  eIdentifierDefault , eIdentifierId , eIdentifierName , eIdentifierExternalId ,
  eIdentifierTypeExternalName , eIdentifierDescription , eIdentifierStandard , eIdentifierStandardWithType ,
  eIdentifierAll
}
 
enum  GKLockType { eNone , eModification , eDelete , eModificationDelete }
 
enum  GKObjectStatus { eNew , eSaved , eModified , eDeleted }
 
typedef QFlags< GKObject::IdentifierFormFlagIdentifierForm
 

Public Member Functions

 GKSection ()
 
virtual GKBBox getBBox () const
 
bool canUse (GKVehicleClass *v) const
 
QVector< double > getLaneExtraLengthAtEntrance () const
 
QVector< double > getLaneExtraLengthAtExit () const
 
bool canUseVehicle (const GKMobileAgent *v) const
 
GKNodegetOrigin () const
 
GKNodegetDestination () const
 
void setOrigin (GKNode *)
 
void setDestination (GKNode *)
 
virtual int getDataValueInt (const GKColumn *, const GKContext &=GKContext::anyContext) const
 
virtual double getDataValueDouble (const GKColumn *, const GKContext &=GKContext::anyContext) const
 
virtual void setDataValue (const GKColumn *, const QVariant &)
 
virtual bool getDataValueBool (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
const GKRoadTypegetRoadType () const
 
void setRoadType (const GKRoadType *, bool)
 
double getLaneWidth () const
 
void setLaneWidth (double width)
 
double getLaneWidth (uint lanepos) const
 
void setLaneWidth (uint lanepos, double width)
 
GKCoord getLanesLength2D () const
 
GKCoord getLanesLength3D () const
 
GKCoord getLaneLength2D (uint lanepos) const
 
GKCoord getLaneLength3D (uint lanepos) const
 
GKCoord getLaneLength2DWithoutPedestrianCrossings (uint lanepos, bool full=false) const
 
GKCoord getLaneLength3DWithoutPedestrianCrossings (uint lanepos, bool full=false) const
 
const QVector< GKSectionLane > & getLanes () const
 
GKSectionLanegetLane (uint lanepos)
 
void removeLane (uint lanepos)
 
void removeLastLane ()
 
void addLane (const GKSectionLane &lane, int lanepos=-1)
 
QPair< int, int > getLanesAtPos (double pos) const
 
int getNbLanesAtPos (double pos) const
 
int getNbFullLanes () const
 
QPair< int, int > getEntryLanes () const
 
QPair< int, int > getExitLanes () const
 
bool existLaneAtPos (int laneNumber, double pos) const
 
QPair< int, int > getLanesAtSegment (int segment) const
 
GKCoord getWidth () const
 
virtual void changeDirection ()
 
virtual void join (const GKPolyline *pol, bool atStart)
 
virtual void removePoints (uint nbPoints, bool atStart)
 
void removePoint (uint pos)
 
void setEntranceLineAngle (GKCoord angle)
 
GKCoord getEntranceLineAngle () const
 
void setExitLineAngle (GKCoord angle)
 
GKCoord getExitLineAngle () const
 
GKCoord getExitAngle () const
 
GKCoord getEntranceAngle () const
 
GKSectionOrientation getSectionEntranceOrientation () const
 
GKSectionOrientation getSectionExitOrientation () const
 
int getLastSegmentNbLanes () const
 
int getNbTurningsUsingLane (int iLane, sectionSide iSide)
 
GKCoord getEntranceHeight () const
 
GKCoord getExitHeight () const
 
GKCoord getZRotationAtDistance (GKCoord dist, bool degrees) const
 
GKCoord getYRotationAtDistance (GKCoord dist, bool degrees) const
 
GKCoord getHeightAtDistance (GKCoord dist) const
 
GKCoord getHeightAtPoint2D (const GKPoint &p, int nbLane) const
 
GKCoord getHeightAtPoint2D (const GKPoint &p, const GKPoints &bezierCurve) const
 
bool isConnected (const GKSection *) const
 
double getSpeed () const
 
void setSpeed (double)
 
void clearSpeedDetailed ()
 
void setSpeedDetailed (int, int, double)
 
double getSpeedDetailed (int, int)
 
double getCapacityForVehicle (const GKVehicle *v, const GKModelConnection *iModelConnection) const
 
double getCapacity () const
 
void setCapacity (double value)
 
double getAdditionalVolume () const
 
void setAdditionalVolume (double value)
 
double getUserDefinedCost () const
 
double getUserDefinedCost2 () const
 
double getUserDefinedCost3 () const
 
void setUserDefinedCost (double value)
 
void setUserDefinedCost2 (double value)
 
void setUserDefinedCost3 (double value)
 
GKFunctionCostgetInitialFunction () const
 
GKFunctionCostgetKInitialsFunction () const
 
GKFunctionCostgetDynamicFunction () const
 
void setInitialFunction (GKFunctionCost *fc)
 
void setKInitialsFunction (GKFunctionCost *fc)
 
void setDynamicFunction (GKFunctionCost *fc)
 
void setCostFunction (GKFunctionCost *fc)
 
const GKPedestrianCrossinggetPedestrianCrossingAtEnd () const
 
const GKPedestrianCrossinggetPedestrianCrossingAtBeginning () const
 
GKPointscalculatePolylineWithoutPedestrianCrossings (GKPoints &points, uint nbpoints=0, QVector< int > *segmentsBeginPos=NULL) const
 
GKPoints calculateLanePolyline (int lane, bool keepSegments, uint nbpoints=0, QVector< int > *segmentsBeginPos=NULL) const
 
GKPoints calculateLanePolylineWithoutPedestrianCrossings (int lane, uint nbpoints=0, QVector< int > *segmentsBeginPos=NULL) const
 
bool getAutoIntermediateHeight () const
 
void setAutoIntermediateHeight (bool value)
 
double getInherentSpeed () const
 
void setInherentSpeed (double newInherentSpeed)
 
void recalculateAltitudes ()
 
void autoCurveTurnings (bool curveStraightTurnings=true)
 
GKPoint getExtremePointAtPos (double pos, bool atRight) const
 
GKPoints getExtremePointsLane (uint lanepos) const
 
GKObjectDelCmd * getDelCmd ()
 
virtual GKGeoObjectCutCmd * getCutCmd (const GKPoint &from, const GKPoint &to, bool keepConnection)
 
bool useRoadTypeNonAllowedVehicles () const
 
void setUseRoadTypeNonAllowedVehicles (bool value)
 
QVector< const GKMobileAgent * > getNonAllowedVehicles () const
 
void setNonAllowedVehicles (QVector< const GKMobileAgent * > vehicles)
 
GKTurnings getDestTurnings () const
 
GKTurnings getOrigTurnings () const
 
GKTurnings getOrigTurnings (int laneIndex) const
 
uint getNumExitSections () const
 
uint getNumEntranceSections () const
 
QVector< GKSection * > getExitSections () const
 
QVector< GKSection * > getEntranceSections () const
 
double getStopLine () const
 
void setStopLine (double v)
 
void updateAltitudeTurnings ()
 
- Public Member Functions inherited from GKBezierCurve
 GKBezierCurve ()
 
void addSegment (GKBezierCurveType type)
 
void setPoint (int s, int i, const GKPoint &p)
 
void setPoint (int i, const GKPoint &p)
 
void setCurve (const GKBezierCurve &curve)
 
void setFromSegment (const GKPoint &p1, const GKPoint &p2, GKBezierCurveType type)
 
void setFromPoints (const GKPoints &ps, GKBezierCurveType type)
 
uint getNbSegments () const
 
virtual void addCurvePointAt (int pos, const GKPoint &p)
 
virtual void removePoint (uint pos)
 
virtual bool canPointBeAdded (uint pos) const
 
GKPoints calculatePolyline (uint nbpoints=0, bool simplify=true, QVector< int > *segmentsBeginPos=NULL) const
 
bool isASegment () const
 
bool onlyContainsSegments () const
 
GKBezierCurveType getCurveType (uint pos) const
 
GKCoord length2D (uint nbpoints=0) const
 
GKCoord length3D (uint nbpoints=0) const
 
GKCoord getSegmentLength (uint pos, uint nbpoints=0) const
 
GKBezierCurve getSegment (uint pos) const
 
int getNumSegmentControlPoints (int pos) const
 
GKPoint calculateBezierPoint (float t) const
 
GKVector calculateBezierDerivative (float t) const
 
GKVector calculateBezierSecondDerivative (float t) const
 
GKCoord calculateBezierRadius (const GKPoints &p, uint nbpoints=0) const
 
GKCoord getBezierRadiusatPoint (const GKPoints &p, const GKPoint &p1, uint nbpoints=0) const
 
GKCoord MeanRadius (uint nbpoints=0) const
 
bool hit (const GKPoint &p, float epsilon) const
 
virtual void changeDirection ()
 
virtual void join (const GKPolyline *pol, bool atStart)
 
virtual void removePoints (uint nbPoints, bool atStart, int &nbSegmentsRemoved)
 
GKPoint pointAtPos (float pos) const
 
float posAtPoint (const GKPoint &p, GKCoord maxDistToCurve=0.01) const
 
int segmentAtPos (GKCoord pos, double *length=NULL) const
 
int segmentAtPosComplete (const GKPoints &points, GKCoord pos, double *retLength=NULL) const
 
uint nbParts () const
 
GKCoord angleToCurve (const GKBezierCurve &curve) const
 
virtual GKCoord getAltitude () const
 
virtual void setAltitude (GKCoord value)
 
- Public Member Functions inherited from GKPolyline
 GKPolyline ()
 
uint nbPoints () const
 
const GKPointgetPoint (uint at) const
 
void setPoint (uint at, const GKPoint &p)
 
const GKPointsgetPoints () const
 
virtual void addPoint (const GKPoint &p)
 
virtual void addPointAt (int pos, const GKPoint &p)
 
virtual void removePoint (uint pos)
 
virtual void setPoints (const GKPoints &ps)
 
virtual GKCoord length2D () const
 
virtual GKCoord length3D () const
 
virtual bool canPointBeAdded (uint pos) const
 
virtual void join (const GKPolyline *pol, bool atStart)
 
virtual void removePoints (uint nbPoints, bool atStart)
 
virtual bool canBeJoined (const GKPolyline *pol) const
 
void prepend (const GKPoints &ps)
 
void add (const GKPoints &ps)
 
void setPointSelected (uint p, bool value)
 
bool isPointSelected (uint p) const
 
void selectAllPoints ()
 
void unselectAllPoints ()
 
int getNbSelPoints () const
 
virtual void changeDirection ()
 
GKCoord getSlope (int segmentPos) const
 
GKBBox getBBox () const
 
void setPenColor (const QColor &color)
 
virtual const QColor & getPenColor () const
 
void setPenStyle (const Qt::PenStyle &astyle)
 
const Qt::PenStyle & getPenStyle () const
 
void setPenSize (float size)
 
float getPenSize () const
 
void setPenSizeUnits (const GK::SizeUnits &units)
 
const GK::SizeUnitsgetPenSizeUnits () const
 
- Public Member Functions inherited from GKGeoObject
 GKGeoObject ()
 
virtual void setSelected (bool newState)
 
virtual bool isSelected () const
 
bool canBeModified () const
 
bool canBeEdited () const
 
virtual bool canBeGrouped () const
 
int getMark () const
 
void setMark (int newMark)
 
void addMark (int newMark)
 
void unmark ()
 
const QVector< int > * getMarks () const
 
uint getNumberOfMarks () const
 
GKLayergetLayer () const
 
void setLayer (GKLayer *alayer)
 
virtual void translate (const GKPoint &delta)
 
virtual void rotate (const GKPoint &center, double angle)
 
virtual void scale (const GKPoint &)
 
virtual GKCoord getAltitude () const
 
virtual void setAltitude (GKCoord value)
 
void addTopObject (GKGeoObject *)
 
QSet< GKGeoObject * > * getTopObjects () const
 
GKGeoObjectgetBottomObject () const
 
void setLabeled (bool value)
 
bool isLabeled () const
 
GKGeoContainer getContainedWay (const GKPoints &points, const GKBBox &bboxPoints) const
 
virtual GKGeoContainer doGetContainedWay (const GKBBox &myBBox, const GKPoints &points, const GKBBox &bboxPoints) const
 
GK::ConnectionType objectConnectionType (const GKGeoObject *object) const
 
QSet< GKObjectConnection * > getConnections () const
 
QSet< GKObjectConnection * > getConnections (const GKGeoObject *) const
 
bool anyConnection (const GKGeoObject *) const
 
virtual void addConnection (GKObjectConnection *)
 
virtual void removeConnection (GKObjectConnection *, GK::ObjectDeletionBehaviour)
 
virtual void changeConnectionObject (GKGeoObject *oldObject, GKGeoObject *newObject, GK::ConnectionType connectionType=GK::eConnectionUndefined)
 
virtual void removeAllConnections (GK::ObjectDeletionBehaviour)
 
virtual bool acceptConnection (GKGeoObject *object) const
 
virtual GKGeoObjectCutCmd * getCutCmd (const GKPoint &from, const GKPoint &to, bool keepConnection)
 
virtual bool exists (quint32 scenarioId) const
 
- Public Member Functions inherited from GKObject
 GKObject ()
 
 GKObject (const GKObject &o)
 
virtual void addedToCatalog ()
 
virtual void removedFromCatalog ()
 
uint getTick () const
 
virtual void increaseTick ()
 
void setTick (uint t)
 
virtual GKObjectclone (bool addItToModel=true) const
 
virtual GKObjectcloneAsTemporary (bool addItToModel=true) const
 
GKFoldergetCreateRootFolder ()
 
GKFoldergetRootFolder () const
 
void setRootFolder (GKFolder *afolder)
 
GKFolderfindFolder (const QString &byName) const
 
QVector< GKFolder * > getParentFolders () const
 
bool isDataValueNull (const GKColumn *attr) const
 
virtual QVariant * getDataValue (const GKColumn *attr, bool *deleteit, const GKContext &context=GKContext::anyContext) const
 
QVariant * getDataValueByID (uint attrId, bool *deleteit, const GKContext &context=GKContext::anyContext) const
 
virtual void setDataValue (const GKColumn *attr, const QVariant &v)
 
void setDataValueByID (uint attrId, const QVariant &v)
 
virtual void setDataValueObject (const GKColumn *attr, const GKObject *obj)
 
void setDataValueObjectByID (uint attrId, const GKObject *obj)
 
virtual void setDataValueDouble (const GKColumn *attr, double v)
 
void setDataValueDoubleByID (uint attrId, double v)
 
virtual double getDataValueInTS (const GKColumn *attr, GKTimeSerieIndex index, double *deviation=NULL) const
 
double getDataValueInTSByID (uint attrId, GKTimeSerieIndex index, double *deviation=NULL) const
 
bool hasAnyTSWithData () const
 
virtual GKTimeSeriegetDataValueTS (const GKColumn *attr) const
 
GKTimeSeriegetDataValueTSByID (uint attrId) const
 
virtual void setDataValueInTS (const GKColumn *attr, GKTimeSerieIndex index, double value, double deviation, GKTSDescription *aDescription=NULL, int reservedSize=0)
 
virtual void setDataValueInTS (const GKColumn *attr, GKTimeSerieIndex index, double value, double deviation, double lowerValue, GKTSDescription *aDescription=NULL, int reservedSize=0)
 
virtual void setDataValueInSingleTS (const GKColumn *attr, GKTimeSerieIndex index, double value, double deviation, GKTSDescription *aDescription)
 
void setDataValueInTSByID (uint attrId, GKTimeSerieIndex index, double value, double deviation, GKTSDescription *aDescription=NULL, int reservedSize=0)
 
virtual void setAggregatedValueInTS (const GKColumn *attr, double value, double deviation, GKTSDescription *aDescription=NULL)
 
void setAggregatedValueInTSByID (uint attrId, double value, double deviation, GKTSDescription *aDescription=NULL)
 
virtual void clearDataValueTS (const GKColumn *attr, GKTSDescription *aDescription=NULL)
 
void clearDataValueTSByID (uint attrId, GKTSDescription *aDescription=NULL)
 
virtual int getDataValueInt (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
int getDataValueIntByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
virtual double getDataValueDouble (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
double getDataValueDoubleByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
QString getDataValueString (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
QString getDataValueStringByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
virtual bool getDataValueBool (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
bool getDataValueBoolByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
virtual GKObjectgetDataValueObject (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
GKObjectgetDataValueObjectByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
QDate getDataValueDate (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
QDate getDataValueDateByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
QTime getDataValueTime (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
QTime getDataValueTimeByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
QDateTime getDataValueDateTime (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
QDateTime getDataValueDateTimeByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
GKTimeDuration getDataValueTimeDuration (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const
 
GKTimeDuration getDataValueTimeDurationByID (uint attrId, const GKContext &context=GKContext::anyContext) const
 
void removeDataValue (const GKColumn *attr)
 
void removeDataValueByID (uint attrId)
 
const QString & getDescription () const
 
void setDescription (const QString &adescription)
 
const QString & getExternalId () const
 
void setExternalId (const QString &anId)
 
virtual GKObjectDelCmd * getDelCmd ()
 
virtual GKObjectConnectionDelCmd * getDelConnectionCmd (GKObject *target)
 
virtual void nonCommandObjectRemoved (GKObject *)
 
virtual void init ()
 
virtual void setId (uint aid, GKModel *model)
 
uint getId () const
 
QUuid getUUID () const
 
virtual void setName (const QString &aname)
 
const QString & getName () const
 
QString getExtendedId (IdentifierForm form=eIdentifierDefault) const
 
QString getNameOrExtendedId (IdentifierForm form=eIdentifierDefault) const
 
virtual const QString & getTypeName () const
 
virtual QString getTypeExternalName () const
 
const GKObjectgetMaster () const
 
GKTypegetType () const
 
virtual void setType (GKType *atype)
 
bool isA (const GKType *atype) const
 
bool isA (const QString &typeName) const
 
virtual void setModel (GKModel *amodel)
 
GKModelgetModel () const
 
virtual void setLock (GKLockType atype)
 
GKLockType getLock () const
 
virtual bool canBeDeleted () const
 
virtual bool canBeModified () const
 
virtual bool canBeEdited () const
 
GKObjectStatus getStatus () const
 
virtual void setStatus (const GKObjectStatus astatus)
 
void notifyStatusChange ()
 
bool isTemporary () const
 
void setTemporary (bool value)
 
bool isExternal () const
 
void setExternal (bool value)
 
virtual void preferencesChanged ()
 
void removeColumn (GKColumn *column)
 
void resetColumn (GKColumn *column)
 
- Public Member Functions inherited from GKBaseObject
 GKBaseObject ()
 
 if (base)
 
virtual uint getId () const =0
 
virtual const QString & getTypeName () const =0
 
virtual QString getTypeExternalName () const =0
 
virtual const GKObjectgetMaster () const =0
 
virtual const QString & getName () const =0
 
virtual const QString & getExternalId () const =0
 
virtual const QString & getDescription () const =0
 
virtual GKModelgetModel () const =0
 
virtual QVariant * getDataValue (const GKColumn *attr, bool *deleteit, const GKContext &context=GKContext::anyContext) const =0
 
virtual QVariant * getDataValueByID (uint attrId, bool *deleteit, const GKContext &context=GKContext::anyContext) const =0
 
virtual double getDataValueInTS (const GKColumn *attr, GKTimeSerieIndex index, double *deviation=NULL) const =0
 
virtual double getDataValueInTSByID (uint attrId, GKTimeSerieIndex index, double *deviation=NULL) const =0
 
virtual GKTimeSeriegetDataValueTS (const GKColumn *attr) const =0
 
virtual GKTimeSeriegetDataValueTSByID (uint attrId) const =0
 
virtual int getDataValueInt (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual int getDataValueIntByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual double getDataValueDouble (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual double getDataValueDoubleByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual QString getDataValueString (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual QString getDataValueStringByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual bool getDataValueBool (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual bool getDataValueBoolByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual GKObjectgetDataValueObject (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual GKObjectgetDataValueObjectByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual QDate getDataValueDate (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual QDate getDataValueDateByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual QTime getDataValueTime (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual QTime getDataValueTimeByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual QDateTime getDataValueDateTime (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual QDateTime getDataValueDateTimeByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 
virtual GKTimeDuration getDataValueTimeDuration (const GKColumn *attr, const GKContext &context=GKContext::anyContext) const =0
 
virtual GKTimeDuration getDataValueTimeDurationByID (uint attrId, const GKContext &context=GKContext::anyContext) const =0
 

Static Public Attributes

static uint originNodeAtt
 
static uint destinationNodeAtt
 
static uint nblanesAtt
 
static uint nbFullLanesAtt
 
static uint speedAtt
 
static uint laneWidthAtt
 
static uint capacityAtt
 
static uint onRampCooperationDistanceAtt
 
static uint onRampMergingDistanceAtt
 
static uint onRampFIFOAtt
 
static uint cooperationAtt
 
static uint aggressivenessAtt
 
static uint userDefinedCostAtt
 
static uint userDefinedCost2Att
 
static uint userDefinedCost3Att
 
static uint additionalVolumeAtt
 
static uint roadTypeAtt
 
static uint considerTwoLanesCarFollowingAtt
 
static uint inherentSpeedAtt
 
static uint hasEntryLateralLaneAtt
 
static uint hasExitLateralLaneAtt
 
static uint reactionTimeVariationAtt
 
static uint reactionTimeAtTrafficLightVariationAtt
 
static uint reactionTimeAtStopVariationAtt
 
static uint accelerationVariationFactorAtt
 
static uint imprudentLaneChanging
 
static uint jamDensityAtt
 
static uint reactionTimeFactorAtt
 
static uint kInitialsFunctionAtt
 
static uint initialFunctionAtt
 
static uint dynamicFunctionAtt
 
static uint vdfAtt
 
static uint rightExtraTypeAtt
 
static uint leftExtraTypeAtt
 
static uint rightExtraWidthAtt
 
static uint leftExtraWidthAtt
 
static uint hasDetailedSpeedAtt
 
static uint typeOfReservedLanes
 
static uint lookaheadDistanceAtt
 
static uint reservedLanesVisibilityDistanceAtt
 
static uint sharedLanePenalisedAtt
 
static uint slowLanePenalisedAtt
 
static uint numberOfSignalsAtt
 
static uint numberOfPTLinesAtt
 
static uint trafficConditionsUsageAtt
 
static uint numberOfTrafficConditionsUsedAtt
 
static uint functionalClassAtt
 
static uint twoWayVisibilityDistance
 
static uint twoWayVisibilityFactor
 
static uint twoWayMirrorSection
 
static uint twoWaySpeedDifferenceToOvertakeSolidLine
 
static uint mergeDivergeAtt
 
static uint weavingAtt
 
static uint useRoadTypeNonAllowedVehiclesAtt
 
static uint returnToInsideLaneAfterOvertaking
 
static uint mesoOnRampCooperationGapAtt
 
static uint mesoOnRampMergingGapAtt
 
static double gcMinSpeed
 
static double gcMaxSpeed
 
static double gcMinCapacity
 
static double gcMaxCapacity
 
static double gcMinZone
 
static double gcMaxZone
 
static double gcMinVisibility
 
static double gcMaxVisibility
 
static GKCoord gcMinLineAngle
 
static GKCoord gcMaxLineAngle
 
static GKCoord gcMinLaneWidth
 
static GKCoord gcMaxLaneWidth
 
static uint gcMaxNumberOfLanes
 
static double gcMinJamDensity
 
static double gcMaxJamDensity
 
static double gkMaxSlope
 
static double gkMinSlope
 
- Static Public Attributes inherited from GKGeoObject
static uint markAtt
 
static uint altitudeAtt
 
static uint numberOfConnectionsAtt
 
static uint layerAtt
 
- Static Public Attributes inherited from GKObject
static uint typeNameAtt
 
static uint typeExternalNameAtt
 
static uint revisedAtt
 
- Static Public Attributes inherited from GKBaseObject
Py_END_ALLOW_THREADS static End uint idAtt
 
static uint nameAtt
 
static uint externalIdAtt
 
static uint descriptionAtt
 

Additional Inherited Members

- Public Attributes inherited from GKBaseObject
ConvertToSubClassCode Py_BEGIN_ALLOW_THREADS GKBaseObjectbase = (GKBaseObject*)sipCpp
 
 sipType = 0
 

Detailed Description

We have to understand GKSection as one of the base building blocks of an Aimsun Network.

A section is a group of contiguous lanes where vehicles move in the same direction. The partition of the traffic network into sections is usually governed by the physical boundaries of the area and the existence of turn movements. In an urban network, a section corresponds closely to the road from one intersection to the next. In a freeway area, a section can be the part of the road between two ramps.

Member Enumeration Documentation

◆ GKSectionOrientation

Enumerator
eGKNorth 
eGKSouth 
eGKEast 
eGKWest 

◆ LateralType

Enumerator
eLeftIn 
eLeftOut 
eRightIn 
eRightOut 

◆ sectionSide

Enumerator
eOrigin 
eDestination 

Constructor & Destructor Documentation

◆ GKSection()

GKSection::GKSection ( )

Member Function Documentation

◆ addLane()

void GKSection::addLane ( const GKSectionLane lane,
int  lanepos = -1 
)

Add a lane to this section at position lanepos. ID lanepos is -1 (the default) the lane will be the last lane (rightmost).

◆ autoCurveTurnings()

void GKSection::autoCurveTurnings ( bool  curveStraightTurnings = true)

This function recalculates the geometry of all the turns entering or leaving the current section

◆ calculateLanePolyline()

GKPoints GKSection::calculateLanePolyline ( int  lane,
bool  keepSegments,
uint  nbpoints = 0,
QVector< int > *  segmentsBeginPos = NULL 
) const

Calculates a polyline that represents the lane desired. Lanes are numbered from 0 (the leftmost one) to number of lanes -1. The polyline is calculated in "points" and "points" is also returned.

If keepSegments is true it will keep at least one point per section segment, if false it will simplify the number of points as most as possible.

If segmentsBeginPos is not NULL in this vector (one entry by segment) the start position of each segment is returned (start position in the array of calculated points).

If nbpoints is 0 then the value of GKPoints::gkDefaultBezierPoints will be used.

◆ calculateLanePolylineWithoutPedestrianCrossings()

GKPoints GKSection::calculateLanePolylineWithoutPedestrianCrossings ( int  lane,
uint  nbpoints = 0,
QVector< int > *  segmentsBeginPos = NULL 
) const

Calculates a polyline that represents the lane desired without considerings the pedestrian crossings that might be at the beginning or end of the section. Lanes are numbered from 0 (the leftmost one) to number of lanes -1. The polyline is calculated in "points" and "points" is also returned.

If segmentsBeginPos is not NULL in this vector (one entry by segment) the start position of each segment is returned (start position in the array of calculated points).

If nbpoints is 0 then the value of GKPoints::gkDefaultBezierPoints will be used.

◆ calculatePolylineWithoutPedestrianCrossings()

GKPoints & GKSection::calculatePolylineWithoutPedestrianCrossings ( GKPoints points,
uint  nbpoints = 0,
QVector< int > *  segmentsBeginPos = NULL 
) const

Calculates a polyline that represents the center line of this section without considering the pedestrian crossings the section may have at the beginning or end of the section.The polyline is calculated in "points" and "points" is also returned.

If segmentsBeginPos is not NULL in this vector (one entry by segment) the start position of each segment is returned (start position in the array of calculated points).

If nbpoints is 0 then the value of GKPoints::gkDefaultBezierPoints will be used.

◆ canUse()

bool GKSection::canUse ( GKVehicleClass v) const

Returns true if this vehicle class can use this section

◆ canUseVehicle()

bool GKSection::canUseVehicle ( const GKMobileAgent v) const

Returns true if this vehicle can use this section

◆ changeDirection()

virtual void GKSection::changeDirection ( )
virtual

Changes the direction of flow of this section (in fact inverses the order of the points that defines the geometry of the section.

Reimplemented from GKBezierCurve.

◆ clearSpeedDetailed()

void GKSection::clearSpeedDetailed ( )

Clears all the detailed speed information, if any, defined for this section.

◆ existLaneAtPos()

bool GKSection::existLaneAtPos ( int  laneNumber,
double  pos 
) const

Returns true if lane "lane" exists at "pos". A main lane will always return true (no check will be done for pos to enter inside the [0,length]. A side lane will return false if pos is not in the lane.

◆ getAdditionalVolume()

double GKSection::getAdditionalVolume ( ) const

Additional Volume

◆ getAutoIntermediateHeight()

bool GKSection::getAutoIntermediateHeight ( ) const

Returns true if the height of the intermediate points will be calculated automatically or not using the GKSectionEditor. True by default.

The user can change the heights individually no matter the value of the attribute but they will be overwrite when using the editor.

◆ getBBox()

virtual GKBBox GKSection::getBBox ( ) const
virtual

Gets the bounding box of this object.

◆ getCapacity()

double GKSection::getCapacity ( ) const

The section capacity for static assignments in PCUs.

◆ getCapacityForVehicle()

double GKSection::getCapacityForVehicle ( const GKVehicle v,
const GKModelConnection iModelConnection 
) const

Returns the section capacity for this vehicle type. When reserved lanes are defined in the section, if the vehicle is not allowed to use them, then the capacity of the not allowed lanes will not be taken into account. If the section has any lane reserved compulsory or reserved tram for the vehicle type v then the capacity will be the one defined by these reserved compulsory or tram lanes only.

◆ getCutCmd()

virtual GKGeoObjectCutCmd * GKSection::getCutCmd ( const GKPoint from,
const GKPoint to,
bool  keepConnection 
)
virtual

reimplemented from GKGeoObject

Reimplemented from GKGeoObject.

◆ getDataValueBool()

virtual bool GKSection::getDataValueBool ( const GKColumn attr,
const GKContext context = GKContext::anyContext 
) const
virtual

Reimplemented to be able to get the column values of a section

See also
GKObject

Reimplemented from GKObject.

◆ getDataValueDouble()

virtual double GKSection::getDataValueDouble ( const GKColumn ,
const GKContext = GKContext::anyContext 
) const
virtual

Reimplemented to be able to get the column values of a section

See also
GKObject

Reimplemented from GKObject.

◆ getDataValueInt()

virtual int GKSection::getDataValueInt ( const GKColumn ,
const GKContext = GKContext::anyContext 
) const
virtual

Reimplemented to be able to get the column values of a section

See also
GKObject

Reimplemented from GKObject.

◆ getDelCmd()

GKObjectDelCmd * GKSection::getDelCmd ( )
virtual

Gets a command to delete the current section

Reimplemented from GKObject.

◆ getDestination()

GKNode * GKSection::getDestination ( ) const

Returns the destination node of this section (contains turns that start at this section). It can be NULL.

◆ getDestTurnings()

GKTurnings GKSection::getDestTurnings ( ) const

Returns all turns exiting this section.

◆ getDynamicFunction()

GKFunctionCost * GKSection::getDynamicFunction ( ) const

Get the Dynamic Cost Function for the turn.

◆ getEntranceAngle()

GKCoord GKSection::getEntranceAngle ( ) const

Returns the angle in radians that the section's first segment makes with the horizontal. The value will be between (-PI, PI)

◆ getEntranceHeight()

GKCoord GKSection::getEntranceHeight ( ) const

Gets the z coordinate of the section's entrance line

◆ getEntranceLineAngle()

GKCoord GKSection::getEntranceLineAngle ( ) const

Returns the angle in radians that the entrance line makes with the perpendicular in the section's first segment. The value will be between (-PI/2.0, PI/2.0)

◆ getEntranceSections()

QVector< GKSection * > GKSection::getEntranceSections ( ) const

Returns a vector with the entrance sections, that is the origin sections of all turns arriving to this section.

◆ getEntryLanes()

QPair< int, int > GKSection::getEntryLanes ( ) const

Returns the range of lanes (from 0 to N-1, where N is the number of lanes) that can be used to enter this section. It takes into account the laterals to discard it if needed.

◆ getExitAngle()

GKCoord GKSection::getExitAngle ( ) const

Returns the angle in radians that the section's last segment makes with the horizontal . The value will be between (-PI, PI)

◆ getExitHeight()

GKCoord GKSection::getExitHeight ( ) const

Gets the z coordinate of the section's exit line

◆ getExitLanes()

QPair< int, int > GKSection::getExitLanes ( ) const

Returns the range of lanes (from 0 to N-1, where N is the number of lanes) that can be used to exit this section. It takes into account the laterals to discard it if needed.

◆ getExitLineAngle()

GKCoord GKSection::getExitLineAngle ( ) const

Returns the angle in radians that the exit line makes with the perpendicular in the section's last segment . The value will be between (-PI/2.0, PI/2.0)

◆ getExitSections()

QVector< GKSection * > GKSection::getExitSections ( ) const

Returns a vector with the exit sections, that is the destination sections of all turns exiting from this section.

◆ getExtremePointAtPos()

GKPoint GKSection::getExtremePointAtPos ( double  pos,
bool  atRight 
) const

It returns the parallel point to the one located in the center line at pos from the beginning and at the right contour line of the section when atRight is true and at the left side otherwise. It takes into acount side lanes if any

◆ getExtremePointsLane()

GKPoints GKSection::getExtremePointsLane ( uint  lanepos) const

Returns an array of four points: 0 is the left bottom, 1 is the left top, 2 is the right top and 3 is the right bottom. Left and right using the section direction.

◆ getHeightAtDistance()

GKCoord GKSection::getHeightAtDistance ( GKCoord  dist) const

Returns the z coordinate of the section at distance dist from the beginning.

◆ getHeightAtPoint2D() [1/2]

GKCoord GKSection::getHeightAtPoint2D ( const GKPoint p,
const GKPoints bezierCurve 
) const

Returns the z coordinate of the section at point p where only the x and y are valid coordinates. Point p must be located in the middle line of lane nbLane, otherwise the result is unknown

◆ getHeightAtPoint2D() [2/2]

GKCoord GKSection::getHeightAtPoint2D ( const GKPoint p,
int  nbLane 
) const

Returns the z coordinate of the section at point p where only the x and y are valid coordinates. Point p must be located in the middle line of lane nbLane, otherwise the result is unknown

◆ getInherentSpeed()

double GKSection::getInherentSpeed ( ) const

Returns the inherent speed of the section

◆ getInitialFunction()

GKFunctionCost * GKSection::getInitialFunction ( ) const

Get the Initial Cost Function for the turn.

◆ getKInitialsFunction()

GKFunctionCost * GKSection::getKInitialsFunction ( ) const

Get the K-Initials Cost Function for the turn.

◆ getLane()

GKSectionLane & GKSection::getLane ( uint  lanepos)

Get lane (by pos). It goes from 0 to N-1 (where N is the number of lanes) 0 is the left most lane, N-1 the right most lane. Left and right using the section direction.

◆ getLaneExtraLengthAtEntrance()

QVector< double > GKSection::getLaneExtraLengthAtEntrance ( ) const

Section's initial and end point are related to the section's center line. When the section's entrance line is not perpendicularto the section's first segment line, each lane can have an additional or a lower length at the beginning. This length is the one returned in this vector, for each one of the section's lanes.

◆ getLaneExtraLengthAtExit()

QVector< double > GKSection::getLaneExtraLengthAtExit ( ) const

Section's initial and end point are related to the section's center line. When the section's exit line is not perpendicularto the section's last segment line, each lane can have an additional or a lower length at the end. This length is the one returned in this vector, for each one of the section's lanes.

◆ getLaneLength2D()

GKCoord GKSection::getLaneLength2D ( uint  lanepos) const

Gets the 2D lane length (by position). The position input can range from 0 to N-1, where N is the number of lanes, 0 the left-most lane position and N-1 the right-most lane according to the section direction. If the position input is greater than or equal to N the function will return 0.

◆ getLaneLength2DWithoutPedestrianCrossings()

GKCoord GKSection::getLaneLength2DWithoutPedestrianCrossings ( uint  lanepos,
bool  full = false 
) const

Gets the 2D lane length (by position) without considering the pedestrian crossing that might be defined at the beginning or end of the section. The position input can range from 0 to N-1, where N is the number of lanes, 0 the left-most lane position and N-1 the right-most lane according to the section direction. If the position input is greater than or equal to N the function will return 0.

If full is true then the length will be calculated as if the lane was a full one, ignoring any side lane offset values.

◆ getLaneLength3D()

GKCoord GKSection::getLaneLength3D ( uint  lanepos) const

Gets the 3D lane length (by position). The position input can range from 0 to N-1, where N is the number of lanes, 0 the left-most lane position and N-1 the right-most lane according to the section direction. If the position input is greater than or equal to N the function will return 0.

◆ getLaneLength3DWithoutPedestrianCrossings()

GKCoord GKSection::getLaneLength3DWithoutPedestrianCrossings ( uint  lanepos,
bool  full = false 
) const

Gets the 3D lane length (by position) without considering the pedestrian crossing that might be defined at the beginning or end of the section. The position input can range from 0 to N-1, where N is the number of lanes, 0 the left-most lane position and N-1 the right-most lane according to the section direction. If the position input is greater than or equal to N the function will return 0.

If full is true then the length will be calculated as if the lane was a full one, ignoring any side lane offset values.

◆ getLanes()

const QVector< GKSectionLane > & GKSection::getLanes ( ) const

Get all the lanes sorted by position. It goes from 0 to N-1 (where N is the number of lanes) 0 is the left most lane, N-1 the right most lane. Left and right using the section direction.

◆ getLanesAtPos()

QPair< int, int > GKSection::getLanesAtPos ( double  pos) const

Returns the range of lanes (from 0 to N-1, where N is the number of lanes) that exists at position pos (relative to the start of the section, pos = 0.0 means the start point, pos = length2D() means the end point of the section.

Is pos > length2D() then the function will use length2D() as position.

◆ getLanesAtSegment()

QPair< int, int > GKSection::getLanesAtSegment ( int  segment) const

Returns the range of lanes (from 0 to N-1, where N is the number of lanes) that exists at segment 'segment' (from 0 to M-1, where M is the number of segments).

◆ getLanesLength2D()

GKCoord GKSection::getLanesLength2D ( ) const

Returns the sum of the section lanes' 2D length. The output may differ from multiplying the section 2D length by the number of lanes because not all lanes must necessarily have the same 2D length (e.g. lateral lanes or curved section).

◆ getLanesLength3D()

GKCoord GKSection::getLanesLength3D ( ) const

Returns the sum of the section lanes' 3D length. The output may differ from multiplying the section 3D length by the number of lanes because not all lanes must necessarily have the same 3D length (e.g. lateral lanes or curved section).

◆ getLaneWidth() [1/2]

double GKSection::getLaneWidth ( ) const

Default lane width of this section. Note that this information is per section and not per lane.

◆ getLaneWidth() [2/2]

double GKSection::getLaneWidth ( uint  lanepos) const

Get the specified lane's width. The variable lanepos goes from 0 to N-1 (where N is the number of lanes): 0 is the left most lane, N-1 the right most lane. Left and right are based on the section's direction.

◆ getLastSegmentNbLanes()

int GKSection::getLastSegmentNbLanes ( ) const

Returns the number of lanes that are present in the last segment of the section. that is, all the main lanes and the laterals that starts or ends in the last segment

◆ getNbFullLanes()

int GKSection::getNbFullLanes ( ) const

◆ getNbLanesAtPos()

int GKSection::getNbLanesAtPos ( double  pos) const

Returns the number of lanes that exists at position pos (relative to the start of the section, pos = 0.0 means the start point, pos = length2D() means the end point of the section.

Is pos > length2D() then the function will use length2D() as position.

◆ getNbTurningsUsingLane()

int GKSection::getNbTurningsUsingLane ( int  iLane,
sectionSide  iSide 
)

Return the number of turns using this lane

◆ getNonAllowedVehicles()

QVector< const GKMobileAgent * > GKSection::getNonAllowedVehicles ( ) const

List of vehicles and pedestrian types that are not allowed in this section

◆ getNumEntranceSections()

uint GKSection::getNumEntranceSections ( ) const

Returns the number of entrance sections, that is the number of sections where a turn arriving to this section strats from.

◆ getNumExitSections()

uint GKSection::getNumExitSections ( ) const

Returns the number of exit sections, that is the number of sections where a turn exiting from this section goes to.

◆ getOrigin()

GKNode * GKSection::getOrigin ( ) const

Returns the origin node of this section (node from where turns will enter). It can be NULL.

◆ getOrigTurnings() [1/2]

GKTurnings GKSection::getOrigTurnings ( ) const

Returns all turns entering this section.

◆ getOrigTurnings() [2/2]

GKTurnings GKSection::getOrigTurnings ( int  laneIndex) const

Returns all turns entering this section and arriving to lane "laneIndex", where laneIndex goes from 0 to number of lanes - 1. Lane 0 is the leftmost lane in the section's direction of flow.

◆ getPedestrianCrossingAtBeginning()

const GKPedestrianCrossing * GKSection::getPedestrianCrossingAtBeginning ( ) const

Crossing at the beginning of the section? Note that they are section objects and are also available as a list of top objects (GKGeoObject::getTopObjects).

◆ getPedestrianCrossingAtEnd()

const GKPedestrianCrossing * GKSection::getPedestrianCrossingAtEnd ( ) const

Crossing at the end of the section? Note that they are section objects and are also available as a list of top objects (GKGeoObject::getTopObjects).

◆ getRoadType()

const GKRoadType * GKSection::getRoadType ( ) const

Gets the road type of the section

◆ getSectionEntranceOrientation()

GKSectionOrientation GKSection::getSectionEntranceOrientation ( ) const

Returns the section orientation taking into account the first segment and the north direction defined in Preferences. Each orientation will have a possible deviation of 45 degrees into each side, that is, all sections will be classified into the closer category

◆ getSectionExitOrientation()

GKSectionOrientation GKSection::getSectionExitOrientation ( ) const

Returns the section orientation taking into account the last segment and the north direction defined in Preferences. Each orientation will have a possible deviation of 45 degrees into each side, that is, all sections will be classified into the closer category

◆ getSpeed()

double GKSection::getSpeed ( ) const

Returns the section speed.

◆ getSpeedDetailed()

double GKSection::getSpeedDetailed ( int  ,
int   
)

Gets the value of a detailed speed.

◆ getStopLine()

double GKSection::getStopLine ( ) const

Stop Line distance from the beginning of the section (in meters) common for all lanes. Every lane can have an additional value to override it.

See also
GKSectionLane::getStopLine()

The distance is either 0 that means either at the beginning of the scetion of just after the crosswalk (if any). If greater than 0 is up to the user to place it after the crosswalk.

◆ getUserDefinedCost()

double GKSection::getUserDefinedCost ( ) const

User-defined cost

◆ getUserDefinedCost2()

double GKSection::getUserDefinedCost2 ( ) const

User-defined cost (second one)

◆ getUserDefinedCost3()

double GKSection::getUserDefinedCost3 ( ) const

User-defined cost (third one)

◆ getWidth()

GKCoord GKSection::getWidth ( ) const

Returns the section width (computed as the sum of all lanes' width)

◆ getYRotationAtDistance()

GKCoord GKSection::getYRotationAtDistance ( GKCoord  dist,
bool  degrees 
) const

Returns the angle that the section makes with the vertical at distance dist from the beginning. This angle can be expressed in degrees (setting the parameter degrees to true) or in radians (setting degrees to false).

◆ getZRotationAtDistance()

GKCoord GKSection::getZRotationAtDistance ( GKCoord  dist,
bool  degrees 
) const

Returns the angle that the section makes with the horizontal at distance dist from the beginning. This angle can be expressed in degrees (setting the parameter degrees to true) or in radians (setting degrees to false).

◆ isConnected()

bool GKSection::isConnected ( const GKSection ) const

Returns true is the section is connected to the section "nextSection".

◆ join()

virtual void GKSection::join ( const GKPolyline pol,
bool  atStart 
)
virtual

Join to sections in one. "pol" must be a GKSection. See GKBezierCurve::join for details.

Reimplemented from GKBezierCurve.

◆ recalculateAltitudes()

void GKSection::recalculateAltitudes ( )

Recalcule all the altitude coordinates of the section

◆ removeLane()

void GKSection::removeLane ( uint  lanepos)

Remove a lane by pos (see getLane() )

◆ removeLastLane()

void GKSection::removeLastLane ( )

Remove the last lane (rightmost)

◆ removePoint()

void GKSection::removePoint ( uint  pos)
virtual

Removes a point from the section. This will simplify the section (4 points section to 3 section curve, 3 section curve to a segment, if it is a segment it will be removed).

Reimplemented from GKBezierCurve.

◆ removePoints()

virtual void GKSection::removePoints ( uint  nbPoints,
bool  atStart 
)
virtual

Removes nbPoints from this section. See GKBezierCurve::removePoints for details.

Reimplemented from GKPolyline.

◆ setAdditionalVolume()

void GKSection::setAdditionalVolume ( double  value)

Additional Volume

◆ setAutoIntermediateHeight()

void GKSection::setAutoIntermediateHeight ( bool  value)

◆ setCapacity()

void GKSection::setCapacity ( double  value)

Sets the section capacity for static assignments in PCUs.. This capacity is for the whole section and not per lane. This capacity is automatically updated when the user changes the number of lanes of a section. In this case side lanes are not considered.

If the user wants to set the section capacity using a lane capacity he/she will:

uint fullLanes = 0;
GKSectionLanes::const_iterator iter;
for( iter = section->getLanes().begin(); iter != section->getLanes().end(); iter++ ){
if( (*iter).isFullLane() ){
fullLanes++;
}
}
section->setCapacity( fullLanes * laneCapacity );

◆ setCostFunction()

void GKSection::setCostFunction ( GKFunctionCost fc)

Set the Volume Delay Cost Function for the section. DP: Named as Cost Function, only here, a refactor is needed.

◆ setDataValue()

virtual void GKSection::setDataValue ( const GKColumn ,
const QVariant &   
)
virtual

Reimplemented to be able to set the column values of a section

See also
GKObject

Reimplemented from GKObject.

◆ setDestination()

void GKSection::setDestination ( GKNode )

Sets the destination node of the section

◆ setDynamicFunction()

void GKSection::setDynamicFunction ( GKFunctionCost fc)

Set the Dynamic Cost Function for the turn.

◆ setEntranceLineAngle()

void GKSection::setEntranceLineAngle ( GKCoord  angle)

Sets the angle in radians that the entrance line makes with the perpendicular to the section's first segment. Taking as x axis the section's first segment and as y axis its perpendicular line, the angle is positive if the entrance line is located in the first and third quadrant and it is negative if the entrance line is located in the second and fourth quadrant. Correct values are (-PI/2.0, PI/2.0) . Default value is 0.0

◆ setExitLineAngle()

void GKSection::setExitLineAngle ( GKCoord  angle)

Sets the angle in radians that the exit line makes with the perpendicular to the section's last segment. Taking as x axis the section's last segment and as y axis its perpendicular line, the angle is positive if the entrance line is located in the first and third quadrant and it is negative if the entrance line is located in the second and fourth quadrant. Correct values are (-PI/2.0, PI/2.0) . Default value is 0.0

◆ setInherentSpeed()

void GKSection::setInherentSpeed ( double  newInherentSpeed)

Sets the inherent speed of the section

◆ setInitialFunction()

void GKSection::setInitialFunction ( GKFunctionCost fc)

Set the Initial Cost Function for the turn.

◆ setKInitialsFunction()

void GKSection::setKInitialsFunction ( GKFunctionCost fc)

Set the K-Initials Cost Function for the turn.

◆ setLaneWidth() [1/2]

void GKSection::setLaneWidth ( double  width)

Set the default Lane width of this section. Note that this information is per section and not per lane.

◆ setLaneWidth() [2/2]

void GKSection::setLaneWidth ( uint  lanepos,
double  width 
)

Set the specified lane's width. lanepos goes from 0 to N-1 (where N is the number of lanes) 0 is the left most lane, N-1 the right most lane. Left and right are based on the section's direction.

◆ setNonAllowedVehicles()

void GKSection::setNonAllowedVehicles ( QVector< const GKMobileAgent * >  vehicles)

List of vehicles and pedestrian types that are not allowed in this section

◆ setOrigin()

void GKSection::setOrigin ( GKNode )

Sets the origin node of the section

◆ setRoadType()

void GKSection::setRoadType ( const GKRoadType ,
bool   
)

Set the road type of this section. If assignValues is true the values in the road type will be copied in the section.

◆ setSpeed()

void GKSection::setSpeed ( double  )

Sets the section speed.

◆ setSpeedDetailed()

void GKSection::setSpeedDetailed ( int  ,
int  ,
double   
)

Sets information on detailed speed for a segment and/or lane. A -1 is returned when no speed as been set for the segment/lane combination.

◆ setStopLine()

void GKSection::setStopLine ( double  v)

Stop Line distance from the beginning of the section (in meters) common for all lanes. Every lane can have an additional value to override it.

See also
GKSectionLane::getStopLine()

The distance is either 0 that means either at the beginning of the scetion of just after the crosswalk (if any). If greater than 0 is up to the user to place it after the crosswalk.

◆ setUserDefinedCost()

void GKSection::setUserDefinedCost ( double  value)

User-defined cost

◆ setUserDefinedCost2()

void GKSection::setUserDefinedCost2 ( double  value)

User-defined cost (second one)

◆ setUserDefinedCost3()

void GKSection::setUserDefinedCost3 ( double  value)

User-defined cost (third one)

◆ setUseRoadTypeNonAllowedVehicles()

void GKSection::setUseRoadTypeNonAllowedVehicles ( bool  value)

If true (the default) uses the list of non allowed vehicles from the road type If false, from the section

◆ updateAltitudeTurnings()

void GKSection::updateAltitudeTurnings ( )

Update the altitude of the Adjoining Turnings by the section extreme points.

◆ useRoadTypeNonAllowedVehicles()

bool GKSection::useRoadTypeNonAllowedVehicles ( ) const

If true (the default) uses the list of non allowed vehicles from the road type If false, from the section

Member Data Documentation

◆ accelerationVariationFactorAtt

uint GKSection::accelerationVariationFactorAtt
static

Acceleration Factor attribute.

◆ additionalVolumeAtt

uint GKSection::additionalVolumeAtt
static

Additional volume attribute.

◆ aggressivenessAtt

uint GKSection::aggressivenessAtt
static

Lane-changing Aggressiveness atribute.

◆ capacityAtt

uint GKSection::capacityAtt
static

Capacity attribute.

◆ considerTwoLanesCarFollowingAtt

uint GKSection::considerTwoLanesCarFollowingAtt
static

Consider Two-lane Car-following model attribute.

◆ cooperationAtt

uint GKSection::cooperationAtt
static

Lane-changing Cooperation attribute.

◆ destinationNodeAtt

uint GKSection::destinationNodeAtt
static

Destination node attribute.

◆ dynamicFunctionAtt

uint GKSection::dynamicFunctionAtt
static

Dynamic Cost Function attribute.

◆ functionalClassAtt

uint GKSection::functionalClassAtt
static

Functional Class attribute, from the road type.

◆ gcMaxCapacity

double GKSection::gcMaxCapacity
static

Maximum capacity.

◆ gcMaxJamDensity

double GKSection::gcMaxJamDensity
static

Maximum jam density (per lane).

◆ gcMaxLaneWidth

GKCoord GKSection::gcMaxLaneWidth
static

Maximum lane width.

◆ gcMaxLineAngle

GKCoord GKSection::gcMaxLineAngle
static

Maximum line angle.

◆ gcMaxNumberOfLanes

uint GKSection::gcMaxNumberOfLanes
static

Maximum number of lanes.

◆ gcMaxSpeed

double GKSection::gcMaxSpeed
static

Maximum speed.

◆ gcMaxVisibility

double GKSection::gcMaxVisibility
static

Maximum visibility.

◆ gcMaxZone

double GKSection::gcMaxZone
static

Maximum zone.

◆ gcMinCapacity

double GKSection::gcMinCapacity
static

Minimum capacity.

◆ gcMinJamDensity

double GKSection::gcMinJamDensity
static

Minimum jam density (per lane).

◆ gcMinLaneWidth

GKCoord GKSection::gcMinLaneWidth
static

Minimum lane width.

◆ gcMinLineAngle

GKCoord GKSection::gcMinLineAngle
static

Minimum line angle.

◆ gcMinSpeed

double GKSection::gcMinSpeed
static

Minimum speed.

◆ gcMinVisibility

double GKSection::gcMinVisibility
static

Minimum visibility.

◆ gcMinZone

double GKSection::gcMinZone
static

Minimum zone.

◆ gkMaxSlope

double GKSection::gkMaxSlope
static

Maximum section slope.

◆ gkMinSlope

double GKSection::gkMinSlope
static

Minimum section slope.

◆ hasDetailedSpeedAtt

uint GKSection::hasDetailedSpeedAtt
static

Has detailed speed attribute.

◆ hasEntryLateralLaneAtt

uint GKSection::hasEntryLateralLaneAtt
static

Has Entry Side Lane attribute.

◆ hasExitLateralLaneAtt

uint GKSection::hasExitLateralLaneAtt
static

Has Exit Side Lane attribute.

◆ imprudentLaneChanging

uint GKSection::imprudentLaneChanging
static

Imprudent Lane Changing attribute.

◆ inherentSpeedAtt

uint GKSection::inherentSpeedAtt
static

Inherent speed attribute.

◆ initialFunctionAtt

uint GKSection::initialFunctionAtt
static

Initial Cost Function attribute.

◆ jamDensityAtt

uint GKSection::jamDensityAtt
static

Jam density (per lane) attribute.

◆ kInitialsFunctionAtt

uint GKSection::kInitialsFunctionAtt
static

K-Initials Cost Function attribute.

◆ laneWidthAtt

uint GKSection::laneWidthAtt
static

Lane Width attribute.

◆ leftExtraTypeAtt

uint GKSection::leftExtraTypeAtt
static

Left extra type attribute.

◆ leftExtraWidthAtt

uint GKSection::leftExtraWidthAtt
static

Left extra width attribute.

◆ lookaheadDistanceAtt

uint GKSection::lookaheadDistanceAtt
static

Look-ahead Distance attribute.

◆ mergeDivergeAtt

uint GKSection::mergeDivergeAtt
static

Defines whether the section is considered as a merge/diverge starting point for HCM outputs.

◆ mesoOnRampCooperationGapAtt

uint GKSection::mesoOnRampCooperationGapAtt
static

◆ mesoOnRampMergingGapAtt

uint GKSection::mesoOnRampMergingGapAtt
static

◆ nbFullLanesAtt

uint GKSection::nbFullLanesAtt
static

Number of main lanes attribute.

◆ nblanesAtt

uint GKSection::nblanesAtt
static

Number of Lanes attribute.

◆ numberOfPTLinesAtt

uint GKSection::numberOfPTLinesAtt
static

Number of Transit Lines that use this section.

◆ numberOfSignalsAtt

uint GKSection::numberOfSignalsAtt
static

Number of signals attribute.

◆ numberOfTrafficConditionsUsedAtt

uint GKSection::numberOfTrafficConditionsUsedAtt
static

Number of Traffic Management Actions Defined for this section.

◆ onRampCooperationDistanceAtt

uint GKSection::onRampCooperationDistanceAtt
static

Side Lane Cooperation Distance (Micro) attribute.

◆ onRampFIFOAtt

uint GKSection::onRampFIFOAtt
static

Side Lane Merge: First Vehicle On is First Vehicle Off (Micro) attribute.

◆ onRampMergingDistanceAtt

uint GKSection::onRampMergingDistanceAtt
static

Side Lane Merging Distance (Micro) attribute.

◆ originNodeAtt

uint GKSection::originNodeAtt
static

Origin node attribute.

◆ reactionTimeAtStopVariationAtt

uint GKSection::reactionTimeAtStopVariationAtt
static

Additional Reaction Time At Stop (Micro) attribute.

◆ reactionTimeAtTrafficLightVariationAtt

uint GKSection::reactionTimeAtTrafficLightVariationAtt
static

Additional Reaction Time At Traffic Light (Micro) attribute.

◆ reactionTimeFactorAtt

uint GKSection::reactionTimeFactorAtt
static

Reaction Time Factor (Meso) attribute.

◆ reactionTimeVariationAtt

uint GKSection::reactionTimeVariationAtt
static

Reaction Time Variation (Micro) attribute.

◆ reservedLanesVisibilityDistanceAtt

uint GKSection::reservedLanesVisibilityDistanceAtt
static

Visibility Distance for this section reserved lanes, if any, for the dynamic simulators in m (GKColumn::Double).

◆ returnToInsideLaneAfterOvertaking

uint GKSection::returnToInsideLaneAfterOvertaking
static

Return to curbside lane after Overtaking attribute.

◆ rightExtraTypeAtt

uint GKSection::rightExtraTypeAtt
static

Right extra type attribute.

◆ rightExtraWidthAtt

uint GKSection::rightExtraWidthAtt
static

Right extra width attribute.

◆ roadTypeAtt

uint GKSection::roadTypeAtt
static

Road type attribute.

◆ sharedLanePenalisedAtt

uint GKSection::sharedLanePenalisedAtt
static

Penalise Shared Lanes attribute.

◆ slowLanePenalisedAtt

uint GKSection::slowLanePenalisedAtt
static

Take into Account Fast/Slow Lanes attribute.

◆ speedAtt

uint GKSection::speedAtt
static

Speed attribute.

◆ trafficConditionsUsageAtt

uint GKSection::trafficConditionsUsageAtt
static

Number of Traffic Conditions Defined for this section.

◆ twoWayMirrorSection

uint GKSection::twoWayMirrorSection
static

Two-way overtaking: mirror section attribute.

◆ twoWaySpeedDifferenceToOvertakeSolidLine

uint GKSection::twoWaySpeedDifferenceToOvertakeSolidLine
static

Two-way overtaking: speed difference to overtake solid line attribute

◆ twoWayVisibilityDistance

uint GKSection::twoWayVisibilityDistance
static

Two-way overtaking: visibility distance attribute.

◆ twoWayVisibilityFactor

uint GKSection::twoWayVisibilityFactor
static

Two-way overtaking: visibility factor attribute.

◆ typeOfReservedLanes

uint GKSection::typeOfReservedLanes
static

Reservation Type (GKLaneType) attribute.

◆ userDefinedCost2Att

uint GKSection::userDefinedCost2Att
static

Second User-defined Cost attribute.

◆ userDefinedCost3Att

uint GKSection::userDefinedCost3Att
static

Third User-defined Cost attribute.

◆ userDefinedCostAtt

uint GKSection::userDefinedCostAtt
static

User-defined Cost attribute.

◆ useRoadTypeNonAllowedVehiclesAtt

uint GKSection::useRoadTypeNonAllowedVehiclesAtt
static

Use Road Type Settings for Prohibited Vehicle and Pedestrian Types attribute.

◆ vdfAtt

uint GKSection::vdfAtt
static

Volume Delay Function attribute.

◆ weavingAtt

uint GKSection::weavingAtt
static

Defines whether the section is considered as a weaving for HCM outputs

© Aimsun SLU
Aimsun ®