# IGH_PreviewObject interface

Namespace: [Grasshopper.Kernel](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public interface IGH_PreviewObject
```

All IGH_DocumentObjects that wish to participate in Viewport redraws must implement this interface.

**Derived types:** [GH_CustomPreviewComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-custompreviewcomponent.md), [GH_DataRecorder](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-datarecorder.md), [GH_GeometryCache](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-geometrycache.md), [GH_GeometryPipeline](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-geometrypipeline.md), [GH_ItemPicker](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-itempicker.md), [GH_ParamViewer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-paramviewer.md), [GH_ValueList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-valuelist.md), [IGH_Component](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-component.md), [IGH_ScriptInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-scriptinstance.md), [Param_AngularDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-angulardimension.md), [Param_Arc](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-arc.md), [Param_Box](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-box.md), [Param_Brep](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-brep.md), [Param_Centermark](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-centermark.md), [Param_Circle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-circle.md), [Param_ClippingPlane](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-clippingplane.md), [Param_Curve](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-curve.md), [Param_DisplayColorGradient](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.display.params.param-displaycolorgradient.md), [Param_Extrusion](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-extrusion.md), [Param_Field](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-field.md), [Param_GenericObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-genericobject.md), [Param_Geometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-geometry.md), [Param_Group](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-group.md), [Param_Hatch](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-hatch.md), [Param_InstanceReference](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-instancereference.md), [Param_Leader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-leader.md), [Param_Light](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-light.md), [Param_Line](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-line.md), [Param_LinearDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-lineardimension.md), [Param_Mesh](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-mesh.md), [Param_ModelConstructionPlane](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.display.params.param-modelconstructionplane.md), [Param_ModelInstanceDefinition](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.model.params.param-modelinstancedefinition.md), [Param_ModelObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.model.params.param-modelobject.md), [Param_ModelRenderSun](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.render.params.param-modelrendersun.md), [Param_ModelTextureMapping](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.render.params.param-modeltexturemapping.md), [Param_ModelView](https://developer.rhino3d.com/api/gh1/type/grasshopper.rhinoceros.display.params.param-modelview.md), [Param_OrdinateDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-ordinatedimension.md), [Param_Plane](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-plane.md), [Param_Point](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-point.md), [Param_PointCloud](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-pointcloud.md), [Param_RadialDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-radialdimension.md), [Param_Rectangle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-rectangle.md), [Param_SubD](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-subd.md), [Param_Surface](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-surface.md), [Param_TextDot](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-textdot.md), [Param_TextEntity](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.parameters.param-textentity.md)

## Properties

- [ClippingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject/clippingbox.md): Gets the clipping box for this object. The clipping box is typically the union of the boundingboxes of all the geometry that is drawn by this object.
- [Hidden](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject/hidden.md): Gets or sets a value indicating whether or not this object is currently drawing preview flags.
- [IsPreviewCapable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject/ispreviewcapable.md): Gets a value indicating whether or not this object (in its current state) can draw geometric previews at all.

## Methods

- [DrawViewportMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject/drawviewportmeshes.md): Implement this function to draw all shaded meshes. If the viewport does not support shading, this function will not be called.
- [DrawViewportWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.igh-previewobject/drawviewportwires.md): Implement this function to draw all wire and point geometry previews.
