Commit 9def2dd657b45dc6e490caa1286c8285980d12ba
1 parent
f370d6e9
move CompositeTransform to meta.cpp
Showing
2 changed files
with
44 additions
and
45 deletions
sdk/openbr_plugin.h
| @@ -1134,51 +1134,6 @@ protected: | @@ -1134,51 +1134,6 @@ protected: | ||
| 1134 | }; | 1134 | }; |
| 1135 | 1135 | ||
| 1136 | /*! | 1136 | /*! |
| 1137 | - * \brief A MetaTransform that aggregates some sub-transforms | ||
| 1138 | - */ | ||
| 1139 | -class BR_EXPORT CompositeTransform : public TimeVaryingTransform | ||
| 1140 | -{ | ||
| 1141 | - Q_OBJECT | ||
| 1142 | - | ||
| 1143 | -public: | ||
| 1144 | - Q_PROPERTY(QList<br::Transform*> transforms READ get_transforms WRITE set_transforms RESET reset_transforms) | ||
| 1145 | - BR_PROPERTY(QList<br::Transform*>, transforms, QList<br::Transform*>()) | ||
| 1146 | - | ||
| 1147 | - virtual void project(const Template &src, Template &dst) const | ||
| 1148 | - { | ||
| 1149 | - if (timeVarying()) qFatal("No const project defined for time-varying transform"); | ||
| 1150 | - _project(src, dst); | ||
| 1151 | - } | ||
| 1152 | - | ||
| 1153 | - virtual void project(const TemplateList &src, TemplateList &dst) const | ||
| 1154 | - { | ||
| 1155 | - if (timeVarying()) qFatal("No const project defined for time-varying transform"); | ||
| 1156 | - _project(src, dst); | ||
| 1157 | - } | ||
| 1158 | - | ||
| 1159 | - bool timeVarying() const { return isTimeVarying; } | ||
| 1160 | - | ||
| 1161 | - void init() | ||
| 1162 | - { | ||
| 1163 | - isTimeVarying = false; | ||
| 1164 | - foreach (const br::Transform *transform, transforms) { | ||
| 1165 | - if (transform->timeVarying()) { | ||
| 1166 | - isTimeVarying = true; | ||
| 1167 | - break; | ||
| 1168 | - } | ||
| 1169 | - } | ||
| 1170 | - } | ||
| 1171 | - | ||
| 1172 | -protected: | ||
| 1173 | - bool isTimeVarying; | ||
| 1174 | - | ||
| 1175 | - virtual void _project(const Template & src, Template & dst) const = 0; | ||
| 1176 | - virtual void _project(const TemplateList & src, TemplateList & dst) const = 0; | ||
| 1177 | - | ||
| 1178 | - CompositeTransform() : TimeVaryingTransform(false) {} | ||
| 1179 | -}; | ||
| 1180 | - | ||
| 1181 | -/*! | ||
| 1182 | * \brief A br::Transform that does not require training data. | 1137 | * \brief A br::Transform that does not require training data. |
| 1183 | */ | 1138 | */ |
| 1184 | class BR_EXPORT UntrainableTransform : public Transform | 1139 | class BR_EXPORT UntrainableTransform : public Transform |
sdk/plugins/meta.cpp
| @@ -145,6 +145,50 @@ public: | @@ -145,6 +145,50 @@ public: | ||
| 145 | 145 | ||
| 146 | }; | 146 | }; |
| 147 | 147 | ||
| 148 | +/*! | ||
| 149 | + * \brief A MetaTransform that aggregates some sub-transforms | ||
| 150 | + */ | ||
| 151 | +class BR_EXPORT CompositeTransform : public TimeVaryingTransform | ||
| 152 | +{ | ||
| 153 | + Q_OBJECT | ||
| 154 | + | ||
| 155 | +public: | ||
| 156 | + Q_PROPERTY(QList<br::Transform*> transforms READ get_transforms WRITE set_transforms RESET reset_transforms) | ||
| 157 | + BR_PROPERTY(QList<br::Transform*>, transforms, QList<br::Transform*>()) | ||
| 158 | + | ||
| 159 | + virtual void project(const Template &src, Template &dst) const | ||
| 160 | + { | ||
| 161 | + if (timeVarying()) qFatal("No const project defined for time-varying transform"); | ||
| 162 | + _project(src, dst); | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + virtual void project(const TemplateList &src, TemplateList &dst) const | ||
| 166 | + { | ||
| 167 | + if (timeVarying()) qFatal("No const project defined for time-varying transform"); | ||
| 168 | + _project(src, dst); | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + bool timeVarying() const { return isTimeVarying; } | ||
| 172 | + | ||
| 173 | + void init() | ||
| 174 | + { | ||
| 175 | + isTimeVarying = false; | ||
| 176 | + foreach (const br::Transform *transform, transforms) { | ||
| 177 | + if (transform->timeVarying()) { | ||
| 178 | + isTimeVarying = true; | ||
| 179 | + break; | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + | ||
| 184 | +protected: | ||
| 185 | + bool isTimeVarying; | ||
| 186 | + | ||
| 187 | + virtual void _project(const Template & src, Template & dst) const = 0; | ||
| 188 | + virtual void _project(const TemplateList & src, TemplateList & dst) const = 0; | ||
| 189 | + | ||
| 190 | + CompositeTransform() : TimeVaryingTransform(false) {} | ||
| 191 | +}; | ||
| 148 | 192 | ||
| 149 | /*! | 193 | /*! |
| 150 | * \ingroup Transforms | 194 | * \ingroup Transforms |