12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #ifndef GBMOT_OBJECTDATAANGULAR_H
- #define GBMOT_OBJECTDATAANGULAR_H
- #include "ObjectData2D.h"
- namespace core
- {
- class ObjectDataAngular;
- typedef std::shared_ptr<ObjectDataAngular> ObjectDataAngularPtr;
-
- class ObjectDataAngular : public ObjectData2D
- {
- private:
- static const std::string CONSTRAINT_ANGULAR_DIFFERENCE;
-
- double angle_;
-
- double angular_weight_;
- virtual void Print(std::ostream& os) const override;
- public:
-
- ObjectDataAngular(size_t frame_index, const cv::Point2d& position, double angle);
-
- ObjectDataAngular(size_t frame_index, const cv::Point2d& position,
- double angle, double temporal_weight,
- double spatial_weight, double angular_weight);
-
- void SetAngularWeight(double weight);
-
- double GetAngle() const;
-
- double GetAngularWeight() const;
- virtual double CompareTo(ObjectDataPtr obj) const override;
- virtual bool IsWithinConstraints(ObjectDataPtr obj,
- std::unordered_map<std::string, double> & constraints)
- const override;
- virtual ObjectDataPtr Interpolate(ObjectDataPtr obj, double fraction) const override;
- virtual void Visualize(cv::Mat& image, cv::Scalar& color, double alpha) const override;
- virtual std::string ToString(char delimiter) const override;
- };
- }
- #endif
|