The i-Technology Media!
Register | Log in
   
 
.NET  ·  AJAX  ·  CLOUD  ·  ECLIPSE  ·  FLEX  ·  OPEN WEB  ·  iPHONE  ·  JAVA  ·  LINUX  ·  OPEN SOURCE  ·  ORACLE  ·  PBDJ  ·  SEARCH  ·  SILVERLIGHT  ·  SOA  ·  VIRTUALIZATION  ·  WEB 2.0  ·  WIRELESS  ·  XML
Comments
Google Wave Invitation Giveaway
By Aditya Banerjee
Timo Hirvonen wrote: I would really appreciate an invitation. Been desperately trying to find one :) timo [dot] hirvonen [at] gmail [dot]com
Nov. 27, 2009 11:13 AM EST
Cloud Expo on Google News
Did you read today's front page stories & breaking news?


2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts

2009 East
GOLD SPONSORS:
CA
Get Your Transactions Under Control: SOA Performance Management
Software AG
Performance Driven Adoption: The Secret to Advancing SOA
Intel
The Evolving SOA Appliance: 3 Game-Changing Innovations
SILVER SPONSOR:
Denodo
Data Mashups: Deliver Your Project Faster with Virtualized Data Services Across Internal & External Sources
POWER PANELS:
The Business Value of Service Orientation
Driving Profitability Through User Experience
Click For 2008 West
Event Webcasts
Live Google News by SYS-CON!
Top Three Links You Must Click On


Features
Dare to Use the Current Capabilities of Windows Presentation Foundation
And get 3D layout effects

By: Miguel Katrib; Mario del Valle
Oct. 13, 2008 07:30 AM
  • 1
  • 2
  • next ›
  • last »

The Windows Presentation Foundation community is growing because WPF facilitates the development of better graphical user interfaces and graphical applications. But WPF's tri-dimensional resources are not developed compared to DirectX's capabilities and existing hardware potential. This article will explain how to develop panels to make it easier to lay out tri-dimensional figures in a Viewport3D.

The Bi-dimensional Hierarchy
In WPF the bi-dimensional world is hierarchically organized as shown in Figure 1. The type Visual is the base class of any element that can be shown in WPF, while its descendant UIElement defines the elements that can interact with the users through keyboard, mouse, and stylus events. FrameworkElement is the unique implementation of UIElement right now, so FrameworkElement is the actual base class for UI elements in WPF.

Shape is the representation of bi-dimensional geometric figures that can be used to build the appearance of windows and it is also useful as the main kind of artistic components in control templates.

Decorators (descendants from type Decorator) can decorate a contained element.

Controls are the main actors of the user interface. They can be seen through its control template that can be defined using any WPF element.

Panels are not properly "visible" objects because their function is to lay out a collection of elements in the bi-dimensional world.

Is the Tri-Dimensional World Organized As Well As the Bi-Dimensional?
Not yet! Unfortunately, there is no equivalent 3D hierarchy of types as in Figure 1. For example, there aren't basic 3D figures like spheres, cubes, planes, or cones. Nor is there a kind of Control3D or Panel3D hierarchy. The good news is that Microsoft's WPF team announced some tips about the future of this hierarchy in upcoming versions; the type UIElement3D in version 3.5 of the .NET Framework is so similar to UIElement that the coincidence is not by chance, and they are promising more for the next version. But while we wait for these things, this article will help you create a custom Panel3D so you can create some 3D distribution of the objects in your applications such as the familiar Windows Vista Switching (see Figure 2).

Building a Panel3D
Figure 3 shows the 3D hierarchy in the .NET Framework 3.5. The type Visual3D is the base class of all tri-dimensional elements that can be shown in a Viewport3D. ModelVisual3D is a container grouping of the elements of the 3D space. UIElement3D is the base class of those tri-dimensional elements having user interaction. Viewport2DVisual3D is the type for helping to set bi-dimensional elements as materials of the tri-dimensional figures, but keeping the interaction with the bi-dimensional elements. ContainerUIElement3D and ModelUIElement3D are two interesting classes derived from UIElement3D. The former is a group of UIElement3D objects, and the latter provides event-driven functionality to native types derived from Model3D.

