Create two V3d_Views using the same V3d_Viewer. While doing this pass different WinID for each view using SetWindow method.
e.g.
short hi, lo;
Handle(WNT_Window) myWindow;
Handle(WNT_Window) myWindow2;
Handle(Graphic3d_WNTGraphicDevice) myDevice;
myDevice = new Graphic3d_WNTGraphicDevice();
windowHandle = (glong) GDK_WINDOW_HWND(gdkwin);
lo = (short) windowHandle;
hi = (short) (windowHandle >> 16);
myWindow = new WNT_Window(myDevice, (int)hi, (int)lo);
windowHandle = (glong) GDK_WINDOW_HWND(gdkwin2);
lo = (short) windowHandle;
hi = (short) (windowHandle >> 16);
myWindow2 = new WNT_Window(myDevice, (int)hi, (int)lo);
TCollection_AsciiString Domain("");
myViewer = new V3d_Viewer(myDevice,Name.ToExtString(),Domain.ToCString(),1000.0,V3d_XposYnegZpos,Quantity_NOC_GRAY95,V3d_ZBUFFER,V3d_GOURAUD,V3d_WAIT,Standard_True,V3d_TEX_ALL);
myView = new V3d_OrthographicView(myViewer);
myView->SetWindow(myWindow);
myView->SetSurfaceDetail(V3d_TEX_ALL);
myView2 = new V3d_OrthographicView(myViewer);
myView2->SetWindow(myWindow2);
myView->SetSurfaceDetail(V3d_TEX_ALL);
...
...
//Do rest stuff
Hope this helps!
Regards
N. Commenter-1