更新了缺省相机

This commit is contained in:
zhangyuheng 2023-12-08 16:26:22 +08:00
parent 9a04de43dc
commit 6ca2ad9ff1
2 changed files with 38 additions and 10 deletions

View File

@ -5,8 +5,8 @@
#pragma once #pragma once
#include "DaHua.h" #include "DaHua.h"
#include "HikVision.h" #include "HikVision.h"
#include "YuShi.h"
#include "None.h" #include "None.h"
#include "YuShi.h"
#include <string> #include <string>
namespace CC { namespace CC {
@ -32,4 +32,9 @@ static Camera::Ptr make_yushi_camera(const std::string &ip,
return std::static_pointer_cast<Camera>(camera); return std::static_pointer_cast<Camera>(camera);
} }
static Camera::Ptr make_no_sdk_camera() {
None::Ptr camera = None::make();
return std::static_pointer_cast<Camera>(camera);
}
} // namespace CC } // namespace CC

View File

@ -18,21 +18,20 @@ private:
public: public:
typedef std::shared_ptr<None> Ptr; typedef std::shared_ptr<None> Ptr;
static Ptr make(const std::string &ip, static Ptr make(const std::string &ip = "",
const std::string &username, const std::string &username = "",
const std::string &password) { const std::string &password = "") {
return std::make_shared<None>(ip, username, password); return std::make_shared<None>(ip, username, password);
} }
None() = delete; None() = delete;
None(std::string ip, std::string username, std::string password) explicit None(std::string ip = "", std::string username = "", std::string password = "")
: ip_(std::move(ip)), username_(std::move(username)), password_(std::move(password)) {} : ip_(std::move(ip)), username_(std::move(username)), password_(std::move(password)) {}
~None() override = default; ~None() override = default;
public: public:
bool usable() override { bool usable() override {
return false; return false;
} }
@ -103,19 +102,43 @@ public:
private: private:
PTZ_INFO::Ptr _get_ptz_range() override { PTZ_INFO::Ptr _get_ptz_range() override {
return nullptr; PTZ_INFO::Ptr ptz = PTZ_INFO::make();
ptz->moving = false;
ptz->pan->max = 0;
ptz->pan->min = 0;
ptz->tilt->max = 0;
ptz->tilt->min = 0;
ptz->zoom->max = 0;
ptz->zoom->min = 0;
return ptz;
} }
PTZ_INFO::Ptr _get_ptz() override { PTZ_INFO::Ptr _get_ptz() override {
return nullptr; PTZ_INFO::Ptr ptz = PTZ_INFO::make();
ptz->moving = false;
ptz->pan->data = 0;
ptz->tilt->data = 0;
ptz->zoom->data = 0;
return ptz;
} }
FOV_INFO::Ptr _get_fov_range() override { FOV_INFO::Ptr _get_fov_range() override {
return nullptr; FOV_INFO::Ptr fov = FOV_INFO::make();
fov->horizontal->max = 60;
fov->horizontal->min = 60;
fov->vertical->max = 45;
fov->vertical->min = 45;
fov->diagonal->max = 75;
fov->diagonal->min = 75;
return fov;
} }
FOV_INFO::Ptr _get_fov() override { FOV_INFO::Ptr _get_fov() override {
return nullptr; FOV_INFO::Ptr fov = FOV_INFO::make();
fov->horizontal->data = 60;
fov->vertical->data = 45;
fov->diagonal->data = 75;
return fov;
} }
}; };