You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(15) |
Oct
(32) |
Nov
(35) |
Dec
(48) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(46) |
Feb
(22) |
Mar
(65) |
Apr
(49) |
May
(22) |
Jun
(29) |
Jul
(51) |
Aug
(34) |
Sep
(32) |
Oct
(46) |
Nov
(30) |
Dec
(32) |
2002 |
Jan
(48) |
Feb
(4) |
Mar
(20) |
Apr
(28) |
May
(13) |
Jun
(34) |
Jul
(51) |
Aug
(15) |
Sep
(15) |
Oct
(35) |
Nov
(15) |
Dec
(20) |
2003 |
Jan
(31) |
Feb
(111) |
Mar
(41) |
Apr
(28) |
May
(36) |
Jun
(29) |
Jul
(27) |
Aug
(29) |
Sep
(47) |
Oct
(28) |
Nov
(7) |
Dec
(26) |
2004 |
Jan
(44) |
Feb
(9) |
Mar
(17) |
Apr
(26) |
May
(58) |
Jun
(13) |
Jul
(44) |
Aug
(64) |
Sep
(30) |
Oct
(11) |
Nov
(21) |
Dec
(28) |
2005 |
Jan
(29) |
Feb
(11) |
Mar
(11) |
Apr
(22) |
May
(85) |
Jun
(46) |
Jul
(17) |
Aug
(18) |
Sep
(14) |
Oct
(22) |
Nov
(1) |
Dec
(45) |
2006 |
Jan
(20) |
Feb
(36) |
Mar
(18) |
Apr
(24) |
May
(21) |
Jun
(48) |
Jul
(23) |
Aug
(20) |
Sep
(10) |
Oct
(41) |
Nov
(46) |
Dec
(40) |
2007 |
Jan
(40) |
Feb
(20) |
Mar
(13) |
Apr
(6) |
May
(24) |
Jun
(31) |
Jul
(30) |
Aug
(11) |
Sep
(11) |
Oct
(10) |
Nov
(56) |
Dec
(64) |
2008 |
Jan
(64) |
Feb
(22) |
Mar
(63) |
Apr
(28) |
May
(25) |
Jun
(36) |
Jul
(11) |
Aug
(9) |
Sep
(14) |
Oct
(41) |
Nov
(46) |
Dec
(130) |
2009 |
Jan
(95) |
Feb
(41) |
Mar
(24) |
Apr
(35) |
May
(53) |
Jun
(67) |
Jul
(48) |
Aug
(48) |
Sep
(86) |
Oct
(75) |
Nov
(64) |
Dec
(52) |
2010 |
Jan
(57) |
Feb
(31) |
Mar
(28) |
Apr
(40) |
May
(25) |
Jun
(42) |
Jul
(79) |
Aug
(31) |
Sep
(49) |
Oct
(66) |
Nov
(38) |
Dec
(25) |
2011 |
Jan
(29) |
Feb
(18) |
Mar
(44) |
Apr
(6) |
May
(28) |
Jun
(31) |
Jul
(36) |
Aug
(24) |
Sep
(30) |
Oct
(23) |
Nov
(21) |
Dec
(27) |
2012 |
Jan
(14) |
Feb
(11) |
Mar
(2) |
Apr
(48) |
May
(7) |
Jun
(32) |
Jul
(22) |
Aug
(25) |
Sep
(31) |
Oct
(32) |
Nov
(21) |
Dec
(17) |
2013 |
Jan
(44) |
Feb
(27) |
Mar
(3) |
Apr
(1) |
May
|
Jun
|
Jul
(3) |
Aug
(4) |
Sep
(1) |
Oct
(7) |
Nov
(5) |
Dec
(5) |
2014 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Bruce S. <Bru...@nc...> - 2009-02-05 16:21:21
|
From INSTALL.txt, I wonder whether the following is relevant. I seem to remember some issue with Boost and lock. What Linux are you using? The Boost C++ libraries version 1.31 and higher (1.33.1 reccomended) (www.boost.org). Note that 1.31 is required if you are using Python 2.3 or higher, and is recommended in any case due to getting much better error messages. 1.32.0 or higher is required if you want to use GNU G++ 3.4.0 or higher to build the suite. You need libboost-python-dev, libboost-signals-dev, and libboost-thread-dev. *** It is an unfortunate fact of life that the Boost libraries that *** deal with Python have names that do not reflect what version of *** Python they were built for and with. You have to be careful to *** install Boost Python libraries that were built for your version of Python. You also need the threadpool resource: sourceforge.net/projects/threadpool. If you are using the 1_35_0 Boost libraries, you can use version 0.2.4 which is included in the package (in dependencies). If you use a different version of the Boost libraries, you need to get an appropriate threadpool version and replace the files in "dependencies/threadpool/include". Copy into the include directory the contents of the boost directory in the threadpool package, which includes a directory named "include" and a file "threadpool.hpp". Bruce Sherwood Helmut Jarausch wrote: > Hi, > > I'm trying to compile vpython (CVS from today) but my gcc-4.3.3 bails > out : > ../include/platlinux.h:27: error: declaration of 'typedef class visual::lock<visual::mutex> visual::mutex::lock' > ../include/vthread.h:13: error: changes meaning of 'lock' from 'class visual::lock<visual::mutex>' > > It doesn't seem possible to redefine 'lock' > > Here a simple test case > #include <pthread.h> > > template <class syncObject> > class lock > { > private: > syncObject& obj; > > public: > > lock(syncObject& _obj) : obj(_obj) { _obj.sync_lock(); } > > ~lock() { obj.sync_unlock(); } > > private: // not implemented by design, to be noncopyable > lock(const lock&); > void operator=(const lock&); > }; > > class mutex > { > int count; > pthread_mutex_t mtx; > > public: > typedef lock<mutex> lock; > > }; > > > Has anybody solved that problem (perhaps by changing one of the > definitions of 'lock' to 'Lock' ) ? > > Many thanks for a hint, > Helmut. > |
From: Helmut J. <jar...@ig...> - 2009-02-05 11:29:25
|
Hi, I'm trying to compile vpython (CVS from today) but my gcc-4.3.3 bails out : ../include/platlinux.h:27: error: declaration of 'typedef class visual::lock<visual::mutex> visual::mutex::lock' ../include/vthread.h:13: error: changes meaning of 'lock' from 'class visual::lock<visual::mutex>' It doesn't seem possible to redefine 'lock' Here a simple test case #include <pthread.h> template <class syncObject> class lock { private: syncObject& obj; public: lock(syncObject& _obj) : obj(_obj) { _obj.sync_lock(); } ~lock() { obj.sync_unlock(); } private: // not implemented by design, to be noncopyable lock(const lock&); void operator=(const lock&); }; class mutex { int count; pthread_mutex_t mtx; public: typedef lock<mutex> lock; }; Has anybody solved that problem (perhaps by changing one of the definitions of 'lock' to 'Lock' ) ? Many thanks for a hint, Helmut. -- Helmut Jarausch Lehrstuhl fuer Numerische Mathematik RWTH - Aachen University D 52056 Aachen, Germany |
From: Bruce S. <Bru...@nc...> - 2009-02-05 02:57:32
|
The following works to produce a window with nothing displayed in it: ball = sphere() ball.visible = 0 Another scheme would be this: scene.range = 1 ball = sphere(radius=1e-6) The point is that Visual doesn't create a window unless there is something to display. Bruce Sherwood Mr Gerard Kelly wrote: > I'm trying to make this very simple program, where the idea is that you > click a tkinter button named "Ball" and then a ball will appear in the > visual window. > > Problem is that the window itself doesn't pop up until the button is > pressed and the ball is created. I would like it to start out blank, and > then have the ball appear in it when the button is pressed. > > I thought that having "self.display=display()" in the __init__ of the > Application would do this, but it doesn't seem to. > > What do I need to add to this code to make it start out with a blank window? > > > from visual import * > from Tkinter import * > import sys > > > class Ball: > def __init__(self): > sphere(pos=(0,0,0)) > > class Application: > def __init__(self, root): > > self.frame = Frame(root) > self.frame.pack() > > self.display=display() > > self.button=Button(self.frame, text="Ball", command=self.ball) > self.button.pack() > > def ball(self): > self.ball=Ball() > > root=Tk() > app=Application(root) > > root.mainloop() > > ------------------------------------------------------------------------------ > Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM) > software. With Adobe AIR, Ajax developers can use existing skills and code to > build responsive, highly engaging applications that combine the power of local > resources and data with the reach of the web. Download the Adobe AIR SDK and > Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
From: Mr G. K. <s40...@st...> - 2009-02-05 01:21:52
|
I'm trying to make this very simple program, where the idea is that you click a tkinter button named "Ball" and then a ball will appear in the visual window. Problem is that the window itself doesn't pop up until the button is pressed and the ball is created. I would like it to start out blank, and then have the ball appear in it when the button is pressed. I thought that having "self.display=display()" in the __init__ of the Application would do this, but it doesn't seem to. What do I need to add to this code to make it start out with a blank window? from visual import * from Tkinter import * import sys class Ball: def __init__(self): sphere(pos=(0,0,0)) class Application: def __init__(self, root): self.frame = Frame(root) self.frame.pack() self.display=display() self.button=Button(self.frame, text="Ball", command=self.ball) self.button.pack() def ball(self): self.ball=Ball() root=Tk() app=Application(root) root.mainloop() |
From: Bruce S. <Bru...@nc...> - 2009-02-04 14:19:47
|
In Visual 3, there is an example program (Tk-visual.py, if I remember correctly) which shows a Tk window controlling actions in a separate Visual window. In Visual 5, I believe that this program would still work on Windows and Linux, but because there seems to be no way to make this work in the Carbon-based Mac version, the application was removed from the set of examples, which are platform-independent. Bruce Sherwood Mr Gerard Kelly wrote: > Is there a way to make separate VPython and Tkinter windows run > simultaneously from the one program? Or to have the VPython window run > inside a Tkinter toplevel? > > If I have a program that uses both, it seems that one window has to > close before the other will start running. > > > |
From: Mr G. K. <s40...@st...> - 2009-02-04 08:18:59
|
Is there a way to make separate VPython and Tkinter windows run simultaneously from the one program? Or to have the VPython window run inside a Tkinter toplevel? If I have a program that uses both, it seems that one window has to close before the other will start running. |
From: Bruce S. <Bru...@nc...> - 2009-02-04 03:35:15
|
The problem is that you have to specify colors with numbers in the range 0.0-1.0, not 0-255. Bruce Sherwood Mr Gerard Kelly wrote: > In the Vpython tutorial it has instructions for making a red ball: > > ball = sphere(pos=(-5,0,0), radius=0.5, color=color.red) > > It mentions there are 8 colors easily accessible by color.xxx > > I can get other colors with color=(R,G,B) where each element is a number > from 0 to 255, but then the shading doesn't work, so it just looks like > a circle, not a sphere. > > Is there any way to have shaded 3D objects in colors other than the > eight accessible by color.xxx? > |
From: Mr G. K. <s40...@st...> - 2009-02-04 02:42:11
|
In the Vpython tutorial it has instructions for making a red ball: ball = sphere(pos=(-5,0,0), radius=0.5, color=color.red) It mentions there are 8 colors easily accessible by color.xxx I can get other colors with color=(R,G,B) where each element is a number from 0 to 255, but then the shading doesn't work, so it just looks like a circle, not a sphere. Is there any way to have shaded 3D objects in colors other than the eight accessible by color.xxx? |
From: Pablo G. C. <ozr...@gm...> - 2009-02-03 19:09:17
|
Hi all. I've been playing around with some kind of stupid simple billiard game. It currentrly has no rules, just the table, some balls and a simple interface for shooting, but I think it can be an attractive example for teaching collissions. In fact it can be funny by itself for playing around. I'm not a programer, so the code won't be elegant at all, but I've tried to make it intelligible for non-programers as myself. Hope it's usefull for someone. Surely it will look cool with visual5, but I've not tested it yet (I'll do it after my exams). Thank you all. -- (^< -- May the source be with you //'\ V_/_ |
From: Bruce S. <Bru...@nc...> - 2009-01-29 16:46:10
|
I got a note from a user who would very much like to see Linux packages for popular distributions that are aimed at 64-bit machines. I myself don't have access to a 64-bit machine, nor do I know anything about creating rpm's. I invite those of you in the VPython community who can do so to consider creating Linux packages, including especially packages for 64-bit machines. Thanks! Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2009-01-20 19:18:21
|
There is what seems to me strange code involved. scene.range is initialized to (0,0,0) and remains like that unless you set scene.range yourself. Then there's some hocus-pocus to make (0,0,0) act essentially like (10,10,10) if you specify scene.autoscale = 0. The error message is generated if autoscale=0 OR if range=(0,0,0). I guess the notion was that you should specify a range explicitly if you turn off autoscaling. Or something. This all seems way too arcane. It would seem to make more sense to initialize range to (10,10,10), which is what the situation was in Visual 3. But maybe I'm missing something. In the following example the first print statement works and the second fails: from visual import * scene.range = 3 print scene.range sphere() scene.autoscale = 1 print scene.range Bruce Sherwood Joe Heafner wrote: > When I run this code: > > from visual import * > > scene.autoscale = 0 > print scene.range > sphere() > print scene.range > > I get this: > > >>> ================================ RESTART > ================================ > >>> > > Traceback (most recent call last): > File "/Users/heafnerj/Desktop/widthtest.py", line 4, in <module> > print scene.range > RuntimeError: Reading .scale and .range is not supported when autoscale > is enabled. > >>> > > I thought scene.autoscale = 0 disables autoscaling. Is this a bug? > > Joe > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
From: Bruce S. <Bru...@nc...> - 2009-01-20 18:00:14
|
VPython 5.03 is now available for all platforms at vpython.org. This incorporates the fix to handling keyboard events proposed by CL Cheung after his careful analysis of a deadlock condition. Many thanks. Bruce Sherwood |
From: Bruce S. <Bru...@nc...> - 2009-01-20 17:59:10
|
Very impressive analysis, CL. Thanks! Bruce Sherwood CL wrote: > Since I am not familar with the code of GIL, correct me if I am wrong > ..as I make some fundamental guesses in the gil and locking calls. > > I have this problem also on my programs. The problem looks like a > deadlock rather than overflow. Therefore, it can happen in any vpython > programs. > > Here is my observations, : > > The keyboard buffer queue is implemented as a atomic_queue in vpython. > It has a lock object called "barrier" to protect the queue. The > deadlock situation is like this: > > Caller thread: > C1. call getkey() > C2. call py_pop() > C3. == py_pop() lock the barrier object > C4. == call py_pop_wait() > C5. == == py_pop_wait() release the gil_lock > C6. == == wait until there is some keys in the queue (during waiting, > the barrier object seems unlocked) > C7. == == regain gil_lock > C8. == == returning to py_pop() > C9. == pop a key from the queue > C10. == unlock barrier object > > The primary window thread: > P1. In dispatch_messages(): > P2. == gain gil_lock > P3. == for WM_KEYUP, WM_KEYDOWN, WM_CHAR, handle the key messages > P4. == == lock barrier object > P5. == == update the key queue > P6. == == unlock barrier object > P7. == release gil_lock > > If the first thread is in between C5-C7 and the key queue is not > empty, at this moment user press a key, the primary window thread can > gain the gil_lock and performing a dispatching of key events, it will > try to gain the barrier lock (P4). The first thread is locked when it > is going to regain the gil_lock (C7). The primary window thread is > locked by waiting the barreir lock. > > This situation does not happen frequently, because the time spend in > py_pop_wait is very short. > > But I can make it happens easily when I add a delay in py_pop_wait > before it returns: > > void > atomic_queue_impl::py_pop_wait( lock& L) > { > .... > waiting = false; > ::Sleep(100); > } > > If my understanding above is correct, the program can be fixed by > rewritting the function as: > > void > atomic_queue_impl::py_pop_wait( lock& L) > { > using python::gil_release; > using python::gil_lock; > > L.unlock(); > { > gil_release release; > > // I took the code to call Py_MakePendingCalls() out. The internet leads > // me to believe that it is not necessary. For example, Python time.sleep() > // doesn't do it. > if (empty) { > L.lock(); > while (empty) { > waiting = true; > ready.wait(L); > } > L.unlock(); > } > waiting = false; > } > L.lock(); > } > > > CL > >> I have been looking workarounds and found that by including opacity >> during a box definition, with any value Except 1.0 allows opacity to work! >> Also, if you have nested frames then a pause before connecting the main >> frame from the sub frames works! > >> Another problem that has just popped up. >> Any keyboard input that requires holding down a key for long periods >> seems to cause some programs to freeze, but not all! > >> Here are 3 examples, they all use cursor keys to move or spin objects. >> It acts like a keyboard buffer overflow, but that's just a guess. > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
From: Roberto A. M. <rha...@ho...> - 2009-01-20 03:49:03
|
I just created this little game using VPython. It's available on the folowing direction: http://www.geocities.com/chamonate/Jetris/ Hope you like it. Best regards, Roberto Aguirre Maturana. Santiago, Chile. -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ |
From: CL <clc...@gm...> - 2009-01-19 03:33:01
|
Since I am not familar with the code of GIL, correct me if I am wrong ..as I make some fundamental guesses in the gil and locking calls. I have this problem also on my programs. The problem looks like a deadlock rather than overflow. Therefore, it can happen in any vpython programs. Here is my observations, : The keyboard buffer queue is implemented as a atomic_queue in vpython. It has a lock object called "barrier" to protect the queue. The deadlock situation is like this: Caller thread: C1. call getkey() C2. call py_pop() C3. == py_pop() lock the barrier object C4. == call py_pop_wait() C5. == == py_pop_wait() release the gil_lock C6. == == wait until there is some keys in the queue (during waiting, the barrier object seems unlocked) C7. == == regain gil_lock C8. == == returning to py_pop() C9. == pop a key from the queue C10. == unlock barrier object The primary window thread: P1. In dispatch_messages(): P2. == gain gil_lock P3. == for WM_KEYUP, WM_KEYDOWN, WM_CHAR, handle the key messages P4. == == lock barrier object P5. == == update the key queue P6. == == unlock barrier object P7. == release gil_lock If the first thread is in between C5-C7 and the key queue is not empty, at this moment user press a key, the primary window thread can gain the gil_lock and performing a dispatching of key events, it will try to gain the barrier lock (P4). The first thread is locked when it is going to regain the gil_lock (C7). The primary window thread is locked by waiting the barreir lock. This situation does not happen frequently, because the time spend in py_pop_wait is very short. But I can make it happens easily when I add a delay in py_pop_wait before it returns: void atomic_queue_impl::py_pop_wait( lock& L) { .... waiting = false; ::Sleep(100); } If my understanding above is correct, the program can be fixed by rewritting the function as: void atomic_queue_impl::py_pop_wait( lock& L) { using python::gil_release; using python::gil_lock; L.unlock(); { gil_release release; // I took the code to call Py_MakePendingCalls() out. The internet leads // me to believe that it is not necessary. For example, Python time.sleep() // doesn't do it. if (empty) { L.lock(); while (empty) { waiting = true; ready.wait(L); } L.unlock(); } waiting = false; } L.lock(); } CL >I have been looking workarounds and found that by including opacity >during a box definition, with any value Except 1.0 allows opacity to work! >Also, if you have nested frames then a pause before connecting the main >frame from the sub frames works! >Another problem that has just popped up. >Any keyboard input that requires holding down a key for long periods >seems to cause some programs to freeze, but not all! >Here are 3 examples, they all use cursor keys to move or spin objects. >It acts like a keyboard buffer overflow, but that's just a guess. |
From: CL <clc...@gm...> - 2009-01-19 01:18:23
|
Hi Bruce, Stef Thank you for the cool tips ! I will take a look and see if my PC got the power to run it ! CL |
From: Stef M. <s.m...@ru...> - 2009-01-18 22:59:24
|
hi Bruce, CL, My experiences with virtualbox from Sun (also free) are much better than with the MS-product. cheers, Stef Bruce Peterson wrote: > Hi CL > FYI --Microsoft has a free utility, VirtualPC ,that allows you to > setup a virtual PC and install whatever operating system you desire. > The virtual computer setup can be stored to disk so that you can try > as many hardware/software scenarios as you desire. The emulation is > quick (response is similar to native hardware) -- but does require > sufficient memory to run the OS and disk space to store the image. > > At 01:18 AM 1/16/2009, you wrote: > >> Hi Shef >> >> Since I only have one PC, I am not sure if my sample programs working >> well or not on other hardware. Are you able to run my sample programs >> on your side (or it also crashes) ? Anyone else can report the result >> if you have tried it >> > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > |
From: Bruce P. <bap...@te...> - 2009-01-18 22:47:10
|
Hi CL FYI --Microsoft has a free utility, VirtualPC ,that allows you to setup a virtual PC and install whatever operating system you desire. The virtual computer setup can be stored to disk so that you can try as many hardware/software scenarios as you desire. The emulation is quick (response is similar to native hardware) -- but does require sufficient memory to run the OS and disk space to store the image. At 01:18 AM 1/16/2009, you wrote: >Hi Shef > >Since I only have one PC, I am not sure if my sample programs working >well or not on other hardware. Are you able to run my sample programs >on your side (or it also crashes) ? Anyone else can report the result >if you have tried it |
From: Joe H. <hea...@gm...> - 2009-01-18 22:33:18
|
When I run this code: from visual import * scene.autoscale = 0 print scene.range sphere() print scene.range I get this: >>> ================================ RESTART ================================ >>> Traceback (most recent call last): File "/Users/heafnerj/Desktop/widthtest.py", line 4, in <module> print scene.range RuntimeError: Reading .scale and .range is not supported when autoscale is enabled. >>> I thought scene.autoscale = 0 disables autoscaling. Is this a bug? Joe |
From: symion <sy...@pr...> - 2009-01-18 16:24:24
|
I have downloaded V5.02 and the bug fixes are working on my PC :-D This program MetricCube.py <http://home.primusonline.com.au/knoware/python/MetricCube.py> is useful if you want to draw 3D Wire frames or Polygons with Accuracy! It uses integer space and the metric cube to Draw Complex Polygons. I have used the Savefile module so you can Save your efforts to disk as simple, ready to run Python scripts. There is still a bug in Vpython keyboard routine that causes the program to crash if you hold down a cursor key for too long. Keyboard control of the 3D cursor should only be used for detailed work so the mouse should be used most of the time. IDLE is used to output progress messages and Instructions. Symion |
From: Bruce S. <Bru...@nc...> - 2009-01-17 19:13:50
|
The corrections made by CL Cheung have been incorporated into new installers for all platforms, available at vpython.org: fixing a bug associated with changing the opacity of an object in a frame, and, on Windows, changing some details of mouse handling which affected docking/undocking operations in the wxpython context. Tests of the frame bug which failed on Windows did not fail on Mac or Ubuntu, but the fix has been incorporated anyway, as there really was a bug in the code. Thanks much, CL! Bruce Sherwood |
From: Stef M. <s.m...@ru...> - 2009-01-17 11:11:29
|
THANKS ... ! It seems to work great, whatever I tried, I couldn't force an error. cheers, Stef CL wrote: > Hi Stef > > I've uploaded my version of cvisual.pyd for your testing, if you are > interested. You can get it from http://code.google.com/p/vpythonex1 > > The cvisual.pyd-fix3 contains 3 fixes. Download and overwrite your > C:\Python25\Lib\site-packages\visual\cvisual.pyd > > The three fixes are: > 1. Fix the problem of my video card opengl extension library entry. It > is not compatible with vpython 5.0. This fix shall not affecting you, > I believe. > > 2. Fix the crash when opacity changed from 1.0 to below 1.0 > > 3. The fix of mouse cursor positioning problem caused by re-parenting > in the docking situation. > > CL > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > |
From: Bruce S. <Bru...@nc...> - 2009-01-17 04:54:36
|
It's affected by how the user has zoomed. Here is a calculation that gives you what you seem to be asking for: from visual import * box(pos=(-5,0,0)) box(pos=(5,0,0)) show = label() #scene.range = 100 # with this, initial label is 200 (+/-100) while 1: rate(50) d = mag(scene.mouse.camera-scene.center) w = 2*d*tan(0.5*scene.fov) show.text = "%.1f" % w Bruce Sherwood Joe Heafner wrote: >> Is there a way, e.g. a function, to return the width of a VPython >> scene in real life units independent of what's displayed in the scene? >> For example, if I'm modeling Sun and Earth and I have them on opposite >> sides of a scene, can I obtain the scene's width (~ 1.5e11 m) with a >> function call? scene.width gives the width in pixels. I'm trying to >> take the drudgery out of manually calculating scale factors for >> displaying arrows. >> >> Joe Heafner |
From: Joe H. <hea...@gm...> - 2009-01-17 04:34:33
|
Is there a way, e.g. a function, to return the width of a VPython scene in real life units independent of what's displayed in the scene? For example, if I'm modeling Sun and Earth and I have them on opposite sides of a scene, can I obtain the scene's width (~ 1.5e11 m) with a function call? scene.width gives the width in pixels. I'm trying to take the drudgery out of manually calculating scale factors for displaying arrows. Joe Heafner |
From: Bruce S. <Bru...@nc...> - 2009-01-17 03:00:12
|
I guess I didn't explain adequately. The only way I can have a fighting chance at debugging a problem is if I'm given a maximally simple program Visual-only program that shows the problem. If the problem is embedded inside a very complex program, or inside an executable, or depends on an environment such as wxPython, there's not much I can do with the report, especially because I'm under the gun to finish a major revision of a physics textbook. But the wonderful news is that CL, who knows the wxPython environment, has dug into two bugs and apparently fixed them at the C++ level. As soon as I have a chance to incorporate his fixes I'll post new installers. Bruce Sherwood Stef Mientki wrote: > hi Bruce, > > Bruce Sherwood wrote: >> No, > You might be completely right, > but the final result from my viewpoint is the same: "I can't use it for > this purpose for a long period of time" >> the issue there was that there isn't any way for me to debug that very >> complex program, since I know nothing about wxpython. > It has nothing to do wxPython. > And as I suspected that you didn't use wxPython, > I attached a little autoit-executable (which is written directly on the > windows APIs), so you reproduce the bug without wxPython. > The fact that this autoit program shows the same problem, > also proves that it's not wxPython to blame. > > cheers, > Stef > > > > Het UMC St Radboud staat geregistreerd bij de Kamer van Koophandel in het handelsregister onder nummer 41055629. > The Radboud University Nijmegen Medical Centre is listed in the Commercial Register of the Chamber of Commerce under file number 41055629. > > > > ------------------------------------------------------------------------------ > This SF.net email is sponsored by: > SourcForge Community > SourceForge wants to tell your story. > http://p.sf.net/sfu/sf-spreadtheword > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |