<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>gart Wiki Rss Feed</title><link>http://gart.codeplex.com/</link><description>gart Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>https://gart.codeplex.com/wikipage?version=10</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project description&lt;/h2&gt;GART was created to help people quickly and easily build Augmented Reality applications for Windows Phone.&lt;br /&gt;&lt;br /&gt;This kit is different from other AR kits in that it enables what we call “Geo AR”. Where other toolkits place virtual things on top of specially printed tags, this toolkit places information on top of real places in the world around you. It does this by tracking where you are and the direction you’re facing. &lt;br /&gt;&lt;br /&gt;Geo AR apps are easy to write because all you need to provide is a collection of objects that have Latitudes and Longitudes. These can come from anywhere, for example a Bing restaurant search, a Flickr photo search or a Wikipedia article search. The framework then takes care of managing sensors and tracking where the user is in relation to the reference points. It can show where the points are in relation to user from a top-down perspective (on a map) or it can show where the points are as a virtual lens into the real world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please note&lt;/b&gt; that GART makes heavy use of the &lt;a href="http://msdn.microsoft.com/en-us/library/hh239189(v=VS.92).aspx"&gt;Motion&lt;/a&gt; APIs shipping with Windows Phone Mango (OS 7.5). You will need a motion-enabled device to use GART. This should include all devices that ship with 7.5 as well as many of the existing 7.0 devices that have been upgraded to 7.5. The emulator, unfortunately, does not currently support Motion APIs. GART will fail gracefully if motion is not supported by raising the ARDisplay.ServiceError event.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;If you don&amp;#39;t have the Windows Phone SDK yet, grab it &lt;a href="http://aka.ms/wp7sdk"&gt;here&lt;/a&gt;. For help on getting strted with the toolkit see our guide on the &lt;a href="http://gart.codeplex.com/documentation"&gt;Documentation&lt;/a&gt; tab.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Show me some video!&lt;/h2&gt;Probably the easiest way to introduce the kit is through a quick 3 minute&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=KbwgscMXRhs&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you want a shorter intro that jumps directly into a demo without describing the kit, that’s this&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=NhF9otraJrA&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;About the author&lt;/h2&gt;&lt;img src="http://download-codeplex.sec.s-msft.com/Download?ProjectName=gart&amp;DownloadId=294536" alt="JaredSmall.jpg" title="JaredSmall.jpg" /&gt;&lt;br /&gt;GART was created by Jared Bienz, a Microsoft employee living in Houston Texas. Jared helps developers build applications for Windows Phone, so if you build something cool with GART he&amp;#39;d love to hear about it.&lt;br /&gt;Blog: &lt;a href="http://jaredbienz.wordpress.com"&gt;jaredbienz.wordpress.com&lt;/a&gt;&lt;br /&gt;E-Mail: &lt;a href="mailto://jbienz@microsoft.com"&gt;jbienz@microsoft.com&lt;/a&gt;&lt;br /&gt;Twitter: &lt;a href="http://www.twitter.com/jbienz"&gt;@jbienz&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Wed, 15 May 2013 22:18:43 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20130515101843P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://gart.codeplex.com/documentation?version=9</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;Samples included in the toolkit&lt;/h2&gt;
&lt;p&gt;The Geo AR Toolkit contains two samples that show how to build an app from scratch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SimpleAR&lt;/strong&gt; &amp;ndash; Simply adds labels around you in random locations. Look for &amp;quot;add locations&amp;quot; and &amp;quot;clear locations&amp;quot; in the application menu.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;BingAR&lt;/strong&gt; &amp;ndash; Uses Bing to display information about restaurants nearby. Displays the restaurant name, the type of food they serve and their average user rating.
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Creating an app with the toolkit&lt;/h2&gt;
&lt;p&gt;The basic steps anyone would follow to build an app with the toolkit are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start a new Windows Phone project &lt;/li&gt;&lt;li&gt;Add an ARDisplay control to your page &lt;/li&gt;&lt;li&gt;Add the views (or layers) you want as children of the ARDisplay &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedTo call ARDisplay.StartServices() &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedFrom call ARDisplay.StopServices() &lt;/li&gt;&lt;li&gt;(Optional and WP7 only) In Page.OnOrientationChanged call ARDisplay.HandleOrientationChange(e)&amp;nbsp;
&lt;/li&gt;&lt;li&gt;Create a collection of ARItem objects (or your own custom type that inherits from ARItem)
&lt;/li&gt;&lt;li&gt;Set the GeoLocation property of each ARItem to a location in the real world &lt;/li&gt;&lt;li&gt;Set ARDisplay.Items equal to your new collection &lt;/li&gt;&lt;li&gt;(Optional) Style visual elements to give them a custom appearance or show custom data
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;How the toolkit works:&lt;/h2&gt;
&lt;p&gt;ARDisplay is thework horse of the solution. When StartServices is called, ARDisplay takes care of creating AR services, initializing them and subscribing to their events. When StopServices is called, ARDisplay takes care of unsubscribing from the services
 and freeing their resources. When we say &amp;lsquo;AR Services&amp;rsquo; we're talking about the PhotoCamera (for the background video feed), Location for Lat / Long positioning and Motion for Heading / Attitude. Each of these services can also be individually Enabled
 or Disabled for applications that don&amp;rsquo;t need or want them. For example, you may want to set LocationEnabled to false and set the Location property to a known location while you&amp;rsquo;re developing at home.&lt;br&gt;
