派生自 development/c++

zhangjixing
2019-01-15 abd9036f024a77d22b47a108bc88b27b9732e3c5
QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -20,7 +20,8 @@
    mRealNum(0),
    m_triggerElement(rule.nTriggerDelay*8,0),
    pManagerEsDB(nullptr),
    npts(0) {
    m_bIsMask(true)
{
    pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
}
@@ -56,7 +57,7 @@
        QRect rect(obj.rect.x, obj.rect.y, obj.rect.width, obj.rect.height);
        QPoint center = rect.center();
        if (mPolygon.containsPoint(center, Qt::OddEvenFill)) {
        if (mPolygon.containsPoint(center, Qt::OddEvenFill) || !m_bIsMask) {
            m_recVec.push_back(obj.rect);
            if (picDate.empty()) {
                picDate = obj.properties["time"];
@@ -67,6 +68,10 @@
            num++;
        }
        else
        {
           // DBG("id="<< obj.properties["id"]<<" no containts x="<<rect.center().x()<<" y="<<rect.center().y());
        }
@@ -120,17 +125,30 @@
    //  DBG("imgUrl="<<imgUrl);
    if (m_triggerElement.getTriggerState() && num!=mRealNum)
    {
        auto t_image = image(CutMask()).clone();
        cv::Mat t_image = image(CutMask()).clone();
        if(t_image.empty())
        {
            if(image.empty())
            {
                  DBG("image empty");
            }
            DBG("t_image empty");
            return;
        }
        std::string imgUrl = uploadImgToFdfs(t_image);
        saveInfoToEs(imgUrl, picDate);
        DBG("num=" << num << " lastnum=" << mRealNum);
        mRealNum = num;
    }
    //if(state)
   // DBG("num=" << num <<"m_triggerElement.getTriggerState()="<<m_triggerElement.getTriggerState());
//DBG("mRealNum=" << mRealNum <<"m_triggerElement.getTriggerState()="<<m_triggerElement.getTriggerState());
    if(!state)
    {
   mRealNum = num;
    }
    // DBG("m_sdkRule.nSdkType="<<m_sdkRule.nSdkType<<" num="<<num);
@@ -169,7 +187,8 @@
void PerimeterElement::setMask(std::string mask) {
    QJsonArray arrayAreas = getJsonArrayFromQString(QString::fromStdString(mask));
    if (arrayAreas.isEmpty()) {
    if (arrayAreas.isEmpty() && m_sdkRule.nSdkType != PerimeterSdk) {
        m_bIsMask=false;
        return;//do not detect
    }
    int size = arrayAreas.size();
@@ -347,3 +366,7 @@
//   DBG("RECT x="<<rect.x<<"y"<<rect.y<<"w"<<rect.width<<"h"<<rect.height);
    return rect;
}
bool PerimeterElement::isAnd()
{
}