4#include "declarative/PropertyMacros.h"
31 template<
typename PropsT>
34 const std::map<std::string, apra::ScalarPropertyValue>& values,
35 std::vector<std::string>& missingRequired
39 apra::applyProp(props.roiWidth,
"roiWidth", values,
false, missingRequired);
40 apra::applyProp(props.roiHeight,
"roiHeight", values,
false, missingRequired);
44 if (propName ==
"roiX")
return static_cast<double>(
roiX);
45 if (propName ==
"roiY")
return static_cast<double>(
roiY);
46 if (propName ==
"roiWidth")
return static_cast<double>(
roiWidth);
47 if (propName ==
"roiHeight")
return static_cast<double>(
roiHeight);
48 throw std::runtime_error(
"Unknown property: " + propName);
52 if (propName ==
"roiX") {
roiX =
static_cast<float>(std::get<double>(value));
return true; }
53 if (propName ==
"roiY") {
roiY =
static_cast<float>(std::get<double>(value));
return true; }
54 if (propName ==
"roiWidth") {
roiWidth =
static_cast<float>(std::get<double>(value));
return true; }
55 if (propName ==
"roiHeight") {
roiHeight =
static_cast<float>(std::get<double>(value));
return true; }
56 throw std::runtime_error(
"Unknown property: " + propName);
60 return {
"roiX",
"roiY",
"roiWidth",
"roiHeight"};
66 template <
class Archive>
67 void serialize(Archive &ar,
const unsigned int version)
69 ar &boost::serialization::base_object<ModuleProps>(*
this);
86 bool process(frame_container &frames);
90 void addInputPin(framemetadata_sp &metadata,
string &pinId);
virtual size_t getSerializeSize()
Definition Module.h:101
Definition VirtualPTZ.h:7
bool setProperty(const std::string &propName, const apra::ScalarPropertyValue &value)
Definition VirtualPTZ.h:51
float roiY
Definition VirtualPTZ.h:19
float roiWidth
Definition VirtualPTZ.h:20
size_t getSerializeSize()
Definition VirtualPTZ.h:23
apra::ScalarPropertyValue getProperty(const std::string &propName) const
Definition VirtualPTZ.h:43
VirtualPTZProps(float _roiWidth, float _roiHeight, float _roiX, float _roiY)
Definition VirtualPTZ.h:14
void serialize(Archive &ar, const unsigned int version)
Definition VirtualPTZ.h:67
static std::vector< std::string > dynamicPropertyNames()
Definition VirtualPTZ.h:59
float roiHeight
Definition VirtualPTZ.h:21
static void applyProperties(PropsT &props, const std::map< std::string, apra::ScalarPropertyValue > &values, std::vector< std::string > &missingRequired)
Definition VirtualPTZ.h:32
float roiX
Definition VirtualPTZ.h:18
friend class boost::serialization::access
Definition VirtualPTZ.h:64
VirtualPTZProps()
Definition VirtualPTZ.h:9
Definition VirtualPTZ.cpp:12
Definition VirtualPTZ.h:75
boost::shared_ptr< Detail > mDetail
Definition VirtualPTZ.h:96
VirtualPTZ(VirtualPTZProps _props)
Definition VirtualPTZ.cpp:60
void addInputPin(framemetadata_sp &metadata, string &pinId)
Definition VirtualPTZ.cpp:105
bool validateOutputPins()
Definition VirtualPTZ.cpp:86
bool handlePropsChange(frame_sp &frame)
Definition VirtualPTZ.cpp:187
void setMetadata(framemetadata_sp &metadata)
Definition VirtualPTZ.cpp:138
VirtualPTZProps getProps()
Definition VirtualPTZ.cpp:181
bool process(frame_container &frames)
Definition VirtualPTZ.cpp:123
virtual ~VirtualPTZ()
Definition VirtualPTZ.cpp:65
bool term()
Definition VirtualPTZ.cpp:118
void setProps(VirtualPTZProps &props)
Definition VirtualPTZ.cpp:168
bool init()
Definition VirtualPTZ.cpp:113
bool processSOS(frame_sp &frame)
Definition VirtualPTZ.cpp:195
bool validateInputPins()
Definition VirtualPTZ.cpp:67
void applyProp(T &member, const char *propName, const std::map< std::string, ScalarPropertyValue > &values, bool isRequired, std::vector< std::string > &missingRequired)
Definition PropertyMacros.h:36
std::variant< int64_t, double, bool, std::string > ScalarPropertyValue
Definition ModuleRegistry.h:30