This documentation is archived and is not being maintained.

IShape Interface

A shape on a diagram that shows a view of an element in a model. Some types of model element can have more than one shape. Some shapes are composed of other shapes. For example, a class shape contains shapes for each attribute and operation. Shapes have graphical properties such as color and position.

Namespace:  Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation
Assembly:  Microsoft.VisualStudio.ArchitectureTools.Extensibility (in Microsoft.VisualStudio.ArchitectureTools.Extensibility.dll)

public interface IShape

The IShape type exposes the following members.

Public propertyChildShapesShapes that are contained within this shape. For example, the attribute and operation rows of a class shape; class shapes contained inside a package shape; ports and parts inside a component. For each ChildShape, ParentShape == this.
Public propertyColorGets or sets the color of the shape.
Public propertyDiagramThe diagram that contains this shape.
Public propertyHeight
Public propertyParentShapeThe shape that contains this shape, or null. If ParentShape is not null, this shape is a member of ParentShape.ChildShapes.
Public propertyWidth
Public propertyXPosition
Public propertyYPosition

Public methodDeleteRemoves the shape from the diagram. This might or might not remove from the model the element that the shape displays. For example, removing a class shape from a class diagram does not remove the UML class from the model.
Public methodGetObject<T>Gets the model element represented by this shape. Supply the type of the result that you want.
Public methodMoveChanges the position and size of the shape.
Public methodToIShape<T>Cast to a type that specifies the type of the element that the shape represents.

Public Extension MethodGetChildShapes<T>Get child shapes that display the specified type of model element. (Defined by PresentationHelpers.)
Public Extension MethodGetElementThe model element that this shape represents. (Defined by IShapeExtensions.)