such as the CreateTeapot function - http://msdn.microsoft.com/en-us/library/windows/desktop/bb172798(v=vs.85).aspx
Is there an equivalent in DX10? If so, how do I use it?
In DX9 you..
Declared:
LPD3DXMESH meshTeapot;
Initialised:
D3DXCreateTeapot(device, &meshTeapot, NULL);
Drew:
meshTeapot->DrawSubset(0);
Released:
meshTeapot->Release();
Is there an equivalent set of methods for drawing primitives? (to be honest the sphere is of more interest to me than the teapot!)
The D3DX library changed quite a bit from DirectX9 to DirectX11. Many of the helper functions were removed, including the shape drawing ones. However, DirectX11's DXUT library contains many of those functions you are looking for. In the DXUTOptional project, there is a DXUTShaped.h file, which contains DXUTCreateTeapot(). Here are all of the shape creation functions it supports...
HRESULT WINAPI DXUTCreateBox( ID3D10Device* pDevice, float fWidth, float fHeight, float fDepth, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateCylinder( ID3D10Device* pDevice, float fRadius1, float fRadius2, float fLength, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreatePolygon( ID3D10Device* pDevice, float fLength, UINT uSides, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateSphere( ID3D10Device* pDevice, float fRadius, UINT uSlices, UINT uStacks, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateTorus( ID3D10Device* pDevice, float fInnerRadius, float fOuterRadius, UINT uSides, UINT uRings, ID3DX10Mesh** ppMesh );
HRESULT WINAPI DXUTCreateTeapot( ID3D10Device* pDevice, ID3DX10Mesh** ppMesh );
You can find the DXUT library where you installed the DirectX SDK. Mine is at "C:\Program Files (x86)\Microsoft DirectX SDK (August 2009)\Samples\C++\DXUT11"
If you do not want to use DXUT in your project, you can just look at the source code in the DXUTOptional project and adapt it for you own purposes. All of DXUT's source code is available in the DXUTCore and DXUTOptional projects.
Good luck!