Because ContainerUIElement3D and ModelVisual3D are both container elements, they could be used as a base class for our Panel3D. To obtain a 3D hierarchy similar to the bi-dimensional one shown in Figure 1, the suitable base type should be ContainerUIElement3D, but unfortunately that class is sealed, so we will use ModelVisual3D as the base class of the "panel" class.

  • 1
  • 2
  • next ›
  • last »
Published Oct. 13, 2008— Reads 2,386
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About Miguel Katrib
Miguel Katrib is a PhD and a professor in the Computer Science Department at the University of Havana. He is also the head of the WEBOO group dedicated to Web and object-oriented technologies. Miguel is also a scientific advisor in .NET for the software enterprise CARE Technologies, Denia, Spain.

About Mario del Valle
Mario del Valle is working toward his MS at the Computer Science Department at the University of Havana, and is a software developer at the WEBOO group dedicated to Web and object-oriented technologies.


Add Your Feedback

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers

ADS BY GOOGLE

Breaking Java News
FanSnap(R) Launches SeatAlerts to Notify Fans of Their 'Perfect' Tickets
Petromin Resources announces granting of stock options to certain members of its International Advisory Board
Platinex and Ontario Continue Discussions Over Big Trout Lake Property
Garson Gold Announces Filing of Audited Financial Statements for the Year Ended July 31, 2009
Khan Acknowledges ARMZ Intention to Make an Unsolicited Offer
Killdeer Minerals Announces Financing With MineralFields Group
West Street Announces Third Quarter Results
Homeland Uranium Inc. Reprices Options
South American Silver Corp. Completes $2.78 Million Financing

ADVERTISE   |   MAGAZINE SUBSCRIPTIONS   |   FREE BREAKING-NEWSLETTERS!   |   SYS-CON.TV   |   BLOG-N-PLAY!   |   WEBCAST   |   EDUCATION   |   RESEARCH

.NET Developer's Journal - .NETDJ   |   ColdFusion Developer's Journal - CFDJ   |   Eclipse Developer's Journal - EDJ   |   Enterprise Open Source Magazine - EOS
Open Web Developer's Journal - OPENWEB   |   iPhone Developer's Journal - iPHONE   |   Virtualization - Virtualization   |   Java Developer's Journal - JDJ   |   Linux.SYS-CON.com
PowerBuilder Developer's Journal - PBDJ   |   SEO / SEM Journal - SJ   |   SOAWorld Magazine - SOAWM   |   IT Solutions Guide - ITSG   |   Symbian Developer's Journal - SDJ
WebLogic Developer's Journal - WLDJ   |   WebSphere Journal - WJ   |   Wireless Business & Technology - WBT   |   XML-Journal - XMLJ   |   Internet Video - iTV
Flex Developer's Journal - Flex   |   AJAXWorld Magazine - AWM   |   Silverlight Developer's Journal - SLDJ   |   PHP.SYS-CON.com   |   Web 2.0 Journal - WEB2
Apache   |   CMS   |   CRM   |   HP   |   Oracle Journal   |   Perl   |   Python   |   Red Hat   |   Ruby on Rails   |   SAP   |   SaaS

SYS-CON MEDIA:   ABOUT US   |   CONTACT US   |   COMPANY NEWS   |   CAREERS   |   SITE MAP
SYS-CON EVENTS:   |  AJAXWorld Conference & Expo  |  iPhone Developer Summit  |  Cloud Computing Conference & Expo  |  SOA World Conference & Expo  |  Virtualization Conference & Expo
INTERNATIONAL SITES:   India  |  U.K.  |  Canada  |  Germany  |  France  |  Australia  |  Italy  |  Spain  |  Netherlands  |  Brazil  |  Belgium
 Terms of Use & Our Privacy Statement     About Newsfeeds / Video Feeds
Copyright ©1994-2008 SYS-CON Publications, Inc. All Rights Reserved. All marks are trademarks of SYS-CON Media.
Reproduction in whole or in part in any form or medium without express written permission of SYS-CON Publications, Inc. is prohibited.
 
close this window