# IShape interface

Namespace: [Grasshopper2.UI.Canvas.Shapes](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.canvas.shapes.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public interface IShape : IStorable
```

Base interface for all canvas vector shapes.

**Derived types:** [ArcShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.arcshape.md), [BezierShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.beziershape.md), [CircleShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.circleshape.md), [LineShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.lineshape.md), [RectangleShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.rectangleshape.md)

## Properties

- [Grips](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/grips.md): Gets all the grips for this shape.
- [Nomen](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/nomen.md): Gets a description of this shape.

## Methods

- [Bounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/bounds.md): Compute the bounds for this shape.
- [Coincident](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/coincident.md): Test for point-shape coincidence.
- [DragGrips](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/draggrips.md): Modify this shape via grip dragging.
- [DrawShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/drawshape.md): Draw the shape.
- [Translate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.canvas.shapes.ishape/translate.md): Move this shape.

## Inherited Members

- From [IStorable](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable.md): [Store](https://developer.rhino3d.com/api/gh2/type/grasshopperio.istorable/store.md)
