private devDept.Eyeshot.Entities.Region BuildRegion() { // Face Circle outer = new Circle(Point3D.Origin, 6); // Eyes Ellipse inner1 = new Ellipse(new Point3D(-2, 2, 0), 0.5, 1); Ellipse inner2 = new Ellipse(new Point3D(2, 2, 0), 0.5, 1); // Mouth Circle circle = new Circle(Point3D.Origin, 4); Point3D i1; Point3D i2; CompositeCurve.IntersectionLineCircle3D(new Line(-10, 0, 10, 0), circle, out i1, out i2); Arc arc1 = new Arc(new Point3D(0, 2, 0), i1, i2); ICurve[] segments; circle.SplitBy(new List <Point3D> { i1, i2 }, out segments); CompositeCurve inner3 = new CompositeCurve(new List <ICurve>() { arc1, segments[1] }); // Smile region devDept.Eyeshot.Entities.Region reg = new devDept.Eyeshot.Entities.Region(new List <ICurve> { outer, inner1, inner2, inner3 }); reg.ColorMethod = colorMethodType.byEntity; reg.Color = System.Drawing.Color.FromArgb(255, 180, 30); reg.TransformBy(new Translation(12, 25, 0) * new Rotation(Math.PI / 2, Vector3D.AxisX)); return(reg); }