OverlayInterface *DefaultPorts::overlayFor(const QString &name, bool output, bool isMasterOverlay, OlvisInterface *visionInterface) { Q_UNUSED(output) Overlay* overlay = 0; if (name == "ImagePortOverlay") overlay = new ImagePortOverlay(name); else if (name == "StringOverlay" && !isMasterOverlay) overlay = new StringOverlay(name); else if (name == "RectPortOverlay" && !isMasterOverlay) overlay = new RectPortOverlay(name); else if (name == "FilePortOverlay" && !isMasterOverlay) overlay = new StringOverlay(name); else if (name == "SimpleShapeOverlay" && !isMasterOverlay) overlay = new SimpleShapeOverlay(name); else if (name == "HistogramOverlay") overlay = new HistogramOverlay(name); else if (name == "GraphOverlay" && !isMasterOverlay) overlay = new GraphOverlay(name); else if (name == "PointPortOverlay" && !isMasterOverlay) overlay = new PointPortOverlay(name); #ifndef NO_SENSOR_SYSTEM else if (name == "SensorSystemOverlay" && !isMasterOverlay) overlay = new SensorSystemOverlay(name); #endif else if(name == "ScaleBarOverlay" && !isMasterOverlay) overlay = new ScaleBarOverlay(name); else if(name == "MeasureOverlay") overlay = new MeasureOverlay(name); if(overlay) overlay->setOlvisInterface(visionInterface); return overlay; }
OverlayInterface *DefaultPorts::overlayFor(const PortInfo &info, bool isOutput, bool isMasterOverlay, OlvisInterface *visionInterface) { Overlay* overlay = 0; QString portTypeName = info.typeName; if(!info.isArray && portTypeName == "PhysicalSize" && !isMasterOverlay) overlay = new ScaleBarOverlay("ScaleBarOverlay"); else if(!info.isArray && mStringOverlays.contains(portTypeName) && !isMasterOverlay) overlay = new StringOverlay("StringOverlay"); else if(!info.isArray && mGraphOverlays.contains(portTypeName) && !isMasterOverlay) overlay = new GraphOverlay("GraphOverlay"); else if (isOutput) { if (portTypeName == "Image" || portTypeName == "GrayImage" || portTypeName == "RGBImage" || portTypeName == "RGBAImage" || portTypeName == "DepthMap") overlay = new ImagePortOverlay("ImagePortOverlay"); else if(portTypeName == "Histogram") overlay = new HistogramOverlay("HistogramOverlay"); else if (!isMasterOverlay && (portTypeName == "Polygon" || portTypeName == "Rect" || portTypeName == "Point" || portTypeName == "Pose2d" || portTypeName == "Line")) overlay = new SimpleShapeOverlay("SimpleShapeOverlay"); } else if(!info.isArray && !isMasterOverlay){ if (portTypeName == "Rect") overlay = new RectPortOverlay("RectPortOverlay"); else if (portTypeName == "Point") overlay = new PointPortOverlay("PointPortOverlay"); } if (overlay) overlay->setOlvisInterface(visionInterface); return overlay; }