///<summary></summary> private void DrawToothOcclusal(ToothGraphic toothGraphic, Graphics g) { ToothGroup group; float x, y; Pen outline = new Pen(Color.Gray); for (int i = 0; i < toothGraphic.Groups.Count; i++) { group = (ToothGroup)toothGraphic.Groups[i]; if (!group.Visible) { continue; } x = TcData.GetTransXpix(toothGraphic.ToothID); y = TcData.GetTransYocclusalPix(toothGraphic.ToothID); float sqB = 4; //half the size of the central square. B for Big. float cirB = 9.5f; //radius of outer circle float sqS = 3; //S for small float cirS = 8f; GraphicsPath path; SolidBrush brush = new SolidBrush(group.PaintColor); string dir; switch (group.GroupType) { case ToothGroupType.O: g.FillRectangle(brush, x - sqB, y - sqB, 2f * sqB, 2f * sqB); g.DrawRectangle(outline, x - sqB, y - sqB, 2f * sqB, 2f * sqB); break; case ToothGroupType.I: g.FillRectangle(brush, x - sqS, y - sqS, 2f * sqS, 2f * sqS); g.DrawRectangle(outline, x - sqS, y - sqS, 2f * sqS, 2f * sqS); break; case ToothGroupType.B: if (ToothGraphic.IsMaxillary(toothGraphic.ToothID)) { path = GetPath("U", x, y, sqB, cirB); } else { path = GetPath("D", x, y, sqB, cirB); } g.FillPath(brush, path); g.DrawPath(outline, path); break; case ToothGroupType.F: if (ToothGraphic.IsMaxillary(toothGraphic.ToothID)) { path = GetPath("U", x, y, sqS, cirS); } else { path = GetPath("D", x, y, sqS, cirS); } g.FillPath(brush, path); g.DrawPath(outline, path); break; case ToothGroupType.L: if (ToothGraphic.IsMaxillary(toothGraphic.ToothID)) { dir = "D"; } else { dir = "U"; } if (ToothGraphic.IsAnterior(toothGraphic.ToothID)) { path = GetPath(dir, x, y, sqS, cirS); } else { path = GetPath(dir, x, y, sqB, cirB); } g.FillPath(brush, path); g.DrawPath(outline, path); break; case ToothGroupType.M: if (ToothGraphic.IsRight(toothGraphic.ToothID)) { dir = "R"; } else { dir = "L"; } if (ToothGraphic.IsAnterior(toothGraphic.ToothID)) { path = GetPath(dir, x, y, sqS, cirS); } else { path = GetPath(dir, x, y, sqB, cirB); } g.FillPath(brush, path); g.DrawPath(outline, path); break; case ToothGroupType.D: if (ToothGraphic.IsRight(toothGraphic.ToothID)) { dir = "L"; } else { dir = "R"; } if (ToothGraphic.IsAnterior(toothGraphic.ToothID)) { path = GetPath(dir, x, y, sqS, cirS); } else { path = GetPath(dir, x, y, sqB, cirB); } g.FillPath(brush, path); g.DrawPath(outline, path); break; } //group.PaintColor //Gl.glCallList(displayListOffset+toothGraphic.GetIndexForDisplayList(group)); } }