Пример #1
0
 /// <summary>
 /// Find next subsegment in sequence. [next(ab) -> b*]
 /// </summary>
 /// <remarks>snext() finds the next subsegment (from the same segment) in
 /// sequence; one whose origin is the input subsegment's destination.
 /// </remarks>
 public void Next(ref Osub o2)
 {
     o2 = seg.subsegs[1 - orient];
     //sdecode(sptr, o2);
 }
Пример #2
0
 /// <summary>
 /// Reverse the orientation of a subsegment. [sym(ab) -> ba]
 /// </summary>
 /// <remarks>ssym() toggles the orientation of a subsegment.
 /// </remarks>
 public void Sym(ref Osub o2)
 {
     o2.seg    = seg;
     o2.orient = 1 - orient;
 }
Пример #3
0
 /// <summary>
 /// Find adjoining subsegment with the same origin. [pivot(ab) -> a*]
 /// </summary>
 /// <remarks>spivot() finds the other subsegment (from the same segment)
 /// that shares the same origin.
 /// </remarks>
 public void Pivot(ref Osub o2)
 {
     o2 = seg.subsegs[orient];
     //sdecode(sptr, o2);
 }
Пример #4
0
 /// <summary>
 /// Test for equality of subsegments.
 /// </summary>
 public bool Equal(Osub o2)
 {
     return((seg == o2.seg) && (orient == o2.orient));
 }
Пример #5
0
 /// <summary>
 /// Copy a subsegment.
 /// </summary>
 public void Copy(ref Osub o2)
 {
     o2.seg    = seg;
     o2.orient = orient;
 }
Пример #6
0
 /// <summary>
 /// Bond two subsegments together. [bond(abc, ba)]
 /// </summary>
 public void Bond(ref Osub o2)
 {
     seg.subsegs[orient]       = o2;
     o2.seg.subsegs[o2.orient] = this;
 }
Пример #7
0
 /// <summary>
 /// Bond a triangle to a subsegment.
 /// </summary>
 public void SegBond(ref Osub os)
 {
     triangle.subsegs[orient]    = os;
     os.seg.triangles[os.orient] = this;
 }
Пример #8
0
 /// <summary>
 /// Finds a subsegment abutting a triangle.
 /// </summary>
 public void SegPivot(ref Osub os)
 {
     os = triangle.subsegs[orient];
     //sdecode(sptr, osub)
 }