Canvas/EditTools/LinesMeetEditTool.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace Canvas.EditTools
{
	class LinePoints
	{
		DrawTools.Line	m_line;
		UnitPoint		m_p1;
		UnitPoint		m_p2;
		public UnitPoint MousePoint;
		public DrawTools.Line Line
		{
			get { return m_line; }
		}
		public void SetLine(DrawTools.Line l)
		{
			m_line = l;
			m_p1 = l.P1;
			m_p2 = l.P2;
		}
		public void ResetLine()
		{
			m_line.P1 = m_p1;
			m_line.P2 = m_p2;
		}
		public void SetNewPoints(DrawTools.Line l, UnitPoint hitpoint, UnitPoint intersectpoint)
		{
			SetLine(l);
			double hitToVp1 = HitUtil.Distance(hitpoint, l.P1); // hit point to vertex point
			double ispToVp1 = HitUtil.Distance(intersectpoint, l.P1); // intersect point to vertex point
			// if hit is closer than intersect point, then keep this point and adjust the other
			if (hitToVp1 <= ispToVp1)
				m_p2 = intersectpoint;
			else
				m_p1 = intersectpoint;
			ResetLine();
		}
	}
	class LinesMeetEditTool : IEditTool
	{
		IEditToolOwner m_owner;
		public LinesMeetEditTool(IEditToolOwner owner)
		{
			m_owner = owner;
			SetHint("Select first line");
		}
		void SetHint(string text)
		{
			if (m_owner != null)
			{
				if (text.Length > 0)
					m_owner.SetHint("Lines Meet: " + text);
				else
					m_owner.SetHint("");
			}
		}
		public IEditTool Clone()
后面还有 109 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。