# Rhino.Runtime.InteropWrappers namespace

Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

## Classes

- [ClassArrayObjRef](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.classarrayobjref.md): Represents a wrapper to an unmanaged "array" (list) of CRhinoObjRef instances. Wrapper for a C++ ON_ClassArray of CRhinoObjRef
- [ClassArrayOnObjRef](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.classarrayonobjref.md): Represents a wrapper to an unmanaged "array" (list) of ON_ObjRef instances. Wrapper for a C++ ON_ClassArray of ON_ObjRef
- [ClassArrayString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.classarraystring.md): Wrapper for a C++ ON_ClassArray<ON_wString> If you are not writing C++ code then this class is not for you.
- [SimpleArray2dex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearray2dex.md): Wrapper for ON_SimpleArray<ON_2dex>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayArrayPoint3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayarraypoint3d.md): Wrapper for ON_SimpleArray<ON_PolyLine*>, ON_SimpleArray<ON_3dPointArray*> If you are not writing C++ code then this class is not for you.
- [SimpleArrayBinaryArchiveReader](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraybinaryarchivereader.md): Wrapper for ON_SimpleArray<ON_BinaryArchive>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayBrepPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraybreppointer.md): Wrapper for a C++ ON_SimpleArray<ON_Brep*> or ON_SimpleArray<constant ON_Brep*> If you are not writing C++ code then this class is not for you.
- [SimpleArrayByte](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraybyte.md): Wrapper for ON_SimpleArray<unsigned char>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayClippingPlaneObjectPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayclippingplaneobjectpointer.md): ON_SimpleArray of CRhinoClippingPlaneObject*
- [SimpleArrayCurvePointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraycurvepointer.md): Wrapper for a C++ ON_SimpleArray of ON_Curve* or constant ON_Curve*. If you are not writing C++ code, then you can ignore this class.
- [SimpleArrayDouble](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraydouble.md): Wrapper for ON_SimpleArray<double>. If you are not writing C++ code, then this class is not for you.
- [SimpleArrayExtrusionPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayextrusionpointer.md): Wrapper for a C++ ON_SimpleArray<ON_Extrusion*> or ON_SimpleArray<constant ON_Extrusion*> If you are not writing C++ code then this class is not for you.
- [SimpleArrayFloat](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayfloat.md): Wrapper for ON_SimpleArray<float>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayGeometryPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraygeometrypointer.md): Wrapper for a C++ ON_SimpleArray<ON_Geometry*>* or ON_SimpleArray<constant ON_Geometry*>. If you are not writing C++ code, then this class is not for you.
- [SimpleArrayGuid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayguid.md): Wrapper for ON_SimpleArray<ON_UUID>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayGuidPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayguidpointer.md): Wrapper for ON_SimpleArray<ON_UUID>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayHatchLinePointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayhatchlinepointer.md): Wrapper for a C++ ON_SimpleArray of ON_HatchLine*. If you are not writing C++ code, then you can ignore this class.
- [SimpleArrayInt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayint.md): Wrapper for ON_SimpleArray<int>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayInterval](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayinterval.md): Wrapper for ON_SimpleArray<ON_Interval>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayIntPtr](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayintptr.md): Wrapper for ON_SimpleArray<IntPtr>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayline.md): Wrapper for ON_SimpleArray<ON_Line>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayLinetypePointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraylinetypepointer.md): Wrapper for a C++ ON_SimpleArray<ON_Linetype*> If you are not writing C++ code then this class is not for you.
- [SimpleArrayMeshFace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraymeshface.md): Wrapper for ON_SimpleArray<ON_MeshFace>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayMeshPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraymeshpointer.md): Represents a wrapper to an unmanaged array of mesh pointers. Wrapper for a C++ ON_SimpleArray of ON_Mesh* or constant ON_Mesh*. If you are not writing C++ code then this class is not for you.
- [SimpleArrayPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayplane.md): Wrapper for ON_SimpleArray<ON_Plane>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayPoint2d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraypoint2d.md): ON_SimpleArray<ON_2dPoint> class wrapper. If you are not writing C++ code then this class is not for you.
- [SimpleArrayPoint3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraypoint3d.md): ON_SimpleArray<ON_3dPoint>, ON_3dPointArray, ON_PolyLine all have the same size This class wraps all of these C++ versions. If you are not writing C++ code then this class is not for you.
- [SimpleArraySubDPointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraysubdpointer.md): Wrapper for a C++ ON_SimpleArray<ON_SubD*> or ON_SimpleArray<constant ON_SubD*> If you are not writing C++ code then this class is not for you.
- [SimpleArraySurfacePointer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearraysurfacepointer.md): Wrapper for a C++ ON_SimpleArray of ON_Surface* or constant ON_Surface*. If you are not writing C++ code then this class is not for you.
- [SimpleArrayUint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayuint.md): Wrapper for ON_SimpleArray<unsigned int>. If you are not writing C++ code then this class is not for you.
- [SimpleArrayVector3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.simplearrayvector3d.md): ON_SimpleArray<ON_3dVector>, ON_3dVectorArray all have the same size This class wraps all of these C++ versions. If you are not writing C++ code then this class is not for you.
- [StdVectorByte](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stdvectorbyte.md): Wrapper for std::vector<unsigned char>. If you are not writing C++ code then this class is not for you.
- [StdVectorFloat](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stdvectorfloat.md): Wrapper for ON_SimpleArray<float>. If you are not writing C++ code then this class is not for you.
- [StdVectorGuid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stdvectorguid.md): Wrapper for std::vector<ON_UUID>. If you are not writing C++ code then this class is not for you.
- [StdVectorOfSharedPtrToMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stdvectorofsharedptrtomesh.md): Represents a wrapper to an unmanaged array of mesh pointers. Wrapper for a C++ ON_SimpleArray of ON_Mesh* or constant ON_Mesh*. If you are not writing C++ code then this class is not for you.
- [StringHolder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stringholder.md): This class is used to pass strings back and forth between managed and unmanaged code. This should not be needed by plug-ins. If you are just dealing with an ON_wString*, use [StringWrapper](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stringwrapper.md)
- [StringWrapper](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.stringwrapper.md): Represents a wrapper to an unmanaged OpenNurbs string. Wraps a C++ ON_wString*.

## Structs

- [CurveSegment](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.curvesegment.md): For internal use only.
- [MeshPointDataStruct](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.meshpointdatastruct.md): This is only needed when passing values to the Rhino C++ core, ignore for .NET plug-ins.
- [RhDisplayPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.interopwrappers.rhdisplaypoint.md)
