ShapeGeometry Class

Represents the geometry for a shape or connector.

Namespace:  Microsoft.VisualStudio.Modeling.Diagrams
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Diagrams (in Microsoft.VisualStudio.Modeling.Sdk.Diagrams.dll)


Public MustInherit Class ShapeGeometry _
    Implements IDisposable
Dim instance As ShapeGeometry
public abstract class ShapeGeometry : IDisposable
public ref class ShapeGeometry abstract : IDisposable
public abstract class ShapeGeometry implements IDisposable


This class and its derivatives deal with operations and calculations associated with the outline of the shape. There is a subclass for each of the major kinds of shape, such as ImageShapeGeometry, CompartmentShapeGeometry, and LinkShapeGeometry. By default, your shape or connector class is associated with one of these standard geometry classes.

To override functions of ShapeGeometry:

  • Create your own class derived from one of the standard subclasses of ShapeGeometry. Do not add state variables to this class.

  • In your shape class, override the ShapeGeometry property to return an instance of your ShapeGeometry subclass.

ShapeGeometry is a lightweight class – it has no state, so that you can share an instance between all the instances of a shape class.

Inheritance Hierarchy


Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also


ShapeGeometry Members

Microsoft.VisualStudio.Modeling.Diagrams Namespace

Change History




Added descriptions of class and members.

Information enhancement.