You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
2.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Text;
namespace GummingEntity
{
public enum SegmentType
{
PreviousStitch = 1, //起始固缝线段
LastStitch = 2, //结尾固缝线段
PreviousGumming = 3,//起始固缝线段
LastGumming = 4,//结尾固缝线段
}
public class PatternEntity : ICloneable
{
public int m_Type; //m_Type变量用于判断是直线(0),圆弧1拖线2结束-1
public double x1, y1, x2, y2;//起始点和终止点坐标
public double x, y;//圆心坐标
public double r;//半径
public double angle;//度数
public double m_Speed, m_length;//速度和弧长
public int m_Direction; //运行方向
public string Content;
public double previousX, previousY;//圆心坐标
public double AngleForward;
public double AngleReverse;
public int Index;
public SegmentType SegmentTypeTag;
public bool IsTightSegment;//是否固缝段true 固缝
public bool IsPreviousSegment;//是否起针段
public int RootIndex;
public double Acc;
public double NextAngle;
public double NextNextAngle;
public double PreviousAngle;
public int fromType;
public bool isSegmentEnd;
public void SetContent()
{
Content = string.Format("m_Type:{0},x:{1},y:{2},x1:{3},y1:{4},x2:{5},y2:{6},m_Speed:{7},m_length:{8},m_Direction:{9},IsTightSegment:{10}", m_Type,
x,
y,
x1,
y1,
x2,
y2,
m_Speed,
m_length,
m_Direction,
IsTightSegment);
}
public object Clone()
{
PatternEntity clone = new PatternEntity() {
m_Type = this.m_Type,
x = this.x,
y = this.y,
x1 = this.x1,
y1 = this.y1,
x2 = this.x2,
y2 = this.y2,
m_Speed = this.m_Speed,
m_length = this.m_length,
m_Direction = this.m_Direction,
Content = this.Content,
AngleForward = this.AngleForward,
AngleReverse = this.AngleReverse,
Index = this.Index,
SegmentTypeTag = this.SegmentTypeTag,
IsTightSegment = this.IsTightSegment,
IsPreviousSegment = this.IsPreviousSegment,
RootIndex = this.RootIndex,
Acc = this.Acc,
NextAngle = this.NextAngle,
NextNextAngle = this.NextNextAngle,
PreviousAngle = this.PreviousAngle,
angle = this.angle,
fromType = this.fromType,
isSegmentEnd = this.isSegmentEnd,
};
return clone;
}
}
public class Point
{
public double x, y;
public Point()
{
}
public Point(double x1, double y1)
{
this.x = x1;
this.y = y1;
}
}
}