123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #pragma once
- #include "CCalib.h"
- class __declspec(dllexport) CRCalib : public CCalib {
- public:
-
- enum RCalibType {
- StepCalib,
- RotationCenterCalib
- };
-
- CRCalib(int GetModuleType, string GetModuleName);
-
- ~CRCalib() {}
-
- virtual int StartCalib() override;
-
- virtual void SetParam() override;
-
- virtual LONG GetParam() override;
-
- LONG GetCenter(XY_DOUBLE_STRUCT& center) {
-
- if (m_stCalibR.m_stRotateCenter.x == 0 && m_stCalibR.m_stRotateCenter.y == 0) {
- return FAIL;
- }
-
- center = m_stCalibR.m_stRotateCenter;
- return OK;
- }
-
- LONG GetOffsetByAngle(double dAngle, Step_RCalib_Result& stCoefficient_R);
-
- LONG CalResult();
-
- LONG CalRotationOffset(double angle, double& dx, double& dy);
-
- bool rotationPos(const XY_DOUBLE_STRUCT& point, const double& rotationRad, XY_DOUBLE_STRUCT& rotatedPoint);
-
-
- void SetCenter(XY_DOUBLE_STRUCT center) {
- m_stCalibR.m_stRotateCenter = center;
- SetParam();
- }
-
- void SetXYCalib(CXYCalib* calib) {
- m_pXYCalib = calib;
- }
-
- void SetTempID(int tempID) {
- m_stCalibR.m_nTempId = tempID;
- SetParam();
- }
-
- CALIB_R GetCalibParam() { return m_stCalibR; }
- LONG MoveToCalibPos();
- private:
- const int ROT_NUM = 8;
- vector<Point2D> m_vetRotatinPoints;
- vector<double> m_vetRadius;
- vector<double> m_vetAngle;
- CALIB_R m_stCalibR;
- RCalibType m_calibType = RotationCenterCalib;
-
-
-
- vector<Step_RCalib_Result> m_stVetCalib_R;
- CXYCalib* m_pXYCalib = nullptr;
- };
|