using System.Windows.Forms; using System.Drawing; using Drawing3d; namespace Sample { public partial class Form1 : Form { MyDevice Device = new MyDevice(); public Form1() { InitializeComponent(); Device.WinControl = this; } } public class MyDevice : OpenGlDevice { Sphere Sphere1 = new Sphere(new xyz(8, 0, 0), 1.5); Sphere Sphere2 = new Sphere(new xyz(-8, 0, 0), 1.5); Cone Cone = new Cone(4, 5); Torus Torus = new Torus(1, 5); BoxEntity Box = new BoxEntity(new xyz(-4, -9, 0), new xyz(8, 3, 3)); TransformAnimator TransformAnimator = new TransformAnimator(); public override void OnPaint() { base.OnPaint(); Torus.Paint(this); Sphere1.Paint(this); Sphere2.Paint(this); Cone.Paint(this); Box.Paint(this); } protected override void OnCreated() { base.OnCreated(); Cone.Material = Materials.Gold; TransformAnimator.Device = this; //TransformAnimator.Entities.Add(Sphere1); //TransformAnimator.Entities.Add(Sphere2); TransformAnimator.GetTrfMatix += TransformAnimator_GetTrfMatix; TransformAnimator.Start(); } private Matrix TransformAnimator_GetTrfMatix(object sender, double t) { return Matrix.Scale(1+0.5 * t, 1 + 0.5 * t, 1 + 0.5 * t); // return Matrix.Translation(new xyz(t * 10, 0, 0)); } } }