SUMO - Simulation of Urban MObility
GUIPolygon Class Reference

#include <GUIPolygon.h>

Inheritance diagram for GUIPolygon:
Polygon GUIGlObject_AbstractAdd GUIGlObject

Public Member Functions

virtual void drawGLAdditional (GUISUMOAbstractView *const parent, const GUIVisualizationSettings &s) const
 Draws additional, user-triggered visualisations.
void drawName (const Position &pos, const SUMOReal scale, const GUIVisualizationTextSettings &settings, const SUMOReal angle=0) const
int getLayer () const
 Returns the layer the object is located in.
 GUIPolygon (int layer, const std::string name, const std::string type, const RGBColor &color, const PositionVector &shape, bool fill)
 Constructor.
 ~GUIPolygon ()
 Destructor.
inherited from GUIGlObject
GUIGLObjectPopupMenugetPopUpMenu (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own popup-menu.
GUIParameterTableWindowgetParameterWindow (GUIMainWindow &app, GUISUMOAbstractView &parent)
 Returns an own parameter window.
Boundary getCenteringBoundary () const
 Returns the boundary to which the view shall be centered in order to show the object.
void drawGL (const GUIVisualizationSettings &s) const
 Draws the object.
Getter
const std::string & getID () const
 Returns the name of the polygon.
const std::string & getType () const
 Returns the (abstract) type of the polygon.
const RGBColorgetColor () const
 Returns the color of the polygon.
const PositionVectorgetShape () const
 Returns the shape of the polygon.
bool fill () const
 Returns whether the polygon is filled.
Setter
void setType (const std::string &type)
 Sets a new type.
void setColor (const RGBColor &col)
 Sets a new color.
void setShape (const PositionVector &shape)
 Sets a new shape.
void setFill (bool fill)
 Sets whether the polygon shall be filled.
Atomar getter methods
const std::string & getFullName () const
 Returns the full name appearing in the tool tip.
GUIGlID getGlID () const
 Returns the numerical id of the object.
interfaces to be implemented by derived classes
const std::string & getMicrosimID () const
 Returns the id of the object as known to microsim.
void setMicrosimID (const std::string &newID)
 Changes the microsimID of the object (happens in NETEDIT)
GUIGlObjectType getType () const
 Returns the type of the object as coded in GUIGlObjectType.
Parameter table window I/O
void addParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was opened.
void removeParameterTable (GUIParameterTableWindow *w)
 Lets this object know a parameter window showing the object's values was closed.

Static Public Member Functions

static void clearDictionary ()
 Clears the dictionary (the objects will not be deleted)
static GUIGlObject_AbstractAddget (const std::string &name)
 Returns a named object.
static std::vector< GUIGlIDgetIDList ()
 Returns the list of gl-ids of all additional objects.
static const std::vector
< GUIGlObject_AbstractAdd * > & 
getObjectList ()
 Returns the list of all additional objects.

Static Public Attributes

static StringBijection
< GUIGlObjectType
TypeNames
 associates object types with strings

Protected Member Functions

void setPrefix (const std::string &prefix)
helper methods for building popup-menus
void buildPopupHeader (GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
 Builds the header.
void buildCenterPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to center to the object.
void buildNameCopyPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds entries which allow to copy the name / typed name into the clipboard.
void buildSelectionPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to (de)select the object.
void buildShowParamsPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the parameter window.
void buildPositionCopyEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.
void buildShowManipulatorPopupEntry (GUIGLObjectPopupMenu *ret, bool addSeparator=true)
 Builds an entry which allows to open the manipulator window.

Protected Attributes

RGBColor myColor
 The color of the polygon.
bool myFill
 Information whether the polygon has to be filled.
int myLayer
 The layer this object is located in This value is used for determining which object to choose as being on top under the cursor.
std::string myName
 The name of the polygon.
PositionVector myShape
 The positions of the polygon.
std::string myType
 The type of the polygon.

Static Protected Attributes

static std::vector
< GUIGlObject_AbstractAdd * > 
myObjectList
 The list of all addtional objects currently loaded.
static std::map< std::string,
GUIGlObject_AbstractAdd * > 
myObjects
 Map from names of loaded additional objects to the objects themselves.

Detailed Description

Definition at line 47 of file GUIPolygon.h.


Constructor & Destructor Documentation

GUIPolygon::GUIPolygon ( int  layer,
const std::string  name,
const std::string  type,
const RGBColor color,
const PositionVector shape,
bool  fill 
)

Constructor.

Parameters:
[in]layerThe layer the polygon will be located in
[in]nameThe name (id) of the polygon
[in]typeThe type of the polygon
[in]colorThe color of the polygon
[in]shapeThe shape of the polygon
[in]fillWhether the polygon shall be filled

Definition at line 57 of file GUIPolygon.cpp.

Destructor.

Definition at line 66 of file GUIPolygon.cpp.


Member Function Documentation

Lets this object know a parameter window showing the object's values was opened.

Parameters:
[in]wThe opened parameter window

Definition at line 191 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

void GUIGlObject::buildCenterPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
) [protected, inherited]
void GUIGlObject::buildNameCopyPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
) [protected, inherited]