&lt;br&gt;
The next part of the solution are the individual views (or layers) that can be added as children to ARDisplay. Currently there are four:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HeadingIndicator&lt;/strong&gt; &amp;ndash; Draws a circle with a cone that rotates to show the users heading. Good for layering on top of a map.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OverheadMap&lt;/strong&gt; &amp;ndash; Displays a Bing map that remains centered on the users location. Normally the map is fixed to &amp;lsquo;North Up&amp;rsquo; but it can also rotate to the users heading.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;VideoPreview&lt;/strong&gt; &amp;ndash; Essentially a rectangle that displays video from the camera. Normally it&amp;rsquo;s placed as the first (or lowest) layer and it&amp;rsquo;s set to fill the screen, but you can have multiple instances of this layer at different
 sizes and locations. So, for example, you could have an OverheadMap fill the screen with a small video preview in the corner.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;WorldView&lt;/strong&gt; &amp;ndash; Displays a virtual world in 3D space and applies matrix math to keep the virtual world aligned with what&amp;rsquo;s seen through the camera.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
As mentioned above, it&amp;rsquo;s easy for you to create your own views as well. The minimum requirement for a view is to implement the IARView interface. This interface has three properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Attitude (Matrix)&lt;/strong&gt; &amp;ndash; The current matrix in 3D space for the rotation of the device.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AttitudeHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;facing&lt;/em&gt; in degrees. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Location (GeoCoordinate)&lt;/strong&gt; &amp;ndash; The lat / long / altitude of the user as well as the heading they are traveling in.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TravelHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;traveling&lt;/em&gt; in degrees. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Note the difference between facing and traveling. A person can be driving north on the freeway but looking west out the window.&lt;br&gt;
&lt;br&gt;
The IARView interface is all you need to implement if you want to indicate where the user is or where they&amp;rsquo;re looking. If you want to create a view that also shows the items around the user, you&amp;rsquo;ll need to implement the IARItemsView interface. IARItemsView
 adds one additional property:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARItems (ObservableCollection&amp;lt;ARItem&amp;gt;)&lt;/strong&gt; &amp;ndash; The collection of items that should be rendered in relation to the current Location, Heading and Attitude of the user.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Any control can implement the interfaces listed above and get notified when their values change. However, it&amp;rsquo;s probably easiest to inherit from one of the base controls we provide:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARView&lt;/strong&gt; &amp;ndash; Implements the IARView interface as a set of dependency properties and bubbles any changes up as OnPropertyChanged overrides.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARRotateView&lt;/strong&gt; &amp;ndash; Inherits from ARView and adds the property RotationSource which can be set to North, TravelHeading or AttitudeHeading. It then provides a bindable Rotation property to be used in Xaml markup. HeadingIndicator and OverheadMap
 both inherit from this class. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARItemsView&lt;/strong&gt; &amp;ndash; Inherits from ListBox and implements IARView and IARItemsView. This base class can be used for building views that render the individual items to be displayed. WorldView inherits from this class.
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>piotrw</author><pubDate>Fri, 29 Mar 2013 22:13:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130329101303P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://gart.codeplex.com/documentation?version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;Samples included in the toolkit&lt;/h2&gt;
&lt;p&gt;The Geo AR Toolkit contains two samples that show how to build an app from scratch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SimpleAR&lt;/strong&gt; &amp;ndash; Simply adds labels around you in random locations. Look for &amp;quot;add locations&amp;quot; and &amp;quot;clear locations&amp;quot; in the application menu.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;BingAR&lt;/strong&gt; &amp;ndash; Uses Bing to display information about restaurants nearby. Displays the restaurant name, the type of food they serve and their average user rating.
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Creating an app with the toolkit&lt;/h2&gt;
&lt;p&gt;The basic steps anyone would follow to build an app with the toolkit are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start a new Windows Phone project &lt;/li&gt;&lt;li&gt;Add an ARDisplay control to your page &lt;/li&gt;&lt;li&gt;Add the views (or layers) you want as children of the ARDisplay &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedTo call ARDisplay.StartServices() &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedFrom call ARDisplay.StopServices() &lt;/li&gt;&lt;li&gt;(Optional) In Page.OnOrientationChanged call ARDisplay.HandleOrientationChange(e)&amp;nbsp;
&lt;/li&gt;&lt;li&gt;Create a collection of ARItem objects (or your own custom type that inherits from ARItem)
&lt;/li&gt;&lt;li&gt;Set the GeoLocation property of each ARItem to a location in the real world &lt;/li&gt;&lt;li&gt;Set ARDisplay.Items equal to your new collection &lt;/li&gt;&lt;li&gt;(Optional) Style visual elements to give them a custom appearance or show custom data
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;How the toolkit works:&lt;/h2&gt;
&lt;p&gt;ARDisplay is thework horse of the solution. When StartServices is called, ARDisplay takes care of creating AR services, initializing them and subscribing to their events. When StopServices is called, ARDisplay takes care of unsubscribing from the services
 and freeing their resources. When we say &amp;lsquo;AR Services&amp;rsquo; we're talking about the PhotoCamera (for the background video feed), Location for Lat / Long positioning and Motion for Heading / Attitude. Each of these services can also be individually Enabled
 or Disabled for applications that don&amp;rsquo;t need or want them. For example, you may want to set LocationEnabled to false and set the Location property to a known location while you&amp;rsquo;re developing at home.&lt;br&gt;
