/// <summary>デフォルトコンストラクタ。</summary>
		public CoordinateListPathData()
			{
			VirtualShape = new VirtualPolygon();
			Name = "ListPath";
			Centers = new PointD[] { new PointD(0,0),new PointD(1,0)};
			LeftWingWidths = new double[] { 1, 1 };
			RightWingWidths = new double[2];
			}
		/// <summary>コピーコンストラクタ。</summary>
		/// <param name="previous"></param>
		public PolarCoordinateFunctionalPathData(PolarCoordinateFunctionalPathData previous)
			: base( previous )
			{
			VirtualShape = new VirtualPolygon();
			CenterRadius = previous.CenterRadius;
			CenterRadius_LastValid = previous.CenterRadius_LastValid;
			CenterPhase = previous.CenterPhase;
			CenterPhase_LastValid = previous.CenterPhase_LastValid;
			LeftWingWidth = previous.LeftWingWidth;
			LeftWingWidth_LastValid = previous.LeftWingWidth_LastValid;
			RightWingWidth = previous.RightWingWidth;
			RightWingWidth_LastValid = previous.RightWingWidth_LastValid;
			}
		/// <summary>デフォルトコンストラクタ。</summary>
		public PolarCoordinateFunctionalPathData()
			{
			VirtualShape = new VirtualPolygon();
			Name = "PolarPath";
			CenterRadius = "t";
			CenterRadius_LastValid = "t";
			CenterPhase = "0";
			CenterPhase_LastValid = "0";
			LeftWingWidth = "1";
			LeftWingWidth_LastValid = "1";
			RightWingWidth = "0";
			RightWingWidth_LastValid = "0";
			}
		/// <summary>デフォルトコンストラクタ。</summary>
		public RectangleCoordinateFunctionalPathData()
			{
			VirtualShape = new VirtualPolygon();
			Name = "RectPath";
			CenterX = "t";
			CenterX_LastValid = "t";
			CenterY = "0";
			CenterY_LastValid = "0";
			LeftWingWidth = "1";
			LeftWingWidth_LastValid = "1";
			RightWingWidth = "0";
			RightWingWidth_LastValid = "0";
			}
		/// <summary>コピーコンストラクタ。</summary>
		/// <param name="previous"></param>
		public VirtualPolygon(VirtualPolygon previous)
			: base( previous )
			{
			Vertices = new PointD[previous.Vertices.Length];
			previous.Vertices.CopyTo( Vertices, 0 );
			}
 /// <summary>コピーコンストラクタ。</summary>
 /// <param name="previous"></param>
 public VirtualPolygon(VirtualPolygon previous)
     : base(previous)
 {
     Vertices = new PointD[previous.Vertices.Length];
     previous.Vertices.CopyTo(Vertices, 0);
 }
		/// <summary>コピーコンストラクタ。</summary>
		/// <param name="previous"></param>
		public CoordinateListPathData(CoordinateListPathData previous)
			: base( previous )
			{
			VirtualShape = new VirtualPolygon();
			Centers = previous.Centers;
			LeftWingWidths = previous.LeftWingWidths;
			RightWingWidths = previous.RightWingWidths;
			}
		/// <summary>コピーコンストラクタ。</summary>
		/// <param name="previous"></param>
		public RectangleCoordinateFunctionalPathData(RectangleCoordinateFunctionalPathData previous)
			: base( previous )
			{
			VirtualShape = new VirtualPolygon();
			CenterX = previous.CenterX;
			CenterX_LastValid = previous.CenterX_LastValid;
			CenterY = previous.CenterY;
			CenterY_LastValid = previous.CenterY_LastValid;
			LeftWingWidth = previous.LeftWingWidth;
			LeftWingWidth_LastValid = previous.LeftWingWidth_LastValid;
			RightWingWidth = previous.RightWingWidth;
			RightWingWidth_LastValid = previous.RightWingWidth_LastValid;
			}