Builds entries which allow to copy the name / typed name into the clipboard.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 138 of file GUIGlObject.cpp.

References MID_COPY_NAME, and MID_COPY_TYPED_NAME.

Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), and GUIEdge::getPopUpMenu().

void GUIGlObject::buildPositionCopyEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
) [protected, inherited]

Builds an entry which allows to copy the cursor position if geo projection is used, also builds an entry for copying the geo-position.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 170 of file GUIGlObject.cpp.

References GeoConvHelper::getFinal(), MID_COPY_CURSOR_GEOPOSITION, and MID_COPY_CURSOR_POSITION.

Referenced by GUIDetectorWrapper::getPopUpMenu(), GUITrafficLightLogicWrapper::getPopUpMenu(), getPopUpMenu(), GUIPointOfInterest::getPopUpMenu(), GUITriggeredRerouter::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUIJunctionWrapper::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIBusStop::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().

void GUIGlObject::buildShowManipulatorPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
) [protected, inherited]

Builds an entry which allows to open the manipulator window.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 182 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_MANIP, and MID_MANIP.

Referenced by GUITriggeredRerouter::getPopUpMenu(), and GUILaneSpeedTrigger::getPopUpMenu().

void GUIGlObject::buildShowParamsPopupEntry ( GUIGLObjectPopupMenu ret,
bool  addSeparator = true 
) [protected, inherited]

Builds an entry which allows to open the parameter window.

Parameters:
in,filled]ret The popup menu to add the entry to
[in]addSeparatorWhether a separator shall be added, too

Definition at line 161 of file GUIGlObject.cpp.

References GUIIconSubSys::getIcon(), ICON_APP_TABLE, and MID_SHOWPARS.

Referenced by GUIDetectorWrapper::getPopUpMenu(), GUILaneSpeedTrigger::getPopUpMenu(), GUILaneWrapper::getPopUpMenu(), GUIVehicle::getPopUpMenu(), GUIEdge::getPopUpMenu(), and GUINet::getPopUpMenu().

void GUIGlObject_AbstractAdd::clearDictionary ( ) [static, inherited]

Clears the dictionary (the objects will not be deleted)

!! delete (*i).second;

Definition at line 65 of file GUIGlObject_AbstractAdd.cpp.

References GUIGlObject_AbstractAdd::myObjectList, and GUIGlObject_AbstractAdd::myObjects.

Referenced by GUINet::~GUINet().

void GUIPolygon::drawGL ( const GUIVisualizationSettings s) const [virtual]

Draws the object.

Parameters:
[in]sThe settings for the current view (may influence drawing)
See also:
GUIGlObject::drawGL

Implements GUIGlObject.

Definition at line 142 of file GUIPolygon.cpp.

References beginCallback(), combineCallback(), GLHelper::drawBoxLines(), GLHelper::drawLine(), endCallback(), Polygon::fill(), Polygon::getColor(), GUIGlObject::getGlID(), getLayer(), glvert, Polygon::myShape, Polygon::setColor(), PositionVector::size(), and UNUSED_PARAMETER.