&lt;br&gt;
The next part of the solution are the individual views (or layers) that can be added as children to ARDisplay. Currently there are four:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HeadingIndicator&lt;/strong&gt; &amp;ndash; Draws a circle with a cone that rotates to show the users heading. Good for layering on top of a map.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OverheadMap&lt;/strong&gt; &amp;ndash; Displays a Bing map that remains centered on the users location. Normally the map is fixed to &amp;lsquo;North Up&amp;rsquo; but it can also rotate to the users heading.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;VideoPreview&lt;/strong&gt; &amp;ndash; Essentially a rectangle that displays video from the camera. Normally it&amp;rsquo;s placed as the first (or lowest) layer and it&amp;rsquo;s set to fill the screen, but you can have multiple instances of this layer at different
 sizes and locations. So, for example, you could have an OverheadMap fill the screen with a small video preview in the corner.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;WorldView&lt;/strong&gt; &amp;ndash; Displays a virtual world in 3D space and applies matrix math to keep the virtual world aligned with what&amp;rsquo;s seen through the camera.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
As mentioned above, it&amp;rsquo;s easy for you to create your own views as well. The minimum requirement for a view is to implement the IARView interface. This interface has three properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Attitude (Matrix)&lt;/strong&gt; &amp;ndash; The current matrix in 3D space for the rotation of the device.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AttitudeHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;facing&lt;/em&gt; in degrees. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Location (GeoCoordinate)&lt;/strong&gt; &amp;ndash; The lat / long / altitude of the user as well as the heading they are traveling in.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TravelHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;traveling&lt;/em&gt; in degrees. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Note the difference between facing and traveling. A person can be driving north on the freeway but looking west out the window.&lt;br&gt;
&lt;br&gt;
The IARView interface is all you need to implement if you want to indicate where the user is or where they&amp;rsquo;re looking. If you want to create a view that also shows the items around the user, you&amp;rsquo;ll need to implement the IARItemsView interface. IARItemsView
 adds one additional property:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARItems (ObservableCollection&amp;lt;ARItem&amp;gt;)&lt;/strong&gt; &amp;ndash; The collection of items that should be rendered in relation to the current Location, Heading and Attitude of the user.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Any control can implement the interfaces listed above and get notified when their values change. However, it&amp;rsquo;s probably easiest to inherit from one of the base controls we provide:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARView&lt;/strong&gt; &amp;ndash; Implements the IARView interface as a set of dependency properties and bubbles any changes up as OnPropertyChanged overrides.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARRotateView&lt;/strong&gt; &amp;ndash; Inherits from ARView and adds the property RotationSource which can be set to North, TravelHeading or AttitudeHeading. It then provides a bindable Rotation property to be used in Xaml markup. HeadingIndicator and OverheadMap
 both inherit from this class. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARItemsView&lt;/strong&gt; &amp;ndash; Inherits from ListBox and implements IARView and IARItemsView. This base class can be used for building views that render the individual items to be displayed. WorldView inherits from this class.
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>piotrw</author><pubDate>Tue, 26 Mar 2013 22:03:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130326100304P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://gart.codeplex.com/documentation?version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;Samples included in the toolkit&lt;/h2&gt;
&lt;p&gt;The Geo AR Toolkit contains two samples that show how to build an app from scratch:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SimpleAR&lt;/strong&gt; &amp;ndash; Simply adds labels around you in random locations. Look for &amp;quot;add locations&amp;quot; and &amp;quot;clear locations&amp;quot; in the application menu.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;BingAR&lt;/strong&gt; &amp;ndash; Uses Bing to display information about restaurants nearby. Displays the restaurant name, the type of food they serve and their average user rating.
&lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;Creating an app with the toolkit&lt;/h2&gt;
&lt;p&gt;The basic steps anyone would follow to build an app with the toolkit are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start a new Windows Phone project &lt;/li&gt;&lt;li&gt;Add an ARDisplay control to your page &lt;/li&gt;&lt;li&gt;Add the views (or layers) you want as children of the ARDisplay &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedTo call ARDisplay.StartServices() &lt;/li&gt;&lt;li&gt;In Page.OnNavigatedFrom call ARDisplay.StopServices() &lt;/li&gt;&lt;li&gt;Create a collection of ARItem objects (or your own custom type that inherits from ARItem)
&lt;/li&gt;&lt;li&gt;Set the GeoLocation property of each ARItem to a location in the real world &lt;/li&gt;&lt;li&gt;Set ARDisplay.Items equal to your new collection &lt;/li&gt;&lt;li&gt;(Optional) Style visual elements to give them a custom appearance or show custom data
&lt;/li&gt;&lt;li&gt;For Landscape orientation support see: &lt;a href="http://gart.codeplex.com/workitem/9985"&gt;
http://gart.codeplex.com/workitem/9985&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;h2&gt;How the toolkit works:&lt;/h2&gt;
&lt;p&gt;ARDisplay is thework horse of the solution. When StartServices is called, ARDisplay takes care of creating AR services, initializing them and subscribing to their events. When StopServices is called, ARDisplay takes care of unsubscribing from the services
 and freeing their resources. When we say &amp;lsquo;AR Services&amp;rsquo; we're talking about the PhotoCamera (for the background video feed), Location for Lat / Long positioning and Motion for Heading / Attitude. Each of these services can also be individually Enabled
 or Disabled for applications that don&amp;rsquo;t need or want them. For example, you may want to set LocationEnabled to false and set the Location property to a known location while you&amp;rsquo;re developing at home.&lt;br&gt;
