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));
}
}
}