# Shape class

Namespace: [Grasshopper2.Imaging.Raycasting](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.imaging.raycasting.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public abstract class Shape
```

Base class for all obstacles during a raycasting process.

**Derived types:** [DiscShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.discshape.md), [InfiniteShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.infiniteshape.md), [PathShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.pathshape.md), [PolygonShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.polygonshape.md), [QuadShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.quadshape.md), [TriShape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapes.trishape.md)

## Properties

- [Bounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shape/bounds.md): Gets the bounding box for this shape.

## Methods

- [IsCoincident](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shape/iscoincident.md): Test whether a specific coordinate is coincident with this obstacle.
- [Overlap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shape/overlap.md): Determine the overlap between this shape and a box.