&lt;br&gt;
The next part of the solution are the individual views (or layers) that can be added as children to ARDisplay. Currently there are four:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;HeadingIndicator&lt;/strong&gt; &amp;ndash; Draws a circle with a cone that rotates to show the users heading. Good for layering on top of a map.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OverheadMap&lt;/strong&gt; &amp;ndash; Displays a Bing map that remains centered on the users location. Normally the map is fixed to &amp;lsquo;North Up&amp;rsquo; but it can also rotate to the users heading.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;VideoPreview&lt;/strong&gt; &amp;ndash; Essentially a rectangle that displays video from the camera. Normally it&amp;rsquo;s placed as the first (or lowest) layer and it&amp;rsquo;s set to fill the screen, but you can have multiple instances of this layer at different
 sizes and locations. So, for example, you could have an OverheadMap fill the screen with a small video preview in the corner.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;WorldView&lt;/strong&gt; &amp;ndash; Displays a virtual world in 3D space and applies matrix math to keep the virtual world aligned with what&amp;rsquo;s seen through the camera.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
As mentioned above, it&amp;rsquo;s easy for you to create your own views as well. The minimum requirement for a view is to implement the IARView interface. This interface has three properties:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Attitude (Matrix)&lt;/strong&gt; &amp;ndash; The current matrix in 3D space for the rotation of the device.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AttitudeHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;facing&lt;/em&gt; in degrees. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Location (GeoCoordinate)&lt;/strong&gt; &amp;ndash; The lat / long / altitude of the user as well as the heading they are traveling in.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;TravelHeading (double)&lt;/strong&gt; &amp;ndash; The current heading that the user is
&lt;em&gt;traveling&lt;/em&gt; in degrees. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Note the difference between facing and traveling. A person can be driving north on the freeway but looking west out the window.&lt;br&gt;
&lt;br&gt;
The IARView interface is all you need to implement if you want to indicate where the user is or where they&amp;rsquo;re looking. If you want to create a view that also shows the items around the user, you&amp;rsquo;ll need to implement the IARItemsView interface. IARItemsView
 adds one additional property:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARItems (ObservableCollection&amp;lt;ARItem&amp;gt;)&lt;/strong&gt; &amp;ndash; The collection of items that should be rendered in relation to the current Location, Heading and Attitude of the user.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;br&gt;
