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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。