37 #include <osg/Geometry> 63 myJunction(junction) {
74 if (!(*it)->isInternal() && !
isWaterway((*it)->getPermissions())) {
80 if (!(*it)->isInternal() && !
isWaterway((*it)->getPermissions())) {
139 glGetFloatv(GL_CURRENT_COLOR, color);
144 if (exaggeration > 1) {
153 #ifdef GUIJunctionWrapper_DEBUG_DRAW_NODE_SHAPE_VERTICES 227 osg::Vec4ubArray* colors =
dynamic_cast<osg::Vec4ubArray*
>(myGeom->getColorArray());
229 myGeom->setColorArray(colors);
GUIVisualizationSizeSettings junctionSize
GUIVisualizationTextSettings junctionName
double z() const
Returns the z-position.
void drawName(const Position &pos, const double scale, const GUIVisualizationTextSettings &settings, const double angle=0) const
draw name of item
double scale
information about a lane's width (temporary, used for a single view)
void closeBuilding(const Parameterised *p=0)
Closes the building of the table.
void buildNameCopyPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds entries which allow to copy the name / typed name into the clipboard.
double x() const
Returns the x-position.
Stores the information about how to visualize structures.
The base class for an intersection.
static void debugVertices(const PositionVector &shape, double size, double layer=256)
draw vertex numbers for the given shape (in a random color)
const PositionVector & getShape() const
Returns this junction's shape.
void buildCenterPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to center to the object.
bool isSelected(GUIGlObjectType type, GUIGlID id)
Returns the information whether the object with the given type and id is selected.
static void drawFilledPoly(const PositionVector &v, bool close)
Draws a filled polygon described by the list of points.
const std::map< std::string, std::string > & getMap() const
Returns the inner key/value map.
void buildShowParamsPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to open the parameter window.
bool myAmWaterway
whether this junction has only waterways as incoming and outgoing edges
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.
GUIGlID getGlID() const
Returns the numerical id of the object.
A class that stores a 2D geometrical boundary.
bool myIsInternal
whether this wraps an instance of MSInternalJunction
unsigned char blue() const
Returns the blue-amount of the color.
static void drawFilledPolyTesselated(const PositionVector &v, bool close)
Draws a filled polygon described by the list of points.
GUIJunctionWrapper(MSJunction &junction)
Constructor.
GUIGlObjectType getType() const
Returns the type of the object as coded in GUIGlObjectType.
double getWidth() const
Returns the width of the boudary (x-axis)
double getExaggeration(const GUIVisualizationSettings &s, double factor=20) const
return the drawing size including exaggeration and constantSize values
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
static void setColor(const RGBColor &c)
Sets the gl-color to this value.
double getColorValue(const GUIVisualizationSettings &s) const
double minSize
The minimum size to draw this object.
double getHeight() const
Returns the height of the boundary (y-axis)
A point in 2D or 3D with translation and scaling methods.
bool isWaterway(SVCPermissions permissions)
Returns whether an edge with the given permission is a waterway edge.
unsigned char alpha() const
Returns the alpha-amount of the color.
double y() const
Returns the y-position.
const T getColor(const double value) const
GUIVisualizationTextSettings internalJunctionName
Boundary & grow(double by)
extends the boundary by the given amount
GUIColorer junctionColorer
The junction colorer.
SumoXMLNodeType getType() const
return the type of this Junction
const ConstMSEdgeVector & getOutgoing() const
virtual ~GUIJunctionWrapper()
Destructor.
double myMaxSize
The maximum size (in either x-, or y-dimension) for determining whether to draw or not...
Boundary getCenteringBoundary() const
Returns the boundary to which the view shall be centered in order to show the object.
GUIGLObjectPopupMenu * getPopUpMenu(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own popup-menu.
GUIParameterTableWindow * getParameterWindow(GUIMainWindow &app, GUISUMOAbstractView &parent)
Returns an own parameter window.
void scaleRelative(double factor)
enlarges/shrinks the polygon by a factor based at the centroid
Boundary myBoundary
The represented junction's boundary.
void buildSelectionPopupEntry(GUIGLObjectPopupMenu *ret, bool addSeparator=true)
Builds an entry which allows to (de)select the object.
MSJunction & myJunction
A reference to the represented junction.
unsigned char green() const
Returns the green-amount of the color.
bool drawJunctionShape
whether the shape of the junction should be drawn
const ConstMSEdgeVector & getIncoming() const
void closePolygon()
ensures that the last position equals the first
unsigned char red() const
Returns the red-amount of the color.
void mkItem(const char *name, bool dynamic, ValueSource< unsigned > *src)
Adds a row which obtains its value from an unsigned-ValueSource.
Boundary getBoxBoundary() const
Returns a boundary enclosing this list of lines.
GUISelectedStorage gSelected
A global holder of selected objects.
A window containing a gl-object's parameter.
void buildPopupHeader(GUIGLObjectPopupMenu *ret, GUIMainWindow &app, bool addSeparator=true)
Builds the header.
void drawGL(const GUIVisualizationSettings &s) const
Draws the object.
const Position & getPosition() const