controlPointListUpdater.hpp 1.04 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
// Copyright (c) 2012-2017 VideoStitch SAS
// Copyright (c) 2018 stitchEm

#pragma once

#include "controlPointListDef.hpp"
#include "deferredUpdater.hpp"

namespace VideoStitch {
namespace Core {

class VS_EXPORT ControlPointsListUpdater : public ControlPointListDefinition,
                                           public DeferredUpdater<ControlPointListDefinition> {
 public:
  explicit ControlPointsListUpdater(const ControlPointListDefinition &definition);

  virtual ControlPointListDefinition *clone() const override;

  virtual Ptv::Value *serialize() const override;

  virtual bool operator==(const ControlPointListDefinition &other) const override;

  virtual bool validate(std::ostream &os, const videoreaderid_t numVideoInputs) const override;

  virtual const ControlPointList &getCalibrationControlPointList() const override;

  virtual void setCalibrationControlPointList(const ControlPointList &list) override;

 private:
  std::unique_ptr<ControlPointListDefinition> controlPointListDefinition;
};

}  // namespace Core
}  // namespace VideoStitch