My previous post introduced a simple, but very powerful custom WPF control called a Planerator.  That post contained some screenshots, but there's nothing like a live demo.  So here's an XBAP demonstrating the Planerator in action.  Click on "Go" to start it animating on its own.  Or adjust the angles yourself.  Note that the content inside the Planerator remains interactive throughout.

This is a .NET 3.5 application, so you need the latest 3.5 runtime, which you can get here.  One could consider writing this in 3.0 with the 3D Tools package...  that's an exercise left for the reader :-).

I've also updated the source code drop for the Planerator control and some example uses of it.

There were some comments on the last post that I'd like to address here:

  • FKruesch asked about exposing Field Of View... that is indeed exposed by the control.
  • BBowers asked about the content inside the Planerator being more dynamic.  In fact, it is, and my example that had hardcoded dimensions was misleading.  It's fully dynamic and layout is run on the contents and the size taken from that.  You'll see that the example I provide in the source code very much is dynamically sized.
  • Marlon Smith asked about putting elements on the back of the plane.  Just follow the lead of what's done in the CreateVisualChild() method in Planerator.cs for setting up the Viewport2DVisual3D.  That's used there for the front of the plane.  You can use the same technique for the back of the plane if you want those elements to be interactive (I just used a VisualBrush for the back, so they wouldn't be interactive).

Next post is on some of the implementation details that users of Planerator needn't concern themselves with.

Have fun!