public TransitionContactPointCircleGlyph(Point centre, int radius, IGlyph parent, TransitionContactEnd whichEnd, TransitionContactPointCircleGlyph otherEnd)
     : base(centre, radius)
 {
     this.Parent = parent;
     this._WhichEnd = whichEnd;
     this._OtherEnd = otherEnd;
 }
 public PortLinkContactPointGlyph(Point centre, int radius, IGlyph parent, TransitionContactEnd whichEnd, PortLinkContactPointGlyph otherEnd)
     : base(new Rectangle(centre.X - radius, centre.Y - radius, radius + radius, radius + radius))
 {
     this.Parent    = parent;
     this._WhichEnd = whichEnd;
     this._OtherEnd = otherEnd;
 }
 public TransitionContactPointCircleGlyph(Point centre, int radius, IGlyph parent, TransitionContactEnd whichEnd, TransitionContactPointCircleGlyph otherEnd)
     : base(centre, radius)
 {
     this.Parent    = parent;
     this._WhichEnd = whichEnd;
     this._OtherEnd = otherEnd;
 }
 public PortLinkContactPointGlyph(Point centre, int radius, IGlyph parent, TransitionContactEnd whichEnd, PortLinkContactPointGlyph otherEnd)
     : base(new Rectangle (centre.X - radius, centre.Y - radius, radius + radius, radius + radius))
 {
     this.Parent = parent;
     this._WhichEnd = whichEnd;
     this._OtherEnd = otherEnd;
 }
 protected IComponentGlyph GetComponent(IPortLinkGlyph portLink, TransitionContactEnd whichEnd)
 {
     foreach (IPortLinkContactPointGlyph contactPoint in portLink.ContactPoints)
     {
         if (contactPoint.WhichEnd == whichEnd)
         {
             return(GetComponent(portLink, contactPoint));
         }
     }
     return(null);
 }
 protected IComponentGlyph GetComponent(IPortLinkGlyph portLink, TransitionContactEnd whichEnd)
 {
     foreach (IPortLinkContactPointGlyph contactPoint in portLink.ContactPoints)
     {
         if (contactPoint.WhichEnd == whichEnd)
         {
             return GetComponent (portLink, contactPoint);
         }
     }
     return null;
 }