public override void Prepare(TriangulationContext tcx) { base.Prepare(tcx); for (int i = 0; i < EdgeIndex.Length; i += 2) { // XXX: must change!! tcx.NewConstraint(Points[EdgeIndex[i]], Points[EdgeIndex[i + 1]]); } }
/// <summary> /// Creates constraints and populates the context with points /// </summary> /// <param name="tcx">The context</param> public void Prepare(TriangulationContext tcx) { if (mTriangles == null) { mTriangles = new List <DelaunayTriangle> (mPoints.Count); } else { mTriangles.Clear(); } // Outer constraints for (int i = 0; i < mPoints.Count - 1; i++) { //tcx.NewConstraint(mPoints[i], mPoints[i + 1]); tcx.NewConstraint(this [i], this [i + 1]); } tcx.NewConstraint(this [Count - 1], this [0]); // TODO: Changed by Kronnect Games // tcx.NewConstraint (this [0], this [Count - 1]); tcx.Points.AddRange(this); // Hole constraints if (mHoles != null) { foreach (Polygon p in mHoles) { for (int i = 0; i < p.mPoints.Count - 1; i++) { tcx.NewConstraint(p [i], p [i + 1]); } tcx.NewConstraint(p [p.Count - 1], p[0]); // TODO: Changed by Kronnect Games // tcx.NewConstraint (p [0], p [p.Count - 1]); tcx.Points.AddRange(p); } } if (mSteinerPoints != null) { tcx.Points.AddRange(mSteinerPoints); } }
/// <summary> /// Creates constraints and populates the context with points /// </summary> /// <param name="tcx">The context</param> public void Prepare(TriangulationContext tcx) { if (_triangles == null) { _triangles = new List <DelaunayTriangle>(_points.Count); } else { _triangles.Clear(); } // Outer constraints for (int i = 0; i < _points.Count - 1; i++) { tcx.NewConstraint(_points[i], _points[i + 1]); } tcx.NewConstraint(_points[0], _points[_points.Count - 1]); tcx.Points.AddRange(_points); // Hole constraints if (_holes != null) { foreach (Polygon p in _holes) { for (int i = 0; i < p._points.Count - 1; i++) { tcx.NewConstraint(p._points[i], p._points[i + 1]); } tcx.NewConstraint(p._points[0], p._points[p._points.Count - 1]); tcx.Points.AddRange(p._points); } } if (_steinerPoints != null) { tcx.Points.AddRange(_steinerPoints); } }
public override void Prepare(TriangulationContext tcx) { if (!Initialize()) { return; } base.Prepare(tcx); Dictionary <uint, TriangulationConstraint> .Enumerator it = mConstraintMap.GetEnumerator(); while (it.MoveNext()) { TriangulationConstraint tc = it.Current.Value; tcx.NewConstraint(tc.P, tc.Q); } }
/// <summary> /// Creates constraints and populates the context with points /// </summary> /// <param name="tcx">The context</param> public void Prepare(TriangulationContext tcx) { if (_triangles == null) { _triangles = new List<DelaunayTriangle>(_points.Count); } else { _triangles.Clear(); } // Outer constraints for (int i = 0; i < _points.Count - 1; i++) tcx.NewConstraint(_points[i], _points[i + 1]); tcx.NewConstraint(_points[0], _points[_points.Count - 1]); tcx.Points.AddRange(_points); // Hole constraints if (_holes != null) { foreach (Polygon p in _holes) { for (int i = 0; i < p._points.Count - 1; i++) tcx.NewConstraint(p._points[i], p._points[i + 1]); tcx.NewConstraint(p._points[0], p._points[p._points.Count - 1]); tcx.Points.AddRange(p._points); } } if (_steinerPoints != null) { tcx.Points.AddRange(_steinerPoints); } }
public override void Prepare(TriangulationContext tcx) { if (!Initialize()) { return; } base.Prepare(tcx); Dictionary<uint, TriangulationConstraint>.Enumerator it = mConstraintMap.GetEnumerator(); while (it.MoveNext()) { TriangulationConstraint tc = it.Current.Value; tcx.NewConstraint(tc.P, tc.Q); } }