Listing 4: SCInheritanceSymbol::buildGraphics
/**************************************************************/
SCGeneralizationSymbol& SCGeneralizationSymbol::buildGraphics()
/**************************************************************/
{
removeAll();
setGraphicBundle( bundle );
int xBegin = xPosition();
int xEnd = xBegin + xSize();
int yBegin = yPosition();
int yEnd = yBegin + ySize();
addAsLast(*new IGLine(IPoint(xBegin, yBegin), IPoint(xEnd, yEnd)));
IGPolygon *pArrow = new IGPolygon(IPointArray());
pArrow->addPoint(IPoint(xEnd + ARROW_LENGTH,
yEnd + ARROW_WIDTH/2));
pArrow->addPoint(IPoint(xEnd, yEnd));
pArrow->addPoint(IPoint(xEnd + ARROW_LENGTH,
yEnd - ARROW_WIDTH/2));
pArrow->rotateBy( angleFromPoints(
IPoint(xEnd, yEnd), IPoint(xBegin, yBegin)),
IPoint(xEnd,yEnd) );
addAsLast(*pArrow);
return *this;
}
//End of File