Any control can implement the interfaces listed above and get notified when their values change. However, it&amp;rsquo;s probably easiest to inherit from one of the base controls we provide:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ARView&lt;/strong&gt; &amp;ndash; Implements the IARView interface as a set of dependency properties and bubbles any changes up as OnPropertyChanged overrides.
&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARRotateView&lt;/strong&gt; &amp;ndash; Inherits from ARView and adds the property RotationSource which can be set to North, TravelHeading or AttitudeHeading. It then provides a bindable Rotation property to be used in Xaml markup. HeadingIndicator and OverheadMap
 both inherit from this class. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;ARItemsView&lt;/strong&gt; &amp;ndash; Inherits from ListBox and implements IARView and IARItemsView. This base class can be used for building views that render the individual items to be displayed. WorldView inherits from this class.
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>piotrw</author><pubDate>Tue, 26 Mar 2013 21:40:34 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20130326094034P</guid></item><item><title>New Comment on "Documentation"</title><link>http://gart.codeplex.com/documentation?&amp;ANCHOR#C26773</link><description>Is there anyway to change the detection distance of ARItem&amp;#63;</description><author>JSiancas</author><pubDate>Mon, 04 Mar 2013 20:12:56 GMT</pubDate><guid isPermaLink="false">New Comment on "Documentation" 20130304081256P</guid></item><item><title>Updated Wiki: Home</title><link>http://gart.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Using GART? &lt;/h1&gt;If so we wanna hear about it. We just created a discussion thread where you can &lt;a href="http://gart.codeplex.com/discussions/276755"&gt;tell us about your app&lt;/a&gt;. When your app is available in marketplace let us know so we can feature you on the &lt;a href="http://gart.codeplex.com/wikipage?title=Apps%20Using%20GART" class="externalLink"&gt;Apps Using GART&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; page. We might even highlight you on the homepage here too!&lt;br /&gt;
&lt;h2&gt;Project description&lt;/h2&gt;GART was created to help people quickly and easily build Augmented Reality applications for Windows Phone.&lt;br /&gt;&lt;br /&gt;This kit is different from other AR kits in that it enables what we call “Geo AR”. Where other toolkits place virtual things on top of specially printed tags, this toolkit places information on top of real places in the world around you. It does this by tracking where you are and the direction you’re facing. &lt;br /&gt;&lt;br /&gt;Geo AR apps are easy to write because all you need to provide is a collection of objects that have Latitudes and Longitudes. These can come from anywhere, for example a Bing restaurant search, a Flickr photo search or a Wikipedia article search. The framework then takes care of managing sensors and tracking where the user is in relation to the reference points. It can show where the points are in relation to user from a top-down perspective (on a map) or it can show where the points are as a virtual lens into the real world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please note&lt;/b&gt; that GART makes heavy use of the &lt;a href="http://msdn.microsoft.com/en-us/library/hh239189(v=VS.92).aspx" class="externalLink"&gt;Motion&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; APIs shipping with Windows Phone Mango (OS 7.5). You will need a motion-enabled device to use GART. This should include all devices that ship with 7.5 as well as many of the existing 7.0 devices that have been upgraded to 7.5. The emulator, unfortunately, does not currently support Motion APIs. GART will fail gracefully if motion is not supported by raising the ARDisplay.ServiceError event.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;If you don&amp;#39;t have the Windows Phone SDK yet, grab it &lt;a href="http://aka.ms/wp7sdk" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. For help on getting strted with the toolkit see our guide on the &lt;a href="http://gart.codeplex.com/documentation" class="externalLink"&gt;Documentation&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; tab.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Show me some video!&lt;/h2&gt;Probably the easiest way to introduce the kit is through a quick 3 minute&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=KbwgscMXRhs&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you want a shorter intro that jumps directly into a demo without describing the kit, that’s this&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=NhF9otraJrA&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;About the author&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=gart&amp;DownloadId=294536" alt="JaredSmall.jpg" title="JaredSmall.jpg" /&gt;&lt;br /&gt;GART was created by Jared Bienz, a Microsoft employee living in Houston Texas. Jared helps developers build applications for Windows Phone, so if you build something cool with GART he&amp;#39;d love to hear about it.&lt;br /&gt;Blog: &lt;a href="http://jaredbienz.wordpress.com" class="externalLink"&gt;jaredbienz.wordpress.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;E-Mail: &lt;a href="mailto://jbienz@microsoft.com" class="externalLink"&gt;jbienz@microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Twitter: &lt;a href="http://www.twitter.com/jbienz" class="externalLink"&gt;@jbienz&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Fri, 21 Oct 2011 18:09:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111021060925P</guid></item><item><title>Updated Wiki: Apps Using GART</title><link>http://gart.codeplex.com/wikipage?title=Apps Using GART&amp;version=2</link><description>&lt;div class="wikidoc"&gt;Coming soon...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Fri, 21 Oct 2011 18:01:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Apps Using GART 20111021060106P</guid></item><item><title>Updated Wiki: Apps Using GART</title><link>http://gart.codeplex.com/wikipage?title=Apps Using GART&amp;version=1</link><description>&lt;div class="wikidoc"&gt;Coming soon...&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Fri, 21 Oct 2011 17:52:56 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Apps Using GART 20111021055256P</guid></item><item><title>Updated Wiki: Home</title><link>http://gart.codeplex.com/wikipage?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project description&lt;/h2&gt;GART was created to help people quickly and easily build Augmented Reality applications for Windows Phone.&lt;br /&gt;&lt;br /&gt;This kit is different from other AR kits in that it enables what we call “Geo AR”. Where other toolkits place virtual things on top of specially printed tags, this toolkit places information on top of real places in the world around you. It does this by tracking where you are and the direction you’re facing. &lt;br /&gt;&lt;br /&gt;Geo AR apps are easy to write because all you need to provide is a collection of objects that have Latitudes and Longitudes. These can come from anywhere, for example a Bing restaurant search, a Flickr photo search or a Wikipedia article search. The framework then takes care of managing sensors and tracking where the user is in relation to the reference points. It can show where the points are in relation to user from a top-down perspective (on a map) or it can show where the points are as a virtual lens into the real world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please note&lt;/b&gt; that GART makes heavy use of the &lt;a href="http://msdn.microsoft.com/en-us/library/hh239189(v=VS.92).aspx" class="externalLink"&gt;Motion&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; APIs shipping with Windows Phone Mango (OS 7.5). You will need a motion-enabled device to use GART. This should include all devices that ship with 7.5 as well as many of the existing 7.0 devices that have been upgraded to 7.5. The emulator, unfortunately, does not currently support Motion APIs. GART will fail gracefully if motion is not supported by raising the ARDisplay.ServiceError event.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;If you don&amp;#39;t have the Windows Phone SDK yet, grab it &lt;a href="http://aka.ms/wp7sdk" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. For help on getting strted with the toolkit see our guide on the &lt;a href="http://gart.codeplex.com/documentation" class="externalLink"&gt;Documentation&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; tab.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Show me some video!&lt;/h2&gt;Probably the easiest way to introduce the kit is through a quick 3 minute&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=KbwgscMXRhs&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you want a shorter intro that jumps directly into a demo without describing the kit, that’s this&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=NhF9otraJrA&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;About the author&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=gart&amp;DownloadId=294536" alt="JaredSmall.jpg" title="JaredSmall.jpg" /&gt;&lt;br /&gt;GART was created by Jared Bienz, a Microsoft employee living in Houston Texas. Jared helps developers build applications for Windows Phone, so if you build something cool with GART he&amp;#39;d love to hear about it.&lt;br /&gt;Blog: &lt;a href="http://jaredbienz.wordpress.com" class="externalLink"&gt;jaredbienz.wordpress.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;E-Mail: &lt;a href="mailto://jbienz@microsoft.com" class="externalLink"&gt;jbienz@microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Twitter: &lt;a href="http://www.twitter.com/jbienz" class="externalLink"&gt;@jbienz&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Thu, 20 Oct 2011 04:52:48 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111020045248A</guid></item><item><title>Updated Wiki: Home</title><link>http://gart.codeplex.com/wikipage?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project description&lt;/h2&gt;GART was created to help people quickly and easily build Augmented Reality applications for Windows Phone.&lt;br /&gt;&lt;br /&gt;This kit is different from other AR kits in that it enables what we call “Geo AR”. Where other toolkits place virtual things on top of specially printed tags, this toolkit places information on top of real places in the world around you. It does this by tracking where you are and the direction you’re facing. &lt;br /&gt;&lt;br /&gt;Geo AR apps are easy to write because all you need to provide is a collection of objects that have Latitudes and Longitudes. These can come from anywhere, for example a Bing restaurant search, a Flickr photo search or a Wikipedia article search. The framework then takes care of managing sensors and tracking where the user is in relation to the reference points. It can show where the points are in relation to user from a top-down perspective (on a map) or it can show where the points are as a virtual lens into the real world.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please note&lt;/b&gt; that GART makes heavy use of the &lt;a href="http://msdn.microsoft.com/en-us/library/hh239189(v=VS.92).aspx" class="externalLink"&gt;Motion&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; APIs shipping with Windows Phone Mango (OS 7.5). You will need a motion-enabled device to use GART. This should include all devices that ship with 7.5 as well as many of the existing 7.0 devices that have been upgraded to 7.5. The emulator, unfortunately, does not currently support Motion APIs. GART will fail gracefully if motion is not supported by raising the ARDisplay.ServiceError event.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Getting Started&lt;/h2&gt;For help on getting strted with the toolkit see our guide on the &lt;a href="http://gart.codeplex.com/documentation" class="externalLink"&gt;Documentation&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; tab.&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Show me some video!&lt;/h2&gt;Probably the easiest way to introduce the kit is through a quick 3 minute&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/KbwgscMXRhs&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=KbwgscMXRhs&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If you want a shorter intro that jumps directly into a demo without describing the kit, that’s this&lt;br /&gt;&lt;div style="text-align:left;float:left;"&gt;video:&lt;div class="video" style="text-align:Center"&gt;&lt;span class="player"&gt;&lt;object height="285px" width="320px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed height="285px" width="320px" type="application/x-shockwave-flash" wmode="transparent" src="http://www.youtube.com/v/NhF9otraJrA&amp;amp;hd=1" /&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="external"&gt;&lt;a href="http://www.youtube.com/watch?v=NhF9otraJrA&amp;amp;hd=1" target="_blank"&gt;Launch in another window&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="clear:both;height:0;"&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;About the author&lt;/h2&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=gart&amp;DownloadId=294536" alt="JaredSmall.jpg" title="JaredSmall.jpg" /&gt;&lt;br /&gt;GART was created by Jared Bienz, a Microsoft employee living in Houston Texas. Jared helps developers build applications for Windows Phone, so if you build something cool with GART he&amp;#39;d love to hear about it.&lt;br /&gt;Blog: &lt;a href="http://jaredbienz.wordpress.com" class="externalLink"&gt;jaredbienz.wordpress.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;E-Mail: &lt;a href="mailto://jbienz@microsoft.com" class="externalLink"&gt;jbienz@microsoft.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Twitter: &lt;a href="http://www.twitter.com/jbienz" class="externalLink"&gt;@jbienz&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jaredbienz</author><pubDate>Wed, 19 Oct 2011 18:43:26 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111019064326P</guid></item></channel></rss>