virtual void GUIGlObject::drawGLAdditional ( GUISUMOAbstractView *const  parent,
const GUIVisualizationSettings s 
) const [inline, virtual, inherited]

Draws additional, user-triggered visualisations.

Parameters:
[in]parentThe view
[in]sThe settings for the current view (may influence drawing)

Reimplemented in GUIVehicle.

Definition at line 182 of file GUIGlObject.h.

References UNUSED_PARAMETER.

bool Polygon::fill ( ) const [inline, inherited]

Returns whether the polygon is filled.

Returns:
Whether the polygon is filled

Definition at line 105 of file Polygon.h.

References Polygon::myFill.

Referenced by drawGL(), TraCIServerAPI_Polygon::processGet(), and Polygon::setFill().

GUIGlObject_AbstractAdd * GUIGlObject_AbstractAdd::get ( const std::string &  name) [static, inherited]

Returns a named object.

Definition at line 76 of file GUIGlObject_AbstractAdd.cpp.

References GUIGlObject_AbstractAdd::myObjects.

Returns the boundary to which the view shall be centered in order to show the object.

Returns:
The boundary the object is within
See also:
GUIGlObject::getCenteringBoundary

Implements GUIGlObject.

Definition at line 94 of file GUIPolygon.cpp.

References Boundary::add(), PositionVector::getBoxBoundary(), Boundary::grow(), and Polygon::myShape.

const RGBColor& Polygon::getColor ( ) const [inline, inherited]

Returns the color of the polygon.

Returns:
The polygon's color

Definition at line 89 of file Polygon.h.

References Polygon::myColor.

Referenced by drawGL(), and TraCIServerAPI_Polygon::processGet().

const std::string& Polygon::getID ( ) const [inline, inherited]

Returns the name of the polygon.

Returns:
The polygon's id

Definition at line 73 of file Polygon.h.

References Polygon::myName.

Referenced by ShapeContainer::add().

std::vector< GUIGlID > GUIGlObject_AbstractAdd::getIDList ( ) [static, inherited]

Returns the list of gl-ids of all additional objects.

Definition at line 92 of file GUIGlObject_AbstractAdd.cpp.

References GUIGlObject_AbstractAdd::myObjectList.

Referenced by GUISUMOViewParent::onCmdLocate().

Returns the layer the object is located in.

Definition at line 197 of file GUIPolygon.cpp.

References myLayer.

Referenced by drawGL().

const std::string& GUIGlObject::getMicrosimID ( ) const [inline, inherited]

Returns the id of the object as known to microsim.

Returns:
The id of the object

Definition at line 146 of file GUIGlObject.h.

References GUIGlObject::myMicrosimID.

Referenced by GUIGlObject::createFullName(), GUIGlObject::drawName(), GUIDialog_GLObjChooser::GUIDialog_GLObjChooser(), and GUIGLObjectPopupMenu::onCmdCopyName().

const std::vector< GUIGlObject_AbstractAdd * > & GUIGlObject_AbstractAdd::getObjectList ( ) [static, inherited]

Returns the list of all additional objects.

Definition at line 86 of file GUIGlObject_AbstractAdd.cpp.

References GUIGlObject_AbstractAdd::myObjectList.

Returns an own parameter window.

Parameters:
[in]appThe application needed to build the parameter window
[in]parentThe parent window needed to build the parameter window
Returns:
The built parameter window
See also:
GUIGlObject::getParameterWindow

Implements GUIGlObject.

Definition at line 87 of file GUIPolygon.cpp.

Returns an own popup-menu.

Parameters:
[in]appThe application needed to build the popup-menu
[in]parentThe parent window needed to build the popup-menu
Returns:
The built popup-menu
See also:
GUIGlObject::getPopUpMenu

Implements GUIGlObject.

Definition at line 71 of file GUIPolygon.cpp.

References GUIGlObject::buildCenterPopupEntry(), GUIGlObject::buildNameCopyPopupEntry(), GUIGlObject::buildPopupHeader(), GUIGlObject::buildPositionCopyEntry(), GUIGlObject::buildSelectionPopupEntry(), and Polygon::myType.

const PositionVector& Polygon::getShape ( ) const [inline, inherited]

Returns the shape of the polygon.

