private void Line_RoadToCross(ref Line_FormRoad lfroad, ref Line_FormCross res)
	{
		res.dir = lfroad.dir;
		res.enterCoord = lfroad.genCoord;

		float crossLength = .0f;
		float fullLength = .0f;
		if (lfroad.dir == SourceDir.North || lfroad.dir == SourceDir.South)
		{
			crossLength = Configs.LENGTH_NS_CROSS;
			fullLength = Configs.LENGTH_NS_FULL;
		}
		else
		{
			crossLength = Configs.LENGTH_WE_CROSS;
			fullLength = Configs.LENGTH_WE_FULL;
		}
		float armLength = (fullLength - crossLength) / 2;

		res.enterTime = lfroad.genTime + armLength / lfroad.genSpeed;
		res.timeLength = lfroad.genLength / lfroad.genSpeed;
		res.timeOffset = crossLength / lfroad.genSpeed;

		return;
	}
	public Line(Line_FormRoad lfr)
	{
		_lfr = lfr;
		_lfc = new Line_FormCross();
		Line_RoadToCross(ref _lfr, ref _lfc);
	}
	public Line(Line_FormCross lfc)
	{
		_lfc = lfc;
		_lfr = new Line_FormRoad();
		Line_CrossToRoad(ref _lfc, ref _lfr);
	}