# Grasshopper2.Imaging.Raycasting namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Interfaces

- [IObjectStack](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.iobjectstack.md): Interface for exposing sampling functionality of a Raycaster.

## Structs

- [Box](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.box.md): Represents a 2D axis aligned bounding box.
- [Ray](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.ray.md): A ray in a raycasting process.
- [Transform2D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.transform2d.md): Represents a transformation matrix for two-dimensional shader coordinate transformations.

## Classes

- [Bucket](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.bucket.md): Represents a single spatial bucket in a raycaster lookup grid.
- [ColourMean](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.colourmean.md): A utility class for computing reasonably accurate averages of colours. This class correctly separates out the alpha and colour contributions. That is, lots of very transparent colours will affect the average alpha, but not the average tint.
- [ColourShader](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.colourshader.md): Base class for all colour shaders.
- [EmptyStack](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.emptystack.md): Implements IObjextStack for an empty collection.
- [Pixel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.pixel.md): A single pixel in a raycasting process.
- [Raycaster](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.raycaster.md): Type for populating images with a raycasting technique.
- [RaycasterBuckets](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.raycasterbuckets.md): Raycasting speed-up for quickly rejecting the bulk of objects.
- [RaycasterSettings](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.raycastersettings.md): Class for collecting all properties needed during a raycasting process.
- [SamplingPattern](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.samplingpattern.md): Static sampling pattern database.
- [Shape](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shape.md): Base class for all obstacles during a raycasting process.
- [ShapeShaderPair](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.shapeshaderpair.md): Represents a single object in a raycasting stack.
- [ValueShader](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.valueshader.md): Base class for all value shaders.

## Enums

- [ColourMeanMapping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.colourmeanmapping.md): Enumerates the various types of RGB colour space mapping to apply to averaging colours.
- [Overlap](https://developer.rhino3d.com/api/gh2/type/grasshopper2.imaging.raycasting.overlap.md): Enumerates the possible overlap types of shapes and boxes.
