The MyScene function calls the SetMyPositions function to set the positions and orientations of the frames used in Helworld.c. SetMyPositions does this work by calling the IDirect3DRMFrame::SetPosition and IDirect3DRMFrame::SetOrientation methods. The IDirect3DRMFrame::SetRotation method imparts a spin to the frame to which the sphere will be added.
/////////////////////////////////////////////////////////////////////
//
// SetMyPositions
// Set the positions and orientations of the light, camera, and
// world frames. Establish a rotation for the globe.
//
/////////////////////////////////////////////////////////////////////
void SetMyPositions(LPDIRECT3DRMFRAME lpScene,
LPDIRECT3DRMFRAME lpCamera, LPDIRECT3DRMFRAME lpLightFrame1,
LPDIRECT3DRMFRAME lpWorld_frame)
{
lpLightFrame1->lpVtbl->SetPosition(lpLightFrame1, lpScene,
D3DVAL(2), D3DVAL(0.0), D3DVAL(22));
lpCamera->lpVtbl->SetPosition(lpCamera, lpScene,
D3DVAL(0.0), D3DVAL(0.0), D3DVAL(0.0));
lpCamera->lpVtbl->SetOrientation(lpCamera, lpScene,
D3DVAL(0.0), D3DVAL(0.0), D3DVAL(1),
D3DVAL(0.0), D3DVAL(1), D3DVAL(0.0));
lpWorld_frame->lpVtbl->SetPosition(lpWorld_frame, lpScene,
D3DVAL(0.0), D3DVAL(0.0), D3DVAL(15));
lpWorld_frame->lpVtbl->SetOrientation(lpWorld_frame, lpScene,
D3DVAL(0.0), D3DVAL(0.0), D3DVAL(1),
D3DVAL(0.0), D3DVAL(1), D3DVAL(0.0));
lpWorld_frame->lpVtbl->SetRotation(lpWorld_frame, lpScene,
D3DVAL(0.0), D3DVAL(0.1), D3DVAL(0.0), D3DVAL(0.05));
}