DrawVertexCategoryShape
(
DrawingObjects oDrawingObjects,
VertexShape eVertexShape,
Pen oPen,
SolidBrush oBrush,
Color oColor,
Single fXShapeCenter,
Single fYShapeCenter,
Single fShapeHalfWidth
)
{
Debug.Assert(oDrawingObjects != null);
Debug.Assert(oPen != null);
Debug.Assert(oBrush != null);
Debug.Assert(fShapeHalfWidth >= 0);
AssertValid();
Graphics oGraphics = oDrawingObjects.Graphics;
oPen.Color = oColor;
oBrush.Color = oColor;
switch (eVertexShape)
{
case VertexShape.Circle:
GraphicsUtil.DrawCircle(oGraphics, oPen, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.Disk:
GraphicsUtil.FillCircle(oGraphics, oBrush, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.Sphere:
GraphicsUtil.FillCircle3D(oGraphics, oColor,
fXShapeCenter, fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.Square:
GraphicsUtil.DrawSquare(oGraphics, oPen, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.SolidSquare:
GraphicsUtil.FillSquare(oGraphics, oBrush, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.Diamond:
GraphicsUtil.DrawDiamond(oGraphics, oPen, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.SolidDiamond:
GraphicsUtil.FillDiamond(oGraphics, oBrush, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.Triangle:
GraphicsUtil.DrawTriangle(oGraphics, oPen, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
case VertexShape.SolidTriangle:
GraphicsUtil.FillTriangle(oGraphics, oBrush, fXShapeCenter,
fYShapeCenter, fShapeHalfWidth);
break;
default:
Debug.Assert(false);
break;
}
}