# Grasshopper.Kernel.Types namespace

Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

## Interfaces

- [IGH_FieldElement](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-fieldelement.md): Represents the basic interface for field elements.
- [IGH_GeometricGoo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-geometricgoo.md): Base interface for all Data inside Grasshoper that could pass for Geometry
- [IGH_Goo](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-goo.md): Base interface for all Data inside Grasshopper. Every parameter must implement a type of Goo.
- [IGH_GooProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-gooproxy.md): Base interface for all type proxies.
- [IGH_QuickCast](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-quickcast.md): IGH_QuickCast allows certain components to speed up type detection for inputs. This interface is a Grasshopper core interface only, do not implement it. Do not use it.
- [IGH_ReferencedData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.igh-referenceddata.md)

## Structs

- [Complex](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.complex.md): Complex number type in Grasshopper. Do not confuse with GH_Complex which is the IGH_Goo implementation of ComplexNumber.
- [UVInterval](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.uvinterval.md): UVInterval data type. Do not confuse this with GH_Interval2D.

## Classes

- [GH_AngularDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-angulardimension.md): Represents an implementation of a Rhino angular dimension.
- [GH_AnnotationBase](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-annotationbase.md): Represents an implementation of a Rhino annotation base class.
- [GH_AnnotationBase.GH_AnnotationBaseProxy<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-annotationbase.gh-annotationbaseproxy-1.md)
- [GH_Arc](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-arc.md): Represents a 3D circular arc. GH_Arc re-implements the OpenNURBS OnArc class.
- [GH_Boolean](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-boolean.md): Represents a boolean value. GH_Boolean re-implements the framework System.Boolean type.
- [GH_Box](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-box.md): Represents a 3D oriented Box volume.
- [GH_Box.GH_BoxProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-box.gh-boxproxy.md)
- [GH_Brep](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-brep.md): Represents a 3D polysurface. GH_Brep wraps the functionality of the OpenNURBS OnBrep class.
- [GH_Brep.GH_BrepProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-brep.gh-brepproxy.md)
- [GH_Centermark](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-centermark.md): Represents an implementation of a Rhino centermark.
- [GH_Circle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-circle.md): Represents a 3D circle. GH_Circle re-implements the OpenNURBS OnCircle class.
- [GH_Circle.GH_CircleProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-circle.gh-circleproxy.md): Proxy description of GH_Circle class. This class is used by the Generic Multivalue interfaces.
- [GH_ClippingPlane](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-clippingplane.md): Represents an implementation of a Rhino clipping plane.
- [GH_ClippingPlane.GH_ClippingPlaneProxy<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-clippingplane.gh-clippingplaneproxy-1.md)
- [GH_Colour](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-colour.md): Represents an ARGB colour. GH_Colour re-implements the framework System.Drawing.Color type.
- [GH_ComplexNumber](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-complexnumber.md): Wraps up the Complex data type for IGH_Goo adherence.
- [GH_Culture](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-culture.md): Represents a globally unique identifier. GH_Guid re-implements the framework System.Guid type.
- [GH_Curve](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-curve.md): Represents a 3D spline curve.
- [GH_Curve.GH_CurveProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-curve.gh-curveproxy.md): Proxy description of GH_Curve class. This class is used by the Generic Multivalue interfaces.
- [GH_DetailView](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-detailview.md): Represents a Rhino model detail view. Wraps the functionality of the [DetailView](https://mcneel-apidocs-rhinocommon-7f6eb10c6967.herokuapp.com/api/rhinocommon/type/rhino.geometry.detailview/) type.
- [GH_Dimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-dimension.md): Represents an implementation of a Rhino dimension base class.
- [GH_Dimension.GH_DimensionProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-dimension.gh-dimensionproxy.md)
- [GH_Extrusion](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-extrusion.md): Represents a 3D extrusion. GH_Extrusion wraps the functionality of the OpenNURBS OnExtrusion class.
- [GH_Extrusion.GH_ExtrusionProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-extrusion.gh-extrusionproxy.md)
- [GH_Field](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-field.md): Represents a field of forces.
- [GH_FieldElement](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-fieldelement.md): Abstract implementation of IGH_FieldElement, derive from this class rather than implementing IGH_FieldElement to save yourself time and effort.
- [GH_GeometricGoo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoo-1.md): Abstract base implementation of IGH_GeometricGoo. If you implement IGH_GeometricGoo, use this for a booster.
- [GH_GeometricGooWrapper](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoowrapper.md): Utility class for maintaining all kinds of IGH_GeometricGoo types.
- [GH_GeometryGroup](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometrygroup.md)
- [GH_GeometryGroup.GH_GeometryGroupProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometrygroup.gh-geometrygroupproxy.md)
- [GH_Goo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1.md): Base class for IGH_Goo implementation. Takes care of some default behaviour.
- [GH_GooProxy<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-gooproxy-1.md): Abstract base implementation of IGH_GooProxy
- [GH_Guid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-guid.md): Represents a globally unique identifier. GH_Guid re-implements the framework System.Guid type.
- [GH_Hatch](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch.md): Represents an implementation of a Rhino hatch.
- [GH_Hatch.GH_HatchProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch.gh-hatchproxy.md)
- [GH_InstanceReference](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference.md): Represents block instance reference. Wraps the functionality of the [InstanceReferenceGeometry](https://mcneel-apidocs-rhinocommon-7f6eb10c6967.herokuapp.com/api/rhinocommon/type/rhino.geometry.instancereferencegeometry/) type.
- [GH_InstanceReference.GH_InstanceReferenceProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference.gh-instancereferenceproxy.md)
- [GH_Integer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-integer.md): Represents a 32-bit signed integer. GH_Integer re-implements the framework System.Int32 type.
- [GH_Interval](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-interval.md): Represents a one-dimensional numeric domain.
- [GH_Interval2D](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-interval2d.md): Represents a two-dimensional numeric domain.
- [GH_Interval2D.GH_Interval2DProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-interval2d.gh-interval2dproxy.md): Proxy description of GH_Interval class. This class is used by the Generic Multivalue interfaces.
- [GH_Leader](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-leader.md): Represents an implementation of a Rhino leader.
- [GH_Light](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-light.md): Represents an implementation of a Rhino Light class.
- [GH_Line](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-line.md): Represents a 3D line segment. GH_Line re-implements the OpenNURBS OnLine class.
- [GH_Line.GH_LineProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-line.gh-lineproxy.md): Proxy description of GH_Line class. This class is used by the Generic Multivalue interfaces.
- [GH_LinearDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-lineardimension.md): Represents an implementation of a Rhino linear dimension.
- [GH_LineCharge](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-linecharge.md): Line charge implementation for IGH_Fields.
- [GH_LonLatCoordinate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-lonlatcoordinate.md)
- [GH_Material](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-material.md): Represents a implementation of the Rhino material
- [GH_Material.GH_Material_Proxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-material.gh-material-proxy.md)
- [GH_Matrix](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-matrix.md): Represents a rectangular numeric matrix. GH_Integer re-implements Rhino.Geometry.Matrix.
- [GH_Mesh](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-mesh.md): Represents a 3D polygonal mesh composed of quads and tris. GH_MEsh wraps the functionality of the OpenNURBS OnMesh class.
- [GH_Mesh.GH_MeshProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-mesh.gh-meshproxy.md)
- [GH_MeshFace](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-meshface.md): Represents a tri or quad mesh face. GH_MeshFace works similar to the OpenNURBS OnMeshFace class.
- [GH_MeshFace.GH_MeshFaceProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-meshface.gh-meshfaceproxy.md): Proxy description of GH_MeshFace class. This class is used by the Generic Multivalue interfaces.
- [GH_MeshingParameters](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-meshingparameters.md)
- [GH_MeshingParameters.RhMesherSettings_Proxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-meshingparameters.rhmeshersettings-proxy.md)
- [GH_Number](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-number.md): Represents a double-precision floating point number. GH_Number re-implements the framework System.Double type.
- [GH_ObjectWrapper](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-objectwrapper.md)
- [GH_OrdinateDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-ordinatedimension.md): Represents an implementation of a Rhino ordinate dimension.
- [GH_Plane](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-plane.md): Represents a 3D plane. GH_Plane re-implements the OpenNURBS OnPlane class.
- [GH_Plane.GH_PlaneProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-plane.gh-planeproxy.md): Proxy description of GH_Plane class. This class is used by the Generic Multivalue interfaces.
- [GH_Point](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-point.md)
- [GH_Point.GH_PointProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-point.gh-pointproxy.md)
- [GH_PointCharge](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointcharge.md): Point charge implementation for IGH_Fields.
- [GH_PointCloud](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointcloud.md): Represents a point cloud.
- [GH_PointCloud.PointCloudProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointcloud.pointcloudproxy.md)
- [GH_PointRefData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointrefdata.md)
- [GH_PointUtil](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointutil.md)
- [GH_Predicate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-predicate.md)
- [GH_RadialDimension](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-radialdimension.md): Represents an implementation of a Rhino radial dimension.
- [GH_Rectangle](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-rectangle.md): Represents a 3D rectangle. GH_Rectangle re-implements the RhinoCommon Rectangle3d.
- [GH_Rectangle.GH_RectangleProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-rectangle.gh-rectangleproxy.md): Proxy description of GH_Rectangle class. This class is used by the Generic Multivalue interfaces.
- [GH_SpinForce](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-spinforce.md): Rotational spin force for IGH_Fields.
- [GH_String](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-string.md): Represents a literal string. GH_String re-implements the framework System.String type.
- [GH_StructurePath](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-structurepath.md)
- [GH_SubD](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-subd.md): Represents a 3D subdivision surface.
- [GH_SubD.GH_SubDProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-subd.gh-subdproxy.md)
- [GH_Surface](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-surface.md): Represents a 3D (trimmed) surface. GH_Surface wraps the functionality of the OpenNURBS OnBrepFace class.
- [GH_Surface.GH_SurfaceProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-surface.gh-surfaceproxy.md)
- [GH_TextDot](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-textdot.md): Represents an implementation of a Rhino text dot.
- [GH_TextDot.GH_TextDotProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-textdot.gh-textdotproxy.md)
- [GH_TextEntity](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-textentity.md): Represents an implementation of a Rhino text entity.
- [GH_Time](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-time.md): Represents a date and time. GH_Time re-implements the framework System.DateTime type.
- [GH_Transform](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-transform.md): Represents a collection of transformations.
- [GH_Vector](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-vector.md): Represents a 3D vector. GH_Vector re-implements the RhinoCommon Vector3d struct.
- [GH_Vector.GH_VectorProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-vector.gh-vectorproxy.md): Proxy description of GH_Vector class. This class is used by the Generic Multivalue interfaces.
- [GH_VectorForce](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-vectorforce.md): Linear vector force implementation for IGH_Fields.
- [GH_WrapperType<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-wrappertype-1.md): Defines basic implementation for a wrapper data type.

## Enums

- [GH_DifferentialSolver](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-differentialsolver.md): Enumerates all implemented differential samplers.
- [GH_Material.MaterialType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-material.materialtype.md): Enumerates the possible material types.
- [GH_PointRefType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-pointreftype.md)
- [GH_QuickCastType](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-quickcasttype.md): Enumerates the QuickCast data types.