Returns:
The polygon's shape

Definition at line 97 of file Polygon.h.

References Polygon::myShape.

Referenced by PCPolyContainer::insert(), and TraCIServerAPI_Polygon::processGet().

const std::string& Polygon::getType ( ) const [inline, inherited]

Returns the (abstract) type of the polygon.

Returns:
The polygon's (abstract) type

Definition at line 81 of file Polygon.h.

References Polygon::myType.

Referenced by TraCIServerAPI_Polygon::processGet().

Lets this object know a parameter window showing the object's values was closed.

Parameters:
[in]wThe closed parameter window

Definition at line 197 of file GUIGlObject.cpp.

References GUIGlObject::myParamWindows.

Referenced by GUIParameterTableWindow::~GUIParameterTableWindow().

void Polygon::setColor ( const RGBColor col) [inline, inherited]

Sets a new color.

Parameters:
[in]colThe new color to use

Definition at line 126 of file Polygon.h.

References Polygon::myColor.

Referenced by drawGL(), and TraCIServerAPI_Polygon::processSet().

void Polygon::setFill ( bool  fill) [inline, inherited]

Sets whether the polygon shall be filled.

Parameters:
[in]fillWhether the polygon shall be filled

Definition at line 142 of file Polygon.h.

References Polygon::fill(), and Polygon::myFill.

Referenced by TraCIServerAPI_Polygon::processSet().

void GUIGlObject::setMicrosimID ( const std::string &  newID) [inherited]

Changes the microsimID of the object (happens in NETEDIT)

Definition at line 112 of file GUIGlObject.cpp.

References GUIGlObject::createFullName(), GUIGlObject::myFullName, and GUIGlObject::myMicrosimID.

void GUIGlObject::setPrefix ( const std::string &  prefix) [protected, inherited]
void Polygon::setShape ( const PositionVector shape) [inline, inherited]

Sets a new shape.

Parameters:
[in]shapeThe new shape to use

Definition at line 134 of file Polygon.h.

References Polygon::myShape.

Referenced by ShapeContainer::reshapePolygon(), and GUIShapeContainer::reshapePolygon().

void Polygon::setType ( const std::string &  type) [inline, inherited]

Sets a new type.

Parameters:
[in]typeThe new type to use

Definition at line 118 of file Polygon.h.

References Polygon::myType.

Referenced by TraCIServerAPI_Polygon::processSet().


Field Documentation

RGBColor Polygon::myColor [protected, inherited]

The color of the polygon.

Definition at line 156 of file Polygon.h.

Referenced by Polygon::getColor(), and Polygon::setColor().

bool Polygon::myFill [protected, inherited]

Information whether the polygon has to be filled.

Definition at line 162 of file Polygon.h.

Referenced by Polygon::fill(), and Polygon::setFill().

int GUIPolygon::myLayer [protected]

The layer this object is located in This value is used for determining which object to choose as being on top under the cursor.

Definition at line 116 of file GUIPolygon.h.

Referenced by getLayer().

std::string Polygon::myName [protected, inherited]

The name of the polygon.

Definition at line 150 of file Polygon.h.

Referenced by Polygon::getID().

std::map< std::string, GUIGlObject_AbstractAdd * > GUIGlObject_AbstractAdd::myObjects [static, protected, inherited]

Map from names of loaded additional objects to the objects themselves.

Definition at line 72 of file GUIGlObject_AbstractAdd.h.

Referenced by GUIGlObject_AbstractAdd::clearDictionary(), GUIGlObject_AbstractAdd::get(), and GUIGlObject_AbstractAdd::GUIGlObject_AbstractAdd().

PositionVector Polygon::myShape [protected, inherited]

The positions of the polygon.

Definition at line 159 of file Polygon.h.

Referenced by drawGL(), getCenteringBoundary(), Polygon::getShape(), and Polygon::setShape().

std::string Polygon::myType [protected, inherited]

The type of the polygon.

Definition at line 153 of file Polygon.h.

Referenced by getPopUpMenu(), Polygon::getType(), and Polygon::setType().

associates object types with strings

Definition at line 99 of file GUIGlObject.h.


The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines