Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}