From 95652c49ee7c0a4a9b167c6bcbe585ebd58ab2e5 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 11 七月 2019 14:38:58 +0800
Subject: [PATCH] 把areamap arg等数组换成指针形式
---
ruleserver/ruleToformula.go | 33 +++++++++++++++++----------------
1 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index cc9ea22..02deb86 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -89,8 +89,8 @@
triggerLine string
directionLine string
targetNum int // 鍖哄煙鍐呯洰鏍囨暟閲�
- args []Arg // 鍖哄煙鍐呯洰鏍囬泦鍚�
- filterData []Arg // 杩囨护鍚庡尯鍩熷唴鐩爣闆嗗悎
+ args []*Arg // 鍖哄煙鍐呯洰鏍囬泦鍚�
+ filterData []*Arg // 杩囨护鍚庡尯鍩熷唴鐩爣闆嗗悎
time string // 褰撳墠鏃堕棿锛堢敤浠ュ尮閰嶆椂闂磋鍒欙級
keepRight bool // 鏄惁闈犲彸琛�
isStatic bool // 鏄惁闈欐
@@ -115,7 +115,7 @@
IsStatic bool // 鏄惁闈欐
ImageWidth int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚瀹� 鍍忕礌
ImageHeight int // 鎽勫儚鏈烘媿鎽勭殑鍥惧儚楂� 鍍忕礌
- AreaMapList []AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
+ AreaMapList []*AreaMap // 鏈瑂dk鎻愬彇鐨勬暟鎹寜鐓у尯鍩熷垝鍒嗗悗鐨勬暟鎹泦鍚�
}
// 浠庣畻娉曟ā鍧楀効鎷挎潵鐨勫涓�甯у浘鍍忓悇涓畻娉曟彁鍙栫殑鏁版嵁闆嗗悎
@@ -180,7 +180,7 @@
areaMap := AreaMap{cameraId: cameraId, areaId: polygon.Id, areaJson: polygon.Polygon, triggerLine: polygon.TriggerLine, directionLine: polygon.DirectionLine}
// 涓烘瘡涓憚鍍忔満鍖哄煙濉厖鏁版嵁
areaMap.CountAreaObjs(arg)
- arg.AreaMapList = append(arg.AreaMapList, areaMap)
+ arg.AreaMapList = append(arg.AreaMapList, &areaMap)
}
}
@@ -295,7 +295,8 @@
}
logger.Info("-------------------鎴愬姛缁檒iker璧嬪��,闀垮害涓猴細", len(arg.Liker))
}
- //logger.Info("=======绗竴娆$湅args锛�",areaMap.args)
+ areaMap.filterData = areaMap.args
+ logger.Info("=======绗竴娆$湅args锛�",areaMap.filterData)
}
}
}
@@ -327,7 +328,7 @@
if ipcId == sdkData.IpcId {
logger.Info("褰撳墠璧扮殑瑙勫垯鐨勭畻娉曟槸--锛�", sdkName, "---")
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := filterRule(groupRule.Rules[j], &areaMap)
+ ruleResult := filterRule(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
logger.Info("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result)
// 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲�
@@ -353,7 +354,7 @@
sdkName := sdk.SdkName
if ipcId == sdkData.IpcId {
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := transferParameters(groupRule.Rules[j], &areaMap)
+ ruleResult := transferParameters(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
logger.Info("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result)
if ruleResult.Result == "true" && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
@@ -376,7 +377,7 @@
sdkName := sdk.SdkName
if ipcId == sdkData.IpcId {
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := timeRuleResult(groupRule.Rules[j], &areaMap)
+ ruleResult := timeRuleResult(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
logger.Info("鏃堕棿瑙勫垯缁撴灉锛�", ruleResult.Result)
if ruleResult.Result == "true" && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
@@ -399,7 +400,7 @@
if ipcId == sdkData.IpcId {
for _, areaMap := range sdkData.AreaMapList {
// 鍘诲紑鍚竴涓畾鏃跺櫒
- duration(groupRule.Rules[j], groupRule.GroupId, &areaMap, args)
+ duration(groupRule.Rules[j], groupRule.GroupId, areaMap, args)
}
}
}
@@ -466,7 +467,7 @@
for _, sdkData := range args.Sdkdata {
if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘�
for _, areaMap := range sdkData.AreaMapList {
- faces = append(faces, putFaceToResult(&areaMap)...)
+ faces = append(faces, putFaceToResult(areaMap)...)
}
}
}
@@ -479,7 +480,7 @@
for _, sdkData := range args.Sdkdata {
if sdkData.IpcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘
for _, areaMap := range sdkData.AreaMapList {
- locations = append(locations, putYolosToResult(&areaMap)...)
+ locations = append(locations, putYolosToResult(areaMap)...)
}
}
}
@@ -521,7 +522,7 @@
faces := []Arg{}
if len(am.filterData) > 0 {
for _, data := range am.filterData {
- faces = append(faces, data)
+ faces = append(faces, *data)
}
}
@@ -558,8 +559,8 @@
a.targetNum++
arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.Feature, obj.ThftRes, []*protomsg.Baseinfo{}}
//logger.Println("鏀捐繘鍘荤殑arg锛�-------", arg1)
- a.args = append(a.args, arg1)
- a.filterData = append(a.filterData, arg1)
+ a.args = append(a.args, &arg1)
+ a.filterData = append(a.filterData, &arg1)
}
}
a.time = time.Unix(time.Now().Unix(), 0).String()[11:16]
@@ -727,7 +728,7 @@
// 濡傛灉鏄笉瑙勭煩鐨勮繛鎺ョ缁熺粺杩斿洖false 瑙勫垯涔熷彧鑳藉垽鏂汉鑴哥殑鐩镐技搴︼紝鎵�浠ヤ笉瀛樺湪鍒殑杩炴帴绗�
if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
logger.Info("--------------------缁堜簬绛夊埌浣犵殑涓嬫枃")
- var args []Arg
+ var args []*Arg
if rule.RuleWithPre == "&&" {
args = am.filterData
} else {
@@ -776,7 +777,7 @@
if rule.PolygonId == am.areaId { // 棣栧厛杩欐潯瑙勫垯寰楁槸杩欎釜绠楁硶鐨勮鍒欙紝鍏舵瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
logger.Info("----------褰撳墠鏉′欢瑙勫垯锛�---------", rule)
- var args []Arg
+ var args []*Arg
if rule.RuleWithPre == "&&" {
args = am.filterData
} else {
--
Gitblit v1.8.0