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));
LinearAnimator LinearAnimator1 = new LinearAnimator();
LinearAnimator LinearAnimator2 = new LinearAnimator();
LinearAnimator LinearAnimator3 = new LinearAnimator();
LinearAnimator LinearAnimator4 = new LinearAnimator();
LinearAnimator LinearAnimator5 = new LinearAnimator();
AnimatorSet AnimatorSet = new AnimatorSet();
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;
AnimatorSet.Device = this;
LinearAnimator1.Device = this;
LinearAnimator2.Device = this;
LinearAnimator3.Device = this;
LinearAnimator4.Device = this;
LinearAnimator5.Device = this;
Sphere1.CompileEnable = false;
AnimatorSet.ChildAnimations.Add(LinearAnimator1);
LinearAnimator1.FromValue = new xyz(8, 0, 0);
LinearAnimator1.ToValue = new xyz(8, 8, 0);
LinearAnimator1.Animate += LinearAnimator_Animate;
AnimatorSet.ChildAnimations.Add(LinearAnimator2);
LinearAnimator2.Device = this;
LinearAnimator2.FromValue = new xyz(8, 8, 0);
LinearAnimator2.ToValue = new xyz(-8, 8, 0);
LinearAnimator2.Animate += LinearAnimator_Animate;
AnimatorSet.ChildAnimations.Add(LinearAnimator3);
LinearAnimator3.Device = this;
LinearAnimator3.FromValue = new xyz(-8, 8, 0);
LinearAnimator3.ToValue = new xyz(-8, -8, 0);
LinearAnimator3.Animate += LinearAnimator_Animate;
AnimatorSet.ChildAnimations.Add(LinearAnimator4);
LinearAnimator4.Device = this;
LinearAnimator4.FromValue = new xyz(-8, -8, 0);
LinearAnimator4.ToValue = new xyz(8, -8, 0);
LinearAnimator4.Animate += LinearAnimator_Animate;
AnimatorSet.ChildAnimations.Add(LinearAnimator5);
LinearAnimator5.Device = this;
LinearAnimator5.FromValue = new xyz(8, -8, 0);
LinearAnimator5.ToValue = new xyz(8,0, 0);
LinearAnimator5.Animate += LinearAnimator_Animate;
AnimatorSet.Start();
}
private void LinearAnimator_Animate(object sender, System.EventArgs e)
{
Sphere1.Center = (sender as LinearAnimator).Value;
}
}
}