Article | 60001266 |
Type | HowTo |
Product | Engine |
Version | 6 |
Date Added | 11/23/2010 |
Submitted by | Shannon Davenport |
Keywords |
vdFigure fig;
gPoint pt;
doc.Prompt("select a curve");
doc.ActionUtility.getUserEntity(out fig,out pt);
doc.Prompt(null);
vdCurve curve = fig as vdCurve;
if(curve == null) return;
gPoint sp = curve.getStartPoint();
gPoint ep = curve.getEndPoint();
vdSelection set = new vdSelection();
set.SetUnRegisterDocument(doc);
set.AddItem(curve, true, vdSelection.AddItemCheck.RemoveInVisibleEntities);
double equality = 0.01;
int pos = 0;
while (pos < set.Count && sp != null && ep != null)
{
gPoints pts = new gPoints();
pts.Add((sp - new gPoint(equality, equality)));
pts.Add((sp + new gPoint(equality, equality)));
set.Select(RenderSelect.SelectingMode.CrossingWindowRectangle, pts);
pts = new gPoints();
pts.Add((ep - new gPoint(equality, equality)));
pts.Add((ep + new gPoint(equality, equality)));
set.Select(RenderSelect.SelectingMode.CrossingWindowRectangle, pts);
pos++;
sp = null;
ep = null;
for (int i = pos; i < set.Count; i++)
{
curve = set[i] as vdCurve;
if (curve != null)
{
sp = curve.getStartPoint();
ep = curve.getEndPoint();
break;
}
pos++;
}
}
doc.UndoHistory.StoreUndoGroup(true);
foreach (vdFigure ent in set)
{
ent.PenColor = new vdColor(Color.Blue);
ent.LineWeight = VectorDraw.Professional.Constants.VdConstLineWeight.LW_120;
}
doc.UndoHistory.StoreUndoGroup(false);
set.Invalidate();