using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VisionAligner;
using VisionCommon;
namespace MaWeldingCommon.Vision.Aligner {
// 장비에서 필요한 얼라인 모드를 구현한다.
// class 이름을 변경하면 정상동작 하지 않는다.
///
/// 장비 얼라인 모드 B
///
public class MachineAlign_B : AlignMode {
///
/// 생성자
///
/// 얼라인 정보
public MachineAlign_B(AlignInfo alignInfo) : base(alignInfo) {
}
// 장비에서 필요한 얼라인을 구현한다.
// 1-Point 얼라인이 아니라면, N-Point 얼라인을 구현하면 된다.
#region N-Point Align
protected override AlignDelta CalculateT(List meaPoints, List refPoints, int flipY) {
return new AlignDelta() {
T = Angle.CreateWithDegree(3)
};
}
protected override AlignDelta CalculateT_ICP(
List meaPoints,
List refPoints,
int flipY) {
return new AlignDelta() {
T = Angle.CreateWithDegree(9)
};
}
protected override AlignDelta CalculateXY(List meaPoints, List refPoints, int flipY, DoublePoint thetaOrigin, Angle alignT) {
return new AlignDelta() {
Translation = new StaticPoint(1, 2),
T = Angle.CreateWithDegree(3)
};
}
#endregion
#region 1-Point Align
protected override AlignDelta CalculateXYT(DoublePoint meaPoint, DoublePoint refPoint, int flipY, DoublePoint thetaOrigin, Angle theta) {
return new AlignDelta() {
Translation = new StaticPoint(4, 5),
T = Angle.CreateWithDegree(6)
};
}
#endregion
}
}