public void BasicTest() { var sor = new SurfaceOfRevolution(); Check.That(sor.Name).IsNull(); Check.That(sor.Sturm).IsNull(); Check.That(sor.NbPoints).IsEqualTo(0); }
public void ConstructorTest() { var sor = new SurfaceOfRevolution("MySor") { Sturm = SurfaceOfRevolution.SturmFlag.sturm, }; Check.That(sor.Name).IsEqualTo("MySor"); Check.That(sor.Sturm).IsEqualTo(SurfaceOfRevolution.SturmFlag.sturm); }
public void ToPovCodeTest() { var sor = new SurfaceOfRevolution("MySor") { Open = SurfaceOfRevolution.OpenFlag.open, Sturm = SurfaceOfRevolution.SturmFlag.sturm, }; sor.Add(0, 0).Add(6, 0).Add(6, 8).Add(0, 8).Add(0, 0) //outer rim .Add(1, 1).Add(5, 1).Add(5, 7).Add(1, 7).Add(1, 1); //inner rim var povCode = sor.ToPovCode(); Check.That(povCode).IsEqualTo("sor {\n 10\n < 0, 0>, < 6, 0>, < 6, 8>, < 0, 8>, < 0, 0>, < 1, 1>, < 5, 1>, < 5, 7>, < 1, 7>, < 1, 1>\n open\n sturm\n}"); }
public SurfaceOfRevolutionScene() { DefaultFloor(); Light(1, 1, -1); double Radius(double u, double v) { double r = Math.Exp(-u); double m = (1 + Math.Abs(Math.Cos(2 * Math.PI * 1.5 * u))); return(r * m); } var mesh = new SurfaceOfRevolution(50, 50, Radius); var triangleMeshFactory = new TriangleMeshFactory(true, false); Add(triangleMeshFactory.Build(mesh).Scale(sy: 0.5, sx: 0.1, sz: 0.1).Translate(tx: 0, tz: 0)); }
public void DemoObjectsTest() { scene.Name = "DemoObjects"; AddBlueSphere(); var cone = new Cone() .AddModifiers(new Pigment() { Color = _Magenta }) .Translate(2, 0, 0); scene.Add(cone); var cylinder = new Cylinder() .AddModifiers(new Pigment() { Color = _Cyan }) .Translate(-2, 0, 0); scene.Add(cylinder); var ovus = new Ovus() .AddModifiers(new Pigment() { Color = _Yellow }) .Translate(0, 0, 2); scene.Add(ovus); var torus = new Torus() .AddModifiers(new Pigment() { Color = _Green }) .Translate(0, 0, 5); scene.Add(torus); var box = new Box() .AddModifiers(new Pigment() { Color = _Red }) .Translate(0, 0, -2); scene.Add(box); var plane = new Plane() { Distance = -1 }; plane.AddModifiers(new Pigment() { Color = _RGB(1, 0.5, 0.25) }); scene.Add(plane); var lathe = new Lathe() .Add(2, 0).Add(3, 0).Add(3, 1).Add(2, 5).Add(2, 0) .AddModifiers(new Pigment() { Color = _RGB(1, 1, 0.5) }) .Scale(0.25, 0.25, 0.25) .Translate(2, 0, -2); scene.Add(lathe); var sor = new SurfaceOfRevolution() .Add(2, 0).Add(3, 0).Add(1, 1).Add(2, 5).Add(2, 0) .AddModifiers(new Pigment() { Color = _RGB(0.5, 1, 0.5) }) .Scale(0.25, 0.25, 0.25) .Translate(2, 0, 2); scene.Add(sor); var path = engine.Render(scene, options, false); }