const MSEdge* MSPerson::getNextEdgePtr() const { if (getCurrentStageType() == MOVING_WITHOUT_VEHICLE) { MSPersonStage_Walking* walkingStage = dynamic_cast<MSPersonStage_Walking*>(*myStep); assert(walkingStage != 0); return walkingStage->getPedestrianState()->getNextEdge(*walkingStage); } return 0; }
void GUIPerson::drawAction_drawWalkingareaPath(const GUIVisualizationSettings& s) const { MSPersonStage_Walking* stage = dynamic_cast<MSPersonStage_Walking*>(getCurrentStage()); if (stage != 0) { setColor(s); MSPModel_Striping::PState* stripingState = dynamic_cast<MSPModel_Striping::PState*>(stage->getPedestrianState()); if (stripingState != 0) { MSPModel_Striping::WalkingAreaPath* waPath = stripingState->myWalkingAreaPath; if (waPath != 0) { glPushMatrix(); glTranslated(0, 0, getType()); GLHelper::drawBoxLines(waPath->shape, 0.05); glPopMatrix(); } } } }