Files
HikNetSDKPkg/Type.go
王帅锟 bd6cff81ec 1. 添加 球机的一点即视 和 逆运算接口
2. 添加 Nvr 和 球机 的配置结构体 和一些基本结构体类型
3. 修改 Nvr 和 球机 的 Login 方法
4. 修复 球机部分 MOVE 操作无法停止
5. 修复 HikBase Login 返回值错误
2024-10-12 12:43:38 +08:00

73 lines
1.6 KiB
Go

package HikNetSDK
import "encoding/json"
type HikCfg struct {
Nvr []Nvr `json:"Nvr"`
BallCamera []BallCamera `json:"BallCamera"`
}
type Nvr struct {
Name string `json:"name"`
Ip string `json:"ip"`
Port string `json:"port"`
User string `json:"user"`
Password string `json:"Password"`
Channel int `json:"Channel"`
}
type BallCamera struct {
Type string `json:"Type"`
Name string `json:"name"`
Ip string `json:"ip"`
Port string `json:"port"`
User string `json:"user"`
Password string `json:"Password"`
RtspUrl string `json:"RtspUrl"`
Matrix Matrix `json:"Matrix"`
Channel int `json:"Channel"`
}
type Matrix struct {
PStart float64 `json:"P_Start"`
PMax float64 `json:"P_Max"`
PPositiveDirection string `json:"p_Positive_Direction"`
TStart float64 `json:"T_Start"`
TMax float64 `json:"T_Max"`
TPositiveDirection string `json:"T_Positive_Direction"`
Matrix []float64 `json:"Matrix"`
InvMatrix []float64 `json:"InvMatrix"`
}
type PTZ struct {
P float32 `json:"P"`
T float32 `json:"T"`
Z float32 `json:"Z"`
}
type MoveCfg struct {
Speed int `json:"Speed"`
Direction int `json:"Direction"`
}
type Point struct {
X float64 `json:"x"`
Y float64 `json:"y"`
}
func (h *HikCfg) Json() []byte {
marshal, err := json.Marshal(h)
if err != nil {
return nil
}
return marshal
}
func (h *HikCfg) GetBallCameraByName(name string) *BallCamera {
for i, camera := range h.BallCamera {
if camera.Name == name {
return &h.BallCamera[i]
}
}
return nil
}