Drawing a Simple IMDrawable IPolygon

Simple IMDrawables such as IPolygon need only specify the attributes contained in the IGrafBundle class (draw operation, fill and frame paints, and so on). The draw call of IPolygon is shown below.

IPolygon::draw (IGrafPort& parent) const 
{
     ILinkedAttributePort bundlePort (&parent, fBundle);
     bundlePort.draw (fPolygon); 
}

Since IPolygon makes only one IGrafPort::draw call, it can use the more convenient form of the draw call that takes the overriding bundle parameter:

IPolygon::draw (const IGrafPort& parent) const 
{
     parent.draw (fPolygon, *fBundle);
}