96 double sinkWeight =
sink ?
sink->getWeight() : 0;
98 double sourcePlusSinkWeight = sourceWeight + sinkWeight;
104 double percentage = (sourcePlusSinkWeight -
myCurrentTAZParent->myMinSourcePlusSinkWeight) /
107 if (percentage >= 1) {
109 }
else if (percentage < 0) {
116 double sourceMinusSinkWeight = sourceWeight - sinkWeight;
122 double percentage = (sourceMinusSinkWeight -
myCurrentTAZParent->myMinSourceMinusSinkWeight) /
125 if (percentage >= 1) {
127 }
else if (percentage < 0) {
184 myTAZFrameParent->myTAZChildDefaultParameters->extendTAZChildDefaultParameters();
195 myTAZFrameParent->myTAZChildDefaultParameters->collapseTAZChildDefaultParameters();
232const std::vector<GNEEdge*>&
238const std::vector<GNETAZFrame::CurrentTAZ::TAZEdgeColor>&
259 for (
const auto& TAZSourceSink :
myEditedTAZ->getChildTAZSourceSinks()) {
276 bool createTAZEdge =
true;
279 createTAZEdge =
false;
317 if (sourceMinusSink < 0) {
318 sourceMinusSink *= -1;
365 std::ostringstream information;
367 <<
TL(
"- Number of edges: ") <<
toString(
myTAZFrameParent->myCurrentTAZ->getTAZ()->getChildTAZSourceSinks().size() / 2) <<
"\n"
501 std::ostringstream information;
503 << std::string(
"- ") <<
TL(
"Toggle Membership:") <<
"\n"
504 << std::string(
" ") <<
TL(
"Create new Sources/Sinks with given weights.");
518 myTAZFrameParent->myTAZSelectionStatistics->showTAZSelectionStatisticsModule();
520 myTAZFrameParent->myTAZSelectionStatistics->hideTAZSelectionStatisticsModule();
536 myTAZFrameParent->myTAZSelectionStatistics->hideTAZSelectionStatisticsModule();
560 }
else if (
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges().size() > 0) {
564 if (
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected().size() == 0) {
566 bool allSelected =
true;
567 for (
const auto& TAZEdgeColor :
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges()) {
568 if (!TAZEdgeColor.edge->isAttributeCarrierSelected()) {
577 }
else if (
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected().size() == 1) {
578 if (
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected().front().edge->isAttributeCarrierSelected()) {
585 bool allSelected =
true;
586 for (
const auto& selectedEdge :
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected()) {
587 if (!selectedEdge.edge->isAttributeCarrierSelected()) {
635 std::ostringstream information;
637 << std::string(
"- ") <<
TL(
"Toggle Membership:") <<
"\n"
638 << std::string(
" ") <<
TL(
"Create new Sources/Sinks with given weights.");
641 myTAZFrameParent->myTAZSelectionStatistics->hideTAZSelectionStatisticsModule();
657 std::ostringstream information;
659 << std::string(
"- ") <<
TL(
"Keep Membership:") <<
TL(
" Select Sources/Sinks.") <<
"\n"
660 << std::string(
"- ") <<
TL(
"Press ESC to clear the current selection.");
663 myTAZFrameParent->myTAZSelectionStatistics->showTAZSelectionStatisticsModule();
715 for (
const auto& selectedEdge :
myTAZFrameParent->myCurrentTAZ->getSelectedEdges()) {
721 if (
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected().size() == 0) {
723 bool allSelected =
true;
724 for (
const auto& TAZEdgeColor :
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges()) {
725 if (!TAZEdgeColor.edge->isAttributeCarrierSelected()) {
732 for (
const auto& TAZEdgeColor :
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges()) {
734 TAZEdgeColor.edge->unselectAttributeCarrier();
738 for (
const auto& TAZEdgeColor :
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges()) {
740 TAZEdgeColor.edge->selectAttributeCarrier();
745 bool allSelected =
true;
746 for (
const auto& selectedEdge :
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected()) {
747 if (!selectedEdge.edge->isAttributeCarrierSelected()) {
754 for (
const auto& selectedEdge :
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected()) {
755 if (selectedEdge.edge->isAttributeCarrierSelected()) {
757 selectedEdge.edge->unselectAttributeCarrier();
762 for (
const auto& selectedEdge :
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected()) {
763 if (!selectedEdge.edge->isAttributeCarrierSelected()) {
765 selectedEdge.edge->selectAttributeCarrier();
783 myTAZFrameParent->getViewNet()->getNet()->computeAndUpdate(neteditOptions,
false);
786 std::vector<GNETAZSourceSink*> sources;
787 std::vector<GNETAZSourceSink*> sinks;
788 std::set<GNEAdditional*> TAZs;
792 for (
const auto& TAZSourceSink :
myTAZFrameParent->myCurrentTAZ->getTAZ()->getChildTAZSourceSinks()) {
795 if (!TAZSourceSink->getParentEdges().front()->hasSuccessors() &&
797 sources.push_back(TAZSourceSink);
802 if (!TAZSourceSink->getParentEdges().front()->hasPredecessors() &&
804 sinks.push_back(TAZSourceSink);
813 for (
const auto& TAZSourceSink :
TAZ.second->getChildTAZSourceSinks()) {
816 if (!TAZSourceSink->getParentEdges().front()->hasSuccessors() &&
818 sources.push_back(TAZSourceSink);
819 TAZs.insert(
TAZ.second);
823 if (!TAZSourceSink->getParentEdges().front()->hasPredecessors() &&
825 sinks.push_back(TAZSourceSink);
826 TAZs.insert(
TAZ.second);
833 if ((sources.size() + sinks.size()) > 0) {
835 const std::string text = (TAZs.size() == 1) ?
837 TL(
"Set weight 0 in ") +
toString(sources.size()) +
TL(
" sources and ") +
838 toString(sinks.size()) +
TL(
" sinks from TAZ '") + (*TAZs.begin())->getID() +
"'?" :
840 TL(
"Set weight 0 in ") +
toString(sources.size()) +
TL(
" sources and ") +
848 for (
const auto& source : sources) {
851 for (
const auto& sink : sinks) {
859 TL(
"Set zero fringe probabilities"),
TL(
"No source/sinks to update."));
909 if (selectedEdge.edge == TAZEdgeColor.
edge) {
930 if (it->edge == edge) {
953 if (selectedEdge.edge == edge) {
975const std::vector<GNETAZFrame::CurrentTAZ::TAZEdgeColor>&
988 if (newTAZSourceWeight >= 0) {
1012 if (newTAZSinkWeight >= 0) {
1040 for (
const auto& TAZEdgeColor :
myTAZFrameParent->getCurrentTAZModule()->getTAZEdges()) {
1042 if (!TAZEdgeColor.edge->isAttributeCarrierSelected()) {
1053 if (!selectedEdge.edge->isAttributeCarrierSelected()) {
1072 std::set<std::string> weightSourceSet;
1073 std::set<std::string> weightSinkSet;
1076 double maxWeightSource = 0;
1077 double minWeightSource = -1;
1078 double averageWeightSource = 0;
1079 double maxWeightSink = 0;
1080 double minWeightSink = -1;
1081 double averageWeightSink = 0;
1085 weight = selectedEdge.source->getWeight();
1087 weightSourceSet.insert(
toString(weight));
1089 if (maxWeightSource < weight) {
1090 maxWeightSource = weight;
1093 if (minWeightSource == -1 || (maxWeightSource < weight)) {
1094 minWeightSource = weight;
1097 averageWeightSource += weight;
1099 weight = selectedEdge.sink->getWeight();
1101 weightSinkSet.insert(
toString(weight));
1103 if (maxWeightSink < weight) {
1104 maxWeightSink = weight;
1107 if (minWeightSink == -1 || (maxWeightSink < weight)) {
1108 minWeightSink = weight;
1111 averageWeightSink += weight;
1117 std::ostringstream information;
1118 std::string edgeInformation;
1127 << edgeInformation <<
"\n"
1128 <<
TL(
"- Min source: ") <<
toString(minWeightSource) <<
"\n"
1129 <<
TL(
"- Max source: ") <<
toString(maxWeightSource) <<
"\n"
1130 <<
TL(
"- Average source: ") <<
toString(averageWeightSource) <<
"\n"
1132 <<
TL(
"- Min sink: ") <<
toString(minWeightSink) <<
"\n"
1133 <<
TL(
"- Max sink: ") <<
toString(maxWeightSink) <<
"\n"
1134 <<
TL(
"- Average sink: ") <<
toString(averageWeightSink);
1196 for (
const auto& edge :
myTAZFrameParent->getViewNet()->getNet()->getAttributeCarriers()->getEdges()) {
1197 for (
const auto& lane : edge.second->getChildLanes()) {
1198 lane->setSpecialColor(
nullptr);
1209 for (
const auto& edge :
myTAZFrameParent->getViewNet()->getNet()->getAttributeCarriers()->getEdges()) {
1210 if (!edge.second->isAttributeCarrierSelected()) {
1212 for (
const auto lane : edge.second->getChildLanes()) {
1218 for (
const auto& TAZEdgeColor :
myTAZFrameParent->myCurrentTAZ->getTAZEdges()) {
1219 if (!TAZEdgeColor.edge->isAttributeCarrierSelected()) {
1221 for (
const auto& lane : TAZEdgeColor.edge->getChildLanes()) {
1224 lane->setSpecialColor(&scaledColors.at(TAZEdgeColor.sourceColor), TAZEdgeColor.source->getWeight());
1226 lane->setSpecialColor(&scaledColors.at(TAZEdgeColor.sinkColor), TAZEdgeColor.sink->getWeight());
1228 lane->setSpecialColor(&scaledColors.at(TAZEdgeColor.sourcePlusSinkColor), TAZEdgeColor.source->getWeight() + TAZEdgeColor.sink->getWeight());
1230 lane->setSpecialColor(&scaledColors.at(TAZEdgeColor.sourceMinusSinkColor), TAZEdgeColor.source->getWeight() - TAZEdgeColor.sink->getWeight());
1236 for (
const auto& selectedEdge :
myTAZFrameParent->myTAZSelectionStatistics->getEdgeAndTAZChildrenSelected()) {
1237 if (!selectedEdge.edge->isAttributeCarrierSelected()) {
1239 for (
const auto& lane : selectedEdge.edge->getChildLanes()) {
1337 std::map<SumoXMLAttr, std::string> valuesOfElement;
1370 for (
const auto& TAZEdgeColor :
myCurrentTAZ->getTAZEdges()) {
1398 for (
const auto& edge : edges) {
1407 for (
const auto& edge : edges) {
1411 for (
const auto& TAZEdgeColor :
myCurrentTAZ->getTAZEdges()) {
1412 if (TAZEdgeColor.edge == edge) {
1480 std::vector<std::string> edgeIDs;
1481 edgeIDs.reserve(
myViewNet->getViewObjectsSelector().getEdges().size());
1483 for (
const auto& edge :
myViewNet->getViewObjectsSelector().getEdges()) {
1484 edgeIDs.push_back(edge->getID());
1494 myViewNet->getViewParent()->getGNEAppWindows()->isUndoRedoAllowed());
1510 for (
const auto& TAZEdgeColor :
myCurrentTAZ->getTAZEdges()) {
1511 if (TAZEdgeColor.edge == edge) {
1515 if (
myViewNet->getNet()->getAttributeCarriers()->retrieveAdditional(TAZEdgeColor.source->getGUIGlObject(),
false)) {
1518 if (
myViewNet->getNet()->getAttributeCarriers()->retrieveAdditional(TAZEdgeColor.sink->getGUIGlObject(),
false)) {
1550 for (
const auto& TAZEdgeColor :
myCurrentTAZ->getTAZEdges()) {
1554 if (TAZEdgeColor.source) {
1557 if (TAZEdgeColor.sink) {
FXDEFMAP(GNETAZFrame::TAZSaveChanges) TAZSaveChangesMap[]
@ MID_GNE_SET_ATTRIBUTE
attribute edited
@ MID_CANCEL
Cancel-button pressed.
@ MID_CHOOSEN_OPERATION
set type of selection
@ MID_OK
Ok-button pressed.
@ MID_GNE_SELECT
select element
@ MID_GNE_SET_ZEROFRINGEPROB
set zero fringe probabilities (used in TAZ Frame)
#define GUIDesignTextColorRed
red color (for invalid text)
#define GUIDesignTextField
#define GUIDesignAuxiliarHorizontalFrame
design for auxiliar (Without borders) horizontal frame used to pack another frames
#define GUIDesignLabel(justify)
#define GUIDesignTextFieldNCol
Num of column of text field.
#define GUIDesignTextColorBlack
black color (for correct text)
#define GUIDesignCheckButton
checkButton placed in left position
#define GUIDesignRadioButton
#define GUIDesignLabelThickedFixed(width)
label thicked, icon before text, text centered and custom width
#define GUIDesignLabelFrameInformation
label extended over frame without thick and with text justify to left, used to show information in fr...
#define WRITE_MESSAGE(msg)
#define WRITE_WARNING(msg)
@ SUMO_TAG_TAZ
a traffic assignment zone
@ SUMO_TAG_TAZSINK
a sink within a district (connection road)
@ SUMO_TAG_TAZSOURCE
a source within a district (connection road)
@ GNE_ATTR_MAX_SOURCE
max source (used only by TAZs)
@ GNE_ATTR_TAZCOLOR
Color of TAZSources/TAZSinks.
@ GNE_ATTR_MAX_SINK
max sink (used only by TAZs)
@ GNE_ATTR_AVERAGE_SINK
average sink (used only by TAZs)
@ GNE_ATTR_SELECTED
element is selected
@ GNE_ATTR_MIN_SINK
min sink (used only by TAZs)
@ SUMO_ATTR_EDGES
the edges of a route
@ GNE_ATTR_ADDITIONAL_FILE
additional save file
@ SUMO_ATTR_SHAPE
edge: the shape in xml-definition
@ GNE_ATTR_AVERAGE_SOURCE
average source (used only by TAZs)
@ GNE_ATTR_EDGES_WITHIN
virtual attribute used for use edges within during TAZ creation
@ GNE_ATTR_MIN_SOURCE
min source (used only by TAZs)
std::string joinToString(const std::vector< T > &v, const T_BETWEEN &between, std::streamsize accuracy=gPrecision)
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
void parseSumoBaseObject(CommonXMLStructure::SumoBaseObject *obj)
parse SumoBaseObject (it's called recursivelly)
static T parse(const std::string &string)
parses a value of type T from string (used for basic types: int, double, bool, etc....
static bool canParse(const std::string &string)
true if a value of type T can be parsed from string
const GNETagProperties * getTagProperty() const
get tagProperty associated with this Attribute Carrier
static FXLabel * buildRainbow(FXComposite *parent)
build rainbow in frame modul
GNEViewNet * myViewNet
FOX need this.
virtual void show()
show Frame
virtual void hide()
hide Frame
GNEFrame(GNEViewParent *viewParent, GNEViewNet *viewNet, const std::string &frameLabel)
Constructor.
struct for edges and the source/sink colors
int sourcePlusSinkColor
color by source + sink [0-9]
GNETAZSourceSink * sink
sink TAZ
void updateColors()
update colors
TAZEdgeColor(CurrentTAZ *CurrentTAZParent, GNEEdge *_edge, GNETAZSourceSink *_source, GNETAZSourceSink *_sink)
constructor
GNETAZSourceSink * source
source TAZ
TAZEdgeColor()
default color
~TAZEdgeColor()
destructor (needed because RGBColors has to be deleted)
int sourceMinusSinkColor
color by source - sink [0-9]
CurrentTAZ * myCurrentTAZParent
pointer to CurrentTAZParent
int sourceColor
color by source [0-9]
int sinkColor
color by sink [0-9]
void refreshTAZEdges()
refresh TAZEdges
double myMinSourceMinusSinkWeight
minimum source minus sink value of current TAZ Edges
std::vector< GNEEdge * > mySelectedEdges
vector with pointers to selected edges
bool isTAZEdge(GNEEdge *edge) const
check if given edge belongs to current TAZ
void addSourceSink(GNETAZSourceSink *additional)
add source sink
GNETAZFrame * myTAZFrameParent
pointer to TAZ Frame
GNETAZ * myEditedTAZ
current edited TAZ
const std::vector< CurrentTAZ::TAZEdgeColor > & getTAZEdges() const
get TAZEdges
void setTAZ(GNETAZ *editedTAZ)
set current TAZ
const std::vector< GNEEdge * > & getSelectedEdges() const
get current selected edges
std::vector< TAZEdgeColor > myTAZEdgeColors
vector with TAZ's edges
double myMaxSourceMinusSinkWeight
maximum source minus sink value of current TAZ Edges
FXLabel * myCurrentTAZLabel
Label for current TAZ.
CurrentTAZ(GNETAZFrame *TAZFrameParent)
constructor
double myMaxSourcePlusSinkWeight
maximum source plus sink value of current TAZ Edges
double myMinSourcePlusSinkWeight
minimum source plus sink value of current TAZ Edges
GNETAZ * getTAZ() const
get current TAZ
bool getToggleMembership() const
check if toggle membership is enabled
FXButton * myUseSelectedEdges
button for use selected edges
TAZChildDefaultParameters(GNETAZFrame *TAZFrameParent)
FOX-declaration.
FXCheckButton * myToggleMembership
CheckButton to enable or disable Toggle edge Membership.
void collapseTAZChildDefaultParameters()
collapse TAZ child default parameters Module (if we have selected a TAZ)
FXTextField * myTextFieldDefaultValueTAZSources
textField to set a default value for TAZ Sources
long onCmdUseSelectedEdges(FXObject *obj, FXSelector, void *)
Called when the user press "use selected edges" button.
void updateSelectEdgesButton()
update "select edges button"
double getDefaultTAZSourceWeight() const
get default source weight
void extendTAZChildDefaultParameters()
extend TAZ child default parameters Module (if we have selected a TAZ)
FXLabel * myInformationLabel
information label
FXHorizontalFrame * myDefaultTAZSinkFrame
Horizontal Frame for default TAZ Sink Weight.
FXHorizontalFrame * myDefaultTAZSourceFrame
Horizontal Frame for default TAZ Source Weight.
FXHorizontalFrame * myToggleMembershipFrame
Horizontal Frame toggle membership.
GNETAZFrame * myTAZFrameParent
FOX need this.
~TAZChildDefaultParameters()
destructor
long onCmdSetZeroFringeProbabilities(FXObject *obj, FXSelector, void *)
Called when the user press "zero fringe probabilities" button.
double myDefaultTAZSourceWeight
default source weight
FXTextField * myTextFieldDefaultValueTAZSinks
textField to set a default value for TAZ Sinks
long onCmdSetDefaultValues(FXObject *obj, FXSelector, void *)
double getDefaultTAZSinkWeight() const
default sink weight
double myDefaultTAZSinkWeight
default sink weight
FXButton * myZeroFringeProbabilities
button for setting zero fringe probabilities
void showTAZCommonStatisticsModule()
show TAZ Common Statistics Module
TAZCommonStatistics(GNETAZFrame *TAZFrameParent)
constructor
~TAZCommonStatistics()
destructor
FXLabel * myStatisticsLabel
Statistics labels.
void hideTAZCommonStatisticsModule()
hide TAZ Common Statistics Module
void updateStatistics()
update Statistics label
GNETAZFrame * myTAZFrameParent
pointer to TAZFrame parent
FXRadioButton * myColorBySourcePlusSinkWeight
add radio button "color source + sink"
RGBColor myEdgeSelectedColor
RGBColor color for selected egdes.
FXRadioButton * myColorBySinkWeight
add radio button "color by sink"
void showTAZEdgesGraphicModule()
show TAZ Edges Graphic Module
void updateEdgeColors()
update edge colors;
FXRadioButton * myColorBySourceWeight
add radio button "color by source"
FXRadioButton * myColorBySourceMinusSinkWeight
add radio button "color source - Sink"
RGBColor myEdgeDefaultColor
default RGBColor for all edges
GNETAZFrame * myTAZFrameParent
pointer to TAZFrame parent
~TAZEdgesGraphic()
destructor
long onCmdChoosenBy(FXObject *obj, FXSelector, void *)
void hideTAZEdgesGraphicModule()
hide TAZ Edges Graphic Module
TAZEdgesGraphic(GNETAZFrame *TAZFrameParent)
FOX-declaration.
bool isChangesPending() const
return true if there is changes to save
FXButton * mySaveChangesButton
@field FXButton for save changes in TAZEdges
void showTAZSaveChangesModule()
show TAZ Save Changes Module
GNETAZFrame * myTAZFrameParent
pointer to TAZFrame parent
FXButton * myCancelChangesButton
@field FXButton for cancel changes in TAZEdges
long onCmdCancelChanges(FXObject *, FXSelector, void *)
Called when the user press the button cancel changes.
TAZSaveChanges(GNETAZFrame *TAZFrameParent)
FOX-declaration.
void hideTAZSaveChangesModule()
hide TAZ Save Changes Module
~TAZSaveChanges()
destructor
long onCmdSaveChanges(FXObject *, FXSelector, void *)
void enableButtonsAndBeginUndoList()
enable buttons save and cancel changes (And begin Undo List)
long onCmdSelectEdges(FXObject *obj, FXSelector, void *)
Called when the user press select edges.
TAZSelectionStatistics(GNETAZFrame *TAZFrameParent)
FOX-declaration.
FXHorizontalFrame * myTAZSourceFrame
Horizontal Frame for default TAZ Source Weight.
~TAZSelectionStatistics()
destructor
std::vector< CurrentTAZ::TAZEdgeColor > myEdgeAndTAZChildrenSelected
vector with the current selected edges and their associated children
void hideTAZSelectionStatisticsModule()
hide TAZ Selection Statistics Module
GNETAZFrame * myTAZFrameParent
pointer to TAZFrame parent
bool isEdgeSelected(GNEEdge *edge)
check if an edge is selected
FXHorizontalFrame * myTAZSinkFrame
Horizontal Frame for default TAZ Sink Weight.
const std::vector< CurrentTAZ::TAZEdgeColor > & getEdgeAndTAZChildrenSelected() const
get map with edge and TAZChildren
void showTAZSelectionStatisticsModule()
show TAZ Selection Statistics Module
long onCmdSetNewValues(FXObject *obj, FXSelector, void *)
void clearSelectedEdges()
clear current TAZ children
FXTextField * myTextFieldTAZSourceWeight
textField for TAZ Source weight
void updateStatistics()
update TAZSelectionStatistics
FXTextField * myTextFieldTAZSinkWeight
textField for TAZ Sink weight
bool selectEdge(const CurrentTAZ::TAZEdgeColor &edge)
add an edge and their TAZ Children in the list of selected items
bool unselectEdge(GNEEdge *edge)
un select an edge (and their TAZ Children)
FXLabel * myStatisticsLabel
Statistics labels.
TAZSelectionStatistics * myTAZSelectionStatistics
TAZ Edges selection parameters.
TAZSelectionStatistics * getTAZSelectionStatisticsModule() const
get TAZ Selection Statistics module
TAZSaveChanges * getTAZSaveChangesModule() const
get TAZ Save Changes module
GNEAttributesEditor * myTAZAttributesEditor
TAZ parameters.
CurrentTAZ * myCurrentTAZ
current TAZ
TAZEdgesGraphic * myTAZEdgesGraphic
TAZ Edges Graphic.
bool addOrRemoveTAZMember(GNEEdge *edge)
add or remove a source and a sink, or remove it if edge is in the list of TAZ Children
void dropTAZMembers()
drop all TAZSources and TAZ Sinks of current TAZ
GNEDrawingShape * getDrawingShapeModule() const
get drawing mode module
CurrentTAZ * getCurrentTAZModule() const
get Current TAZ module
TAZCommonStatistics * myTAZCommonStatistics
TAZ Edges common parameters.
GNEDrawingShape * myDrawingShape
Drawing shape.
bool shapeDrawed()
build a shaped element using the drawed shape return true if was successfully created
void show()
show TAZ Frame
~GNETAZFrame()
Destructor.
TAZSaveChanges * myTAZSaveChanges
save TAZ Edges
CommonXMLStructure::SumoBaseObject * myBaseTAZ
SumoBaseObject used for creating TAZ.
void hide()
hide TAZ frame
void processEdgeSelection(const std::vector< GNEEdge * > &edges)
process selection of edges in view net
bool processClick(const Position &clickedPosition, const GNEViewNetHelper::ViewObjectsSelector &viewObjects)
process click over Viewnet
TAZChildDefaultParameters * myTAZChildDefaultParameters
TAZ child defaults parameters.
GNETAZFrame(GNEViewParent *viewParent, GNEViewNet *viewNet)
Constructor.
std::string getAttribute(SumoXMLAttr key) const override
inherited from GNEAttributeCarrier
double getWeight() const
get weight
SumoXMLTag getTag() const
get Tag vinculated with this attribute Property
class used to group all variables related with objects under cursor after a click over view
GNEEdge * getEdgeFront() const
get front edge or a pointer to nullptr
GNETAZ * getTAZFront() const
get front TAZ or a pointer to nullptr
A single child window which contains a view of the simulation area.
static FXButton * buildFXButton(FXComposite *p, const std::string &text, const std::string &tip, const std::string &help, FXIcon *ic, FXObject *tgt, FXSelector sel, FXuint opts=BUTTON_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=DEFAULT_PAD, FXint pr=DEFAULT_PAD, FXint pt=DEFAULT_PAD, FXint pb=DEFAULT_PAD)
build button
static FXIcon * getIcon(const GUIIcon which)
returns a icon previously defined in the enum GUIIcon
A list item which allows for custom coloring.
MFXGroupBoxModule (based on FXGroupBox).
FXVerticalFrame * getCollapsableFrame()
get collapsable frame (used by all elements that will be collapsed if button is toggled)
MFXGroupBoxModule(GNEFrame *frame, const std::string &text, const int options=Options::COLLAPSIBLE)
constructor for frames
static FXColor getFXColor(const RGBColor &col)
converts FXColor to RGBColor
static OptionsCont & getOptions()
Retrieves the options.
A point in 2D or 3D with translation and scaling methods.
static const Position INVALID
used to indicate that a position is valid
void closePolygon()
ensures that the last position equals the first
Position getCentroid() const
Returns the centroid (closes the polygon if unclosed).
static const RGBColor WHITE
static const std::vector< RGBColor > & getRainbowScaledColors()
get scaled rainbow colors