IXRGeometryCollection (Compact 2013)

3/28/2014

This class represents a collection of IXRGeometry objects.

Syntax

class IXRGeometryCollection : public IXRDependencyObject

Inheritance Hierarchy

IXRDependencyObject

    IXRGeometryCollection

Methods

Method

Description

IXRGeometryCollection::Add

Adds an item to the end of this collection and retrieves the index of where it was added.

IXRGeometryCollection::Clear

Removes all items from this collection.

IXRGeometryCollection::Contains

Determines whether an item is in this collection.

IXRGeometryCollection::GetCount

Retrieves the number of items in this collection.

IXRGeometryCollection::GetItem

Retrieves the item at the specified index in this collection.

IXRGeometryCollection::IndexOf

Searches for the specified item and retrieves the zero-based index of its occurrence within this collection.

IXRGeometryCollection::Insert

Inserts an item into this collection at the location that has the specified index value.

IXRGeometryCollection::Remove

Removes a specific item from this collection.

IXRGeometryCollection::RemoveAt

Removes the item at the specified index from this collection.

Thread Safety

Members of this class are thread safe if you previously called IXRApplication::CreateHostFromXaml and supplied it with an XRWindowCreateParams structure that has AllowsMultipleThreadAccess set to true. Allowing multiple-thread access can have a significant impact on application performance because this option serializes data for all objects in the collection across threads. If you have control over the lifetimes of these objects, it is recommended that you serialize only what is needed to achieve optimal performance.

Remarks

For more information about how to define this collection in the source XAML for your application, see the Microsoft Silverlight 3 documentation.

An IXRGeometryCollection object is not itself a composite geometry, but is used by the IXRGeometryGroup class to store IXRGeometry objects.

You can obtain a pointer to this collection by calling the method IXRGeometryGroup::GetChildren. Then, you can use the methods of this class to add items, remove items, or retrieve items. You can also clear the complete collection by calling the IXRGeometryCollection::Clear method.

You can also create a new collection, as follows:

  1. Use the IXRApplication::CreateObject(IID,Object) method to create an empty IXRGeometryCollection derived object.
  2. Use CreateObject to create multiple IXRGeometry derived objects.
  3. Add each IXRGeometry derived object to the IXRGeometryCollection collection by calling the IXRGeometryCollection::Add method.
  4. Set the new collection for an IXRGeometryGroup object by calling its method IXRGeometryGroup::SetChildren.

When you create a class instance use an IXRGeometryCollectionPtr smart pointer instead of a raw interface pointer. For more information, see XRPtr<Interface>.

You can also define a geometry collection in Silverlight 3 XAML. For information about the differences between XAML in XAML for Windows Embedded and Silverlight 3, see Differences Between Microsoft Silverlight 3 and XAML for Windows Embedded. For more information about how to define this collection in the source XAML for your application, see the GeometryGroup Class on MSDN.

.NET Framework Equivalent

System.Windows.Media.GeometryCollection

Requirements

Header

XamlRuntime.h

sysgen

SYSGEN_XAML_RUNTIME

See Also

Reference

Classes for Collection Management
IXRGeometryGroup::GetChildren
IXRGeometryGroup::SetChildren