You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(13) |
Apr
|
May
(1) |
Jun
(34) |
Jul
(23) |
Aug
(16) |
Sep
|
Oct
(11) |
Nov
(13) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(3) |
Mar
(13) |
Apr
(1) |
May
(5) |
Jun
(11) |
Jul
(5) |
Aug
(10) |
Sep
(16) |
Oct
(8) |
Nov
(4) |
Dec
(5) |
2006 |
Jan
(18) |
Feb
(5) |
Mar
(6) |
Apr
(12) |
May
(3) |
Jun
(1) |
Jul
(4) |
Aug
(16) |
Sep
(1) |
Oct
(5) |
Nov
(35) |
Dec
(7) |
2007 |
Jan
(17) |
Feb
(14) |
Mar
(7) |
Apr
(9) |
May
(16) |
Jun
(31) |
Jul
(13) |
Aug
(23) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(1) |
2008 |
Jan
(8) |
Feb
(1) |
Mar
(3) |
Apr
(2) |
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(5) |
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
|
2010 |
Jan
(6) |
Feb
(6) |
Mar
(10) |
Apr
(5) |
May
(11) |
Jun
|
Jul
|
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(3) |
Dec
(5) |
2011 |
Jan
(7) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(10) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
From: Timothy S. <ti...@st...> - 2005-01-16 08:04:28
|
On Sat, 2005-01-15 at 17:16 -0800, Hart's Antler wrote:=20 > I might have missed a step in the install process... please somebody doub= le check me. You have not missed anything. This is a bug that is fixed in CVS. You should be able to get it working by doing one of the following: 1. Download http://pyode.sourceforge.net/pyode-CVS_2005-01-16.tar.gz Edit setup.py as needed then install using "python setup.py install". This will detect if your ODE build has Trimesh enabled automatically. 2. With your current PyODE, install Pyrex and delete the file "ode.c". Then, keep your setup.py as it is already and run "python setup.py install". I hope this helps. --=20 Timothy Stranex <ti...@st...> |
From: Hart's A. <bha...@ya...> - 2005-01-16 01:16:21
|
I might have missed a step in the install process... please somebody double check me. I changed my setup.py so that Trimesh is dissabled but i still get this error when trying to run one of the examples: bash-2.05b# python transforms.py Traceback (most recent call last): File "transforms.py", line 33, in ? import ode ImportError: /usr/lib/python2.3/site-packages/ode.so: undefined symbol: dGeomTriMeshGetTriangle Below is my complete setup.py file: ###################################################################### # setup script for the Python wrapper of ODE ###################################################################### # ODE itself must already be compiled from distutils.core import setup, Extension import distutils.sysconfig import shutil, os, os.path, sys, glob from stat import * # Should the wrapper support trimesh geoms? TRIMESH_SUPPORT = False # Windows? if sys.platform=="win32": ODE_BASE = "../ode_single_trimesh" # ODE_BASE = "../ode_double_notrimesh" INC_DIRS = [os.path.join(ODE_BASE, "include")] LIB_DIRS = [os.path.join(ODE_BASE, "lib")] LIBS = ["ode", "user32"] # user32 because of the MessageBox() call CC_ARGS = ["/ML"] # Linux (and other) else: ODE_BASE = "/usr/local/include/ode" INC_DIRS = [os.path.join(ODE_BASE, "include")] LIB_DIRS = [os.path.join(ODE_BASE, "lib")] LIBS = ["ode", "stdc++"] CC_ARGS = [] ###################################################################### def determinePrecision(): filename = os.path.normpath(os.path.join(ODE_BASE, "config", "user-settings")) print 'Reading "%s" to determine precision...'%filename precision = None try: for s in file(filename): s = s.strip() a = s.split("=") if len(a)==2 and a[0].upper()=="PRECISION": precision = a[1] except IOError, e: print "ERROR:",e raise RuntimeError if precision==None: print "ERROR: No precision setting found." raise RuntimeError if precision not in ["SINGLE", "DOUBLE"]: print 'ERROR: Invalid precision setting: "%s"'%precision raise RuntimeError return precision ###################################################################### # Determine the precision setting (SINGLE or DOUBLE?) #try: # precisionfile = "_precision.pyx" # precision = determinePrecision() # print "Precision:",precision # print 'Creating file "%s"...'%precisionfile # f = file(precisionfile, "wt") # f.write("# This file was automatically generated by the setup script\n\n") # f.write('cdef extern from "ode/ode.h":\n') # f.write(' # Define the basic floating point type used in ODE\n') # f.write(' ctypedef %s dReal\n'%{"SINGLE":"float", "DOUBLE":"double"}[precision]) # f.close() #except RuntimeError: # print "Aborting!" # sys.exit() # Check if the ODE_BASE path does exist if not os.path.exists(ODE_BASE): print """This Python ODE wrapper assumes that you have a compiled version of the ODE library already somewhere on your system. The path to the ODE distribution has to be set in the setup script via the variable ODE_BASE. Currently it points to "%s". However, that path does not exist. So please change the variable inside the script so that it points to the actual location of the ODE directory."""%ODE_BASE sys.exit() # Generate the trimesh_switch file f = file("_trimesh_switch.pyx", "wt") print >>f, '# This file was generated by the setup script and is included in ode.pyx.\n' if TRIMESH_SUPPORT: print >>f, 'include "trimeshdata.pyx"' print >>f, 'include "trimesh.pyx"' else: print >>f, 'include "trimesh_dummy.pyx"' f.close() # Generate the C source file (if necessary) cmd = "pyrexc -o ode.c -I. -Isrc src/ode.pyx" pyrex_out = "ode.c" # Check if the pyrex output is still up to date or if it has to be generated # (ode.c will be updated if any of the *.pyx files in the directory "src" # is newer than ode.c) if os.access(pyrex_out, os.F_OK): ctime = os.stat(pyrex_out)[ST_MTIME] for pyx in glob.glob("src/*.pyx"): pytime = os.stat(pyx)[ST_MTIME] if pytime>ctime: print "Updating",pyrex_out print cmd err = os.system(cmd) break else: print pyrex_out,"is up to date" err = 0 else: print "Creating",pyrex_out print cmd err = os.system(cmd) # Check if calling pyrex produced an error if err!=0: print "An error occured while generating the C source file." sys.exit(err) # Compile the module setup(name = "PyODE", version = "1.0.0", description = "Python wrapper for the Open Dynamics Engine", author = "see file AUTHORS", author_email = "ti...@st...", license = "BSD or LGPL", url = "http://pyode.sourceforge.net/", packages = ["xode"], ext_modules = [Extension("ode", ["ode.c"] ,libraries=LIBS ,include_dirs=INC_DIRS ,library_dirs=LIB_DIRS ,extra_compile_args=CC_ARGS) ]) __________________________________ Do you Yahoo!? Yahoo! Mail - now with 250MB free storage. Learn more. http://info.mail.yahoo.com/mail_250 |
From: Matthias B. <ba...@ir...> - 2004-12-13 22:11:19
|
Hi, I thought maybe you'd be interested to know that I've just released the first alpha version of the new cgkit2. In contrast to cgkit1 it is now possible to create and maintain 3D data in memory where it can be manipulated via Python programs. I've also incorporated PyODE into the framework. The kit now takes care of dealing with all the details of doing a simulation with PyODE, you only have to describe your bodies and joints and basically, that's it. Unfortunately, a tutorial about using cgkit2 & PyODE is not yet available, but will be soon (hopefully). If you want to check the new cgkit out, point your browser to this address: http://cgkit.sourceforge.net Cheers, - Matthias - |
From: Matthias B. <ba...@ir...> - 2004-11-28 21:52:07
|
Timothy Stranex wrote: > I've modified setup.py to generate two files: ode_trimesh.c and > ode_notrimesh. Also, the ODE user-settings file is now parsed to set > TRIMESH_SUPPORT automatically by checking the OPCODE_DIRECTORY setting. > > Are there any objections to this scheme or shall I commit the new > script? No objections from my side. - Matthias - |
From: Timothy S. <ti...@st...> - 2004-11-28 06:59:00
|
Hello, At the moment, we have a pre-built ode.c file in the PyODE distribution. This allows users to install PyODE without having to install Pyrex. However, ode.c is built with Trimesh support; users not wanting Trimesh support still need to download and install Pyrex. I've modified setup.py to generate two files: ode_trimesh.c and ode_notrimesh. Also, the ODE user-settings file is now parsed to set TRIMESH_SUPPORT automatically by checking the OPCODE_DIRECTORY setting. Are there any objections to this scheme or shall I commit the new script?=20 --=20 Timothy Stranex <ti...@st...> |
From: Matthias B. <ba...@ir...> - 2004-11-19 15:59:02
|
Chris Bainbridge wrote: >>[...]and the one using Qt (which I can't download anymore)[...] > > You should be able to still download it, I haven't touched anything. Well, there's a message (from the browser) saying the the server has disconnected. So I'm still not able to have a look at the file. > What kind of text would you like? Something like: Well, as I haven't seen your sources yet, I don't know how much text is in there already. But what you wrote in your posts looks already ok to me. At least people will already get the idea what the tutorial is about without having to read source code. If you want to see other examples, just have a look at the 3 tutorials that are online already. But that was sort of my own preference. I leave it to anyone who wants to contribute something in what form they wish to contribute. And even if it's just a plain source file it's still far more useful than nothing at all. - Matthias - |
From: Matthias B. <ba...@ir...> - 2004-11-19 15:45:45
|
Timothy Stranex wrote: > I've added the sourceforge.net release[1] and updated the web page. I'll > also add the release to freshmeat.net. What else needs to be done? I think what's left is just to "spread the word". The following places for announcements come into mind: ODE mailing list, comp.lang.python, comp.lang.python.announce. And then we can also add it to the Python Package Index (http://www.python.org/pypi). Meanwhile that can be done via the setup script: python setup.py register (see http://docs.python.org/dist/package-index.html). The first one who adds a package is considered the "owner" of that package, so maybe as you're doing the releases it's best if you add it there. That's all I can think of at the moment (oh, and I have already updated the link in the ODE wiki and changed it from my site to pyode.sf.net). - Matthias - |
From: Chris B. <chr...@gm...> - 2004-11-17 19:54:37
|
Also: All of the simulation rendering and UI event handling is done inside the 'TestWidget.py' which inherits from QGLWidget. This is placed inside the interface which is designed in QTDesigner. Open the 'form1.ui' file in designer to see how it is organised. The TestWidget is imported into designer as a "custom widget", and is visible under that tab. |
From: Chris B. <chr...@gm...> - 2004-11-17 19:49:05
|
On Tue, 16 Nov 2004 21:08:22 +0100, Matthias Baas <ba...@ir...> wrote: > The video in the third tutorial was missing, I copied it into the directory. > What about the other tutorials that were posted here? There was the > PyOSG stuff by Brett and the one using Qt (which I can't download > anymore) by Chris Bainbridge. Maybe Brett and Chris would write a little > text around it so we could put them online as well? Brett/Chris, are you > interested? You should be able to still download it, I haven't touched anything. What kind of text would you like? Something like: The ODE simulation consists of two boxes joined by a diagonal hinge. One is attached to a horizontal slider joint which is in turn connected to the static environment. This stops vertical movement, and hence the other box falls the distance between the top box and the hinge, where it comes to rest. When a force is applied to the top box, it moves horizontally along the SliderJoint axis. The SliderJoint has limits set which cause the box to bounce and reverse direction when it reaches a certain distance from its origin. When the top box moves it causes the bottom box to fall (as they are rigid and the hinge distance is fixed), and it spins around the hinge. The hinge is rendered as a flattened sphere pointing along its axis. The QT GUI allows you to hit the top box with a force, enable/disable textures, lights, wireframe, and tracking (where the camera tracks the boxes). The pause button allows the ODE simulation to be paused, but the gui is still operational. Hold the right mouse button and drag to rotate, the left for movement in the horizonal plane, and the middle for movement in the vertical plane. |
From: Timothy S. <ti...@st...> - 2004-11-17 19:04:10
|
On Tue, 2004-11-16 at 22:08, Matthias Baas wrote: > So it seems we've got everything together for a release... I've added the sourceforge.net release[1] and updated the web page. I'll also add the release to freshmeat.net. What else needs to be done? [1] http://sourceforge.net/project/showfiles.php?group_id=3D73553 --=20 Timothy Stranex <ti...@st...> |
From: Matthias B. <ba...@ir...> - 2004-11-16 20:09:46
|
Timothy Stranex wrote: > I've updated the PyODE web page (http://pyode.sourceforge.net/) for the > upcoming release. I like the design! It's simple but still elegant and nice to look at. The video in the third tutorial was missing, I copied it into the directory. What about the other tutorials that were posted here? There was the PyOSG stuff by Brett and the one using Qt (which I can't download anymore) by Chris Bainbridge. Maybe Brett and Chris would write a little text around it so we could put them online as well? Brett/Chris, are you interested? So it seems we've got everything together for a release... - Matthias - |
From: Timothy S. <ti...@st...> - 2004-11-16 14:36:58
|
Hello, I've updated the PyODE web page (http://pyode.sourceforge.net/) for the upcoming release. Please send me any suggestions (or, you can edit the pages yourself; they're in /home/groups/p/py/pyode/htdocs on shell.sourceforge.net.) --=20 Timothy Stranex <ti...@st...> |
From: Timothy S. <ti...@st...> - 2004-11-16 06:56:43
|
On Wed, 2004-11-10 at 00:42, Matthias Baas wrote: > By the way, when I updated the setup script I noticed that there's the=20 > "author_email" parameter which, I believe, is required once the package=20 > is added to the Python Package Index (PyPI, http://www.python.org/pypi). > In that case, I'd vote for Timothy as our "PyODE representative" as he's=20 > also running the web site. > Timothy, would you agree with that? (i.e. that your email appears in the=20 > "author_email" field? And if so, which one? (I just noticed that in your=20 > posting you were using a different email address than the one on your=20 > web site)) That's fine with me. My current e-mail address is ti...@st.... I've added it to setup.py. --=20 Timothy Stranex <ti...@st...> |
From: Matthias B. <ba...@ir...> - 2004-11-09 22:41:42
|
Timothy Stranex wrote: > From a purely aesthetic (unix-biased) viewpoint, I think it looks better > without the .TXT; but, if it makes it easier on the Windows guys I don't > have any problem with adding it. As the files were already there without the suffix I left it that way and removed the suffices from the license files instead before checking them in. > At the moment, setup.py creates source distributions with the following > files: ode.c, setup.py, README and the xode directory. The problem with > this is that when run from a source distribution, setup.py tries to > create a new ode.c from non-existing pyrex sources. > > If we don't want to require our users to install pyrex then setup.py > must be modified so that it if pyrex sources are not included, it uses > the existing ode.c. I added the file Manifest.in which tells the distutils what (additional) files to add to the source distribution. Now the Pyrex sources are also included (and the examples and test directories). Additionally, I modified the setup script so that Pyrex is only called when the *.pyx files are newer than ode.c. This means, anybody who grabs the source archive and just builds the sources without modifying the *.pyx files won't need Pyrex. By the way, when I updated the setup script I noticed that there's the "author_email" parameter which, I believe, is required once the package is added to the Python Package Index (PyPI, http://www.python.org/pypi). In that case, I'd vote for Timothy as our "PyODE representative" as he's also running the web site. Timothy, would you agree with that? (i.e. that your email appears in the "author_email" field? And if so, which one? (I just noticed that in your posting you were using a different email address than the one on your web site)) - Matthias - |
From: Matthias B. <ba...@ir...> - 2004-11-06 14:15:46
|
Hi, as there haven't been much changes to the code lately, I'd suggest to do the final steps so that we can do an official release. I think we have already agreed on using the same license than ODE itself. I took the copyright notice from an ODE source file and slightly modified it to: # Python Open Dynamics Engine Wrapper # Copyright (C) 2004 PyODE developers (see file AUTHORS) # All rights reserved. # # This library is free software; you can redistribute it and/or # modify it under the terms of EITHER: # (1) The GNU Lesser General Public License as published by the Free # Software Foundation; either version 2.1 of the License, or (at # your option) any later version. The text of the GNU Lesser # General Public License is included with this library in the # file LICENSE.TXT. # (2) The BSD-style license that is included with this library in # the file LICENSE-BSD.TXT. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files # LICENSE.TXT and LICENSE-BSD.TXT for more details. I don't know what a copyright notice has to look like if there's more than just one author. But it looked reasonable to me just to refer to the AUTHORS file instead of listing everyone here. So does everyone agree with that? If so, I'll add this to our source files. (are there any objections if I add me, Brett and Bernie to the AUTHORS file?) By the way, should we remove the .TXT suffix from the license files? Or should be add .TXT to our existing files? (I'd slightly tend towards the suffix as it makes reading a bit easier for the Windows people, but I also have no problems if they are not present.) Which files should be kept? What will be in the NEWS file (except for the giant monkeys taking over the United Nations summit? :) Isn't that somewhat the same than the ChangeLog? And I suppose the file COPYING will be replaced by the two license files from ODE, right? Another issue: What kind of version numbering scheme will we use? And what is the current version? In my previous versions I just used the ODE version that I was using (it's another thing that I got that mixed up). But meanwhile, I don't think that's such a good idea as the version might differ on our platforms. So I'd just vote for using 1.0 (or 1.0.0) for this release and then increase the version as appropriate. Is there anything else I forgot? - Matthias - |
From: Matthias B. <ba...@ir...> - 2004-11-06 13:44:03
|
Sorry for not replying earlier, I've been too busy once more... Timothy Stranex wrote: >>Also attached is the file named tutorial3_osg_segfault.py. This file will crash when you >>run it because it seems that if more than 34 bodies collide at once (at least on the first >>frame if they are all intersecting), then pyODE will crash by segmentation fault. > > After testing it on my computer, it segfaults if here are more than 68 > objects. I've done some looking but I can't work out what's causing it. > The segfault occurs in world.step() or world.quickStep(). My > investigation found two potential problems: > > 1. Body.setMass() takes a Mass object argument. It doesn't keep a > reference to it but uses its dMass Mass._mass for dBodySetMass(dBodyID, > const dMass *mass). If the Mass object is deallocated, ODE could still > try to access it. > > 2. ContactJoint uses Contact objects for ODE calls without keeping > references. ODE might still try to access it even if the Contact object > has been deallocated. The mass properties and the contact structure are copied when calling dBodySetMass()/dJointCreateContact(), so ODE won't access the original data after the calls. So that's not the problem. As I haven't PyOSG running on Windows, I just stripped away the PyOSG stuff and could also run the file. It crashes as well when using more than 32 bodies (or more than 9 bodies if I use step() instead of quickstep()). I counted the contact joints that are generated in the near_callback() function and once there are more than about 2000 contacts the dWorldQuickStep() function will crash (dWorldStep() already crashes once there are more than 120 contacts). So far, I'd say the bug is in ODE, not PyODE. Maybe this is the stack size issue that occasionally comes up in the ODE mailing list? Could it be that the stack overflows when the number of contacts gets too large? - Matthias - PS: Concerning PyOSG on Windows.... I did a test with a simple Pyrex file and Visual Studio .NET to see if the compiled module will be accepted by Python. I was using the distutils to compile the module and when calling the setup script, it complained about the compiler version. So it seems if you want to run PyOSG on Windows you also have to compile Python yourself (unless it's possible either to compile OSG with VC6 or to use the OSG binaries with VC6). But at least I could run some PyOSG demos with the CD image that Brett has provided. :) (unfortunately, the 3D output doesn't seem to be hardware accelerated) |
From: brett h. <bha...@ya...> - 2004-10-08 16:23:48
|
Hi Tim, I was actually already planning to update the tutorials and those were changes i was planning to make, its going to take a little time though because i am in the middle of fixing some things in PyOSG. I'll let you know when i've made the updates. I'm not sure where that Segfault is comming from either; its strange, but maybe as we do more testing, it will become clear. In the meantime it does not seem like a big problem because i don't think that that many objects should ever be intersecting in the first place. -brett --- Timothy Stranex <ti...@st...> wrote: > Hello, > > I've finally been able to get OSG and PyOSG built and installed. > > On Sat, 2004-10-02 at 22:33, brett hartshorn wrote: > > I have ported tutorial2.py and tutorial3.py to use PyOSG as the renderer, i thought > > that someone may want to include them in CVS because i think it might be another good > > example. > > They're pretty cool. I have two suggestions, if you're interested: > > 1. In tutorial2_osg.py, start with the camera further away from the > blocks and facing them. > 2. In tutoiral3_osg.py, add a little more light and colour the base > plane. > > > Also attached is the file named tutorial3_osg_segfault.py. This file will crash when you > > run it because it seems that if more than 34 bodies collide at once (at least on the first > > frame if they are all intersecting), then pyODE will crash by segmentation fault. > > After testing it on my computer, it segfaults if here are more than 68 > objects. I've done some looking but I can't work out what's causing it. > The segfault occurs in world.step() or world.quickStep(). My > investigation found two potential problems: > > 1. Body.setMass() takes a Mass object argument. It doesn't keep a > reference to it but uses its dMass Mass._mass for dBodySetMass(dBodyID, > const dMass *mass). If the Mass object is deallocated, ODE could still > try to access it. > > 2. ContactJoint uses Contact objects for ODE calls without keeping > references. ODE might still try to access it even if the Contact object > has been deallocated. > > I'm not entirely sure if the above points are correct because none of > the tutorials ever crash even though they could by the above mechanisms. > Also, fixing them doesn't fix the segfault problem above. > > What do you think? > > -- > Timothy Stranex <ti...@st...> > > ATTACHMENT part 2 application/pgp-signature name=signature.asc _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com |
From: Timothy S. <ti...@st...> - 2004-10-08 11:05:20
|
Hello, I've finally been able to get OSG and PyOSG built and installed. On Sat, 2004-10-02 at 22:33, brett hartshorn wrote: > I have ported tutorial2.py and tutorial3.py to use PyOSG as the renderer,= i thought > that someone may want to include them in CVS because i think it might be = another good > example.=20 They're pretty cool. I have two suggestions, if you're interested: 1. In tutorial2_osg.py, start with the camera further away from the blocks and facing them. 2. In tutoiral3_osg.py, add a little more light and colour the base plane. > Also attached is the file named tutorial3_osg_segfault.py. This file wil= l crash when you > run it because it seems that if more than 34 bodies collide at once (at l= east on the first > frame if they are all intersecting), then pyODE will crash by segmentatio= n fault. After testing it on my computer, it segfaults if here are more than 68 objects. I've done some looking but I can't work out what's causing it. The segfault occurs in world.step() or world.quickStep(). My investigation found two potential problems: 1. Body.setMass() takes a Mass object argument. It doesn't keep a reference to it but uses its dMass Mass._mass for dBodySetMass(dBodyID, const dMass *mass). If the Mass object is deallocated, ODE could still try to access it. 2. ContactJoint uses Contact objects for ODE calls without keeping references. ODE might still try to access it even if the Contact object has been deallocated. I'm not entirely sure if the above points are correct because none of the tutorials ever crash even though they could by the above mechanisms. Also, fixing them doesn't fix the segfault problem above. What do you think? --=20 Timothy Stranex <ti...@st...> |
From: Chris B. <C.J...@ed...> - 2004-10-06 10:49:35
|
On Wednesday 06 October 2004 06:06, brett hartshorn wrote: > Hi Chris, > > I tried swing_pyode_pyqt_demo but i get the following error: > brett@chitwan:~/pyode_cvs/swing$ ./test.py > init physics > ANCHOR at (0.0, 0.0, 3.0) > We have OpenGL support > TestWidget init > Unable to resolve Xmu symbols - please check your Xmu library installation. > > I think i have everything installed correctly, but i may be missing some > libs? I have already installed libxmuu-dev and libxmu-dev > > -brett Looks like its probably failing in QGLWidget.__init__(self,parent,name). Maybe there is some dependency problem with your QT/OpenGL libraries? |
From: brett h. <bha...@ya...> - 2004-10-06 05:06:12
|
Hi Chris, I tried swing_pyode_pyqt_demo but i get the following error: brett@chitwan:~/pyode_cvs/swing$ ./test.py init physics ANCHOR at (0.0, 0.0, 3.0) We have OpenGL support TestWidget init Unable to resolve Xmu symbols - please check your Xmu library installation. I think i have everything installed correctly, but i may be missing some libs? I have already installed libxmuu-dev and libxmu-dev -brett _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com |
From: Matthias B. <ba...@ir...> - 2004-10-05 17:56:59
|
brett hartshorn wrote: > body.getRotation() seems to return a long list of values that must be carefully mapped to a > matrix. Is there a way to get a simpler value like a vector or quat of a body's rotation? I'm > following tutorial3.py here is how its getting and setting rotation. > > R = body.getRotation() > T = mat4() > T[0,0] = R[0] > T[0,1] = R[1] > T[0,2] = R[2] > T[1,0] = R[3] > T[1,1] = R[4] > T[1,2] = R[5] > T[2,0] = R[6] > T[2,1] = R[7] > T[2,2] = R[8] > T[3] = (x,y,z,1.0) Well, the code could actually be a bit shorter: R = body.getRotation() T = mat4() T.setMat3(mat3(R)) T[3] = (x,y,z,1.0) You could also call getQuaternion() on the body, but to my knowledge OpenGL has no function that allows you to specify a rotation as a quaternion. That's why a 4x4 matrix is constructed from the 3x3 rotation matrix and the translation vector. - Matthias - |
From: Matthias B. <ba...@ir...> - 2004-10-05 16:34:33
|
brett hartshorn wrote: > I'm not sure excatly how the build process works on win32, but i belive its all done in > VisualStudio and not with the SConstruct file, although Scons can in theory work on both > platforms, i don't know how to set it up for that. Do you not have MSVS to build with? I have MSVC6 on my machine (and the project files are for the newer versions). We also have the newer versions and I tried to build it. It compiled for a while but then complained about a few missing environment variables... is the build process documented somewhere? But apart from that, I always thought Python modules have to be compiled using VC6 because that's the version used for the official Python interpreter... Has this changed in the latest version? - Matthias - |
From: Timothy S. <ti...@st...> - 2004-10-05 15:30:34
|
On Sat, 2004-10-02 at 22:33, brett hartshorn wrote: > I tried last nights CVS, i got a number of errors building it, I also get these warnings when building. They first appeared when I upgraded to GCC 3.3.3. What version of GCC do you have? I will contact the Pyrex author about it. > I have ported tutorial2.py and tutorial3.py to use PyOSG as the > renderer, i thought that someone may want to include them in CVS > because i think it might be another good example.=20 Sounds cool! > This file will crash when you run it because it seems that if more than 3= 4 bodies collide > at once (at least on the first frame if they are all intersecting), then = pyODE will crash > by segmentation fault. I'm not sure if this is a bug or just something t= hat should always > be avoided. I'm pretty sure it's a bug but I can't check (or try any of your tutorials) because I cannot get OSG to build. I get In file included from ../DatabasePager.cpp:1: ../../../include/osgDB/DatabasePager:24:34: OpenThreads/ScopedLock: No such file or directory and then few pages of errors. I'll have another go at it soon. --=20 Timothy Stranex <ti...@st...> |
From: brett h. <bha...@ya...> - 2004-10-05 05:30:54
|
body.getRotation() seems to return a long list of values that must be carefully mapped to a matrix. Is there a way to get a simpler value like a vector or quat of a body's rotation? I'm following tutorial3.py here is how its getting and setting rotation. R = body.getRotation() T = mat4() T[0,0] = R[0] T[0,1] = R[1] T[0,2] = R[2] T[1,0] = R[3] T[1,1] = R[4] T[1,2] = R[5] T[2,0] = R[6] T[2,1] = R[7] T[2,2] = R[8] T[3] = (x,y,z,1.0) glPushMatrix() glMultMatrixd(T.toList()) -brett _______________________________ Do you Yahoo!? Declare Yourself - Register online to vote today! http://vote.yahoo.com |
From: Chris B. <c.j...@ed...> - 2004-10-04 19:23:01
|
On Saturday 02 October 2004 21:33, brett hartshorn wrote: > i thought > that someone may want to include them in CVS because i think it might be > another good example. Hi, I also wrote a small example. Mine uses pyqt and pyode, the GUI was made in qtdesigner. You can download it from http://europa.dcs.ed.ac.uk:1234/~chrb/pub/swing_pyode_pyqt_demo.tar.bz2. Please consider it for inclusion as an example as well. It's well commented, has interaction between the qt buttons and ode simulation, and allows rotation and movement with the mouse. |