Thanks Duncan, I have also been wondering about this problem for a long time.
Regards, Yihui -- Yihui Xie <[EMAIL PROTECTED]> Phone: +86-(0)10-82509086 Fax: +86-(0)10-82509086 Mobile: +86-15810805877 Homepage: http://www.yihui.name School of Statistics, Room 1037, Mingde Main Building, Renmin University of China, Beijing, 100872, China On Thu, Sep 18, 2008 at 1:49 AM, Duncan Murdoch <[EMAIL PROTECTED]> wrote: > On 9/17/2008 1:13 PM, Koen Stegen wrote: >> >> Dear all, >> >> The documentation on the function open3d in the rgl package, reads: >> >> open3d opens a new rgl device, and sets the parameters as requested. >> >> I want the new rgl device (window) to be sized and positioned in a >> specific >> place on my screen. So, I try to set the "windowRect" parameter as >> follows: >> >> > library("rgl") >> > open3d(windowRect=c(100,100,500,500)) >> [1] 1 >> >> Obviously you can't see where the window appears, so I'll ask for the >> "windowRect" parameter: >> >> > par3d()["windowRect"] >> $windowRect >> [1] 2300 764 2556 1020 >> >> As you can see, the window is not positioned at (100,100) nor is the size >> 400x400. The size is the default 256x256 and the position is where the >> window >> manager would put a new window if its position is unspecified. >> [note: I have a dual screen setup so the coordinates are not bogus] >> >> If, however, I use par3d to set the "windowRect", the window goes where it >> is >> supposed to go: >> >> > par3d(windowRect=c(100,100,500,500)) >> > par3d()["windowRect"] >> $windowRect >> [1] 104 125 504 525 >> >> The (4,25) pixels offset are the border and title bar of the window. >> >> For completeness sake: >> This behavior occurs on both Windows+ATI, Linux+ATI, Linux+NVidia. >> On Windows is R version 2.7.2, and rgl version 0.81 (installed today). >> >> Does anyone know how to set the windowRect parameter during an open3d >> call? > > Looks like a bug. The open3d function is defined as > >> open3d > function (..., params = get("r3dDefaults", envir = .GlobalEnv)) > { > rgl.open() > clear3d("material", defaults = params) > params$material <- NULL > if (!is.null(params$bg)) { > do.call("bg3d", params$bg) > params$bg <- NULL > } > do.call("par3d", params) > return(rgl.cur()) > } > <environment: namespace:rgl> > > > and you'll notice that the ... parameters are never used. Not sure when > this error crept in... > > The workaround is simply to use par3d() after open3d(). > > Duncan Murdoch > >> >> >> Thanks in advance, >> >> Koen Stegen >> Royal Meteorological Institute of Belgium >> ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.