plib-users Mailing List for PLIB (Page 38)
Brought to you by:
sjbaker
You can subscribe to this list here.
2000 |
Jan
|
Feb
(24) |
Mar
(54) |
Apr
(29) |
May
(58) |
Jun
(29) |
Jul
(675) |
Aug
(46) |
Sep
(40) |
Oct
(102) |
Nov
(39) |
Dec
(40) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(45) |
Feb
(23) |
Mar
(30) |
Apr
(64) |
May
(28) |
Jun
(61) |
Jul
(55) |
Aug
(35) |
Sep
(24) |
Oct
(23) |
Nov
(21) |
Dec
(67) |
2002 |
Jan
(98) |
Feb
(23) |
Mar
(13) |
Apr
(23) |
May
(43) |
Jun
(45) |
Jul
(54) |
Aug
(5) |
Sep
(56) |
Oct
(17) |
Nov
(53) |
Dec
(26) |
2003 |
Jan
(67) |
Feb
(36) |
Mar
(22) |
Apr
(35) |
May
(26) |
Jun
(35) |
Jul
(10) |
Aug
(49) |
Sep
(17) |
Oct
(3) |
Nov
(30) |
Dec
(10) |
2004 |
Jan
(12) |
Feb
(18) |
Mar
(52) |
Apr
(50) |
May
(22) |
Jun
(13) |
Jul
(16) |
Aug
(23) |
Sep
(21) |
Oct
(29) |
Nov
(6) |
Dec
(26) |
2005 |
Jan
(9) |
Feb
(19) |
Mar
(13) |
Apr
(19) |
May
(12) |
Jun
(8) |
Jul
(6) |
Aug
(10) |
Sep
(22) |
Oct
(3) |
Nov
(6) |
Dec
(17) |
2006 |
Jan
(10) |
Feb
(8) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(8) |
Jul
(8) |
Aug
(13) |
Sep
(2) |
Oct
(1) |
Nov
(9) |
Dec
(6) |
2007 |
Jan
(3) |
Feb
(4) |
Mar
(12) |
Apr
(2) |
May
(6) |
Jun
|
Jul
(22) |
Aug
|
Sep
(9) |
Oct
(13) |
Nov
|
Dec
|
2008 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(4) |
May
(15) |
Jun
(28) |
Jul
(8) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2009 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(2) |
Apr
(7) |
May
(4) |
Jun
(2) |
Jul
(5) |
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
(7) |
Feb
(2) |
Mar
(1) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(1) |
Nov
(4) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Wolfram K. <w_...@rz...> - 2003-04-01 15:22:06
|
Hi, I am quite sure that zhou is correct and that if you either use Multithreaded for everything or singlethreaded for everything and do not mix, the problem will be solved. Look at=20 "project/settings/C++/code generation". Only link to things that match your model. Bye bye, Wolfram. |
From: SkyFlash <sky...@ch...> - 2003-04-01 04:35:51
|
I have a strange crash I dont really understand... If there is anyone that has experienced something similar and knows a solution please speak up. :) Basicly, I create a dialogbox, and close it when the callback for the button inside it is called. Once it closes I get a crash, access violation. Traceback: puOneShot::doHit(int 0, int 1, int 243, int 34) line 33 + 12 bytes puObject::checkHit(int 0, int 1, int 243, int 34) line 508 + 29 bytes puGroup::checkHit(int 0, int 1, int 243, int 34) line 212 + 29 bytes puMouse(int 0, int 1, int 394, int 316) line 378 + 42 bytes mouse(int 0, int 1, int 394, int 316) line 1004 + 21 bytes FREEGLUT! 0089661d() I made sure that the dialog box destructor was called before that, so somehow PUI seems to maintain the pointer somewhere internally and call it even after it was destroyed. (I think?) It may have something to do with the LiveInterface code(??), but I didnt manage to trace it down. Its prolly something stupid and I just dont see it.. sigh. Do I need to tell PUI I am deleting that dialogbox AND the buttons inside it?? Clean something up? Pop some interface from the stack?? Thx for any answer you might have... Ralf Pietersz Here is the code: ---------- snip ------------ void ClientApp::CreateNoticeBox (string text) { if (m_dialogbox != 0) return; if (m_dialogboxtext) delete m_dialogboxtext; m_dialogboxtext = new char [255]; strcpy (m_dialogboxtext, text.substr (0,254).c_str ()); m_dialogbox = new puDialogBox (puGetWindowWidth()/2-250, puGetWindowHeight()/2-50); { new puFrame (0, 0, 500, 100); puText* text = new puText (10, 55); text->setLabel (m_dialogboxtext); puOneShot* ok = new puOneShot (220, 15, 280, 45); ok->setLegend ("OK"); ok->setCallback (closedialogbox); } m_dialogbox->close (); m_dialogbox->reveal (); } void ClientApp::DestroyNoticeBox () { if (m_dialogbox) delete m_dialogbox; if (m_dialogboxtext) delete m_dialogboxtext; m_dialogbox = 0; m_dialogboxtext = 0; } static void closedialogbox (puObject *ob) { app->DestroyNoticeBox (); } static void mouse ( int button, int updown, int x, int y ) { puMouse ( button, updown, x, y ); glutPostRedisplay () ; app->HandleMouseClicks (button,updown,x,y); } |
From: Chito M. <chi...@ya...> - 2003-04-01 03:48:49
|
hi zhou! my problem is like this... i created a program that uses ssg just like the tux_example of PLIB. I successfully created it and it runs smoothly independently. so i stick it with the mfc (i got a tutorial that teaches how to integrate opengl in a dialog box) and errors such as conflict in mscvrt.lib and libcd.lib occur. then i removed the two libraries and errors again such as access violation on the addkid function of the ssg occur. my question is why is it that i do not have that kind of error when i run the program independently and if i integrate it with MFC so many errors occur... it's very confusing and frustrating!! anyway, thanks 4 your help i do hope u can help me with this... tnx in advance... __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://platinum.yahoo.com |
From: Wolfram K. <w_...@rz...> - 2003-03-31 18:39:39
|
Hi, You can use PrettyPoly as an example for that: prettypoly.sf.net Bye bye, Wolfram. |
From: <zh...@ya...> - 2003-03-28 16:09:04
|
Chito Miranda: In my program, plib work with MFC perfectly. I have not never meet your problem. please describe you problem, especial the error message more detail. Usually, when you use plib in MFC, there will be a warning message showing libc.lib (or debug version libcd.lib ) conflicting, which was mentioned by Erik Unemyr at 19 Mar 2003. This is not a bug, acctually, I have not find the side effect of such warning message. This problem is caused by MFC's habit of use multithread library, however the make file of plib use single thread library. Recompile plib with option /ML can remove the warning message. good luck zhou --------------------------------- Do You Yahoo!? "雅虎通网络KTV, 随时随地免费卡拉OK~~" |
From: Per L. <li...@ho...> - 2003-03-26 09:01:37
|
MDL is quite similar to BGL, but is used for describing aircraft models rather than scenery. They use the same internal format, but the file structure differs and BGL can define more things than just graphics (stuff like navaids, magnetic variation, etc.) Regards, Per ----- Original Message ----- From: "Paolo Leoncini" <p.l...@ci...> To: "Plib-Users" <pli...@li...> Sent: Tuesday, March 25, 2003 4:28 PM Subject: [Plib-users] MDL/BGL datafiles > Dear Plib friends, > > I'd like to understand how to load FS2002 bgl data files. In SSG I just saw > support for file extension mdl, yet no .mdl file is in the FS scene > database. I tried renaming a .bgl in .mdl with no success. > > Thanks && greetings - > > Paolo > > > ------------------------------------------------------------------------- > Paolo Leoncini phone: +39 (0823) 623134 > Visualization & Virtual Reality fax: +39 (0823) 623126 > CIRA - Italian Center for Aerospace Researches mailto:p.l...@ci... > Via Maiorise - 81043 Capua (CE) Italy http://www.cira.it > > > > ------------------------------------------------------- > This SF.net email is sponsored by: > The Definitive IT and Networking Event. Be There! > NetWorld+Interop Las Vegas 2003 -- Register today! > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > _______________________________________________ > plib-users mailing list > pli...@li... > https://lists.sourceforge.net/lists/listinfo/plib-users > |
From: <ste...@gm...> - 2003-03-25 17:21:23
|
Hi all, i try to open multiple openGL (sub)windows which all show the same ssg(root) under different perspectives. i use the ssgContext class and give every class another FOV, NearFar and so on. But what i see is the following: the first view is ok, but all other views looks blurred (as if the update is not completed) and the perspective is the same in all views. a little code example about the use of ssgContext would be appreciated. thanks, stephan -- +++ GMX - Mail, Messaging & more http://www.gmx.net +++ Bitte lächeln! Fotogalerie online mit GMX ohne eigene Homepage! |
From: Paolo L. <p.l...@ci...> - 2003-03-25 15:27:02
|
Dear Plib friends, I'd like to understand how to load FS2002 bgl data files. In SSG I just saw support for file extension mdl, yet no .mdl file is in the FS scene database. I tried renaming a .bgl in .mdl with no success. Thanks && greetings - Paolo ------------------------------------------------------------------------- Paolo Leoncini phone: +39 (0823) 623134 Visualization & Virtual Reality fax: +39 (0823) 623126 CIRA - Italian Center for Aerospace Researches mailto:p.l...@ci... Via Maiorise - 81043 Capua (CE) Italy http://www.cira.it |
From: Jeff L. <lo...@sl...> - 2003-03-24 17:52:54
|
> > Can't get plib-1.6.0 to ./configure on my laptop, which uses a GeForce 2 > Go card with recent NVidia drivers (from their site). I assume this is > due to the fact that NVidia messes with the previously installed OpenGL > stuff: > > [root@lapdance: /usr/local/src/plib-1.6.0]$ ./configure > > <snip> > > checking for glNewList in -lGL... yes > checking for gluLookAt in -lGLU... no > checking for gluLookAt in -lMesaGLU... no > configure: error: could not find working GLU library There's a good chance your libGLU is located elsewhere (like /usr/X11R6/lib). I've had to run './configure --with-GL=/usr/X11R6' in the past when that has happened. Jeff Long |
From: Bob S. <rc...@ma...> - 2003-03-23 01:18:29
|
Can't get plib-1.6.0 to ./configure on my laptop, which uses a GeForce 2 Go card with recent NVidia drivers (from their site). I assume this is due to the fact that NVidia messes with the previously installed OpenGL stuff: [root@lapdance: /usr/local/src/plib-1.6.0]$ ./configure <snip> checking for glNewList in -lGL... yes checking for gluLookAt in -lGLU... no checking for gluLookAt in -lMesaGLU... no configure: error: could not find working GLU library [root@lapdance: /usr/local/src/plib-1.6.0]$ ls -lFa /usr/lib/libGL* lrwxrwxrwx 1 root root 21 Sep 14 2002 /usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.2960* -r-xr-xr-x 1 root root 3572572 May 14 2002 /usr/lib/libGLcore.so.1.0.2960* lrwxrwxrwx 1 root root 10 Sep 14 2002 /usr/lib/libGL.so -> libGL.so.1* lrwxrwxrwx 1 root root 17 Sep 14 2002 /usr/lib/libGL.so.1 -> libGL.so.1.0.2960* -r-xr-xr-x 1 root root 281244 May 14 2002 /usr/lib/libGL.so.1.0.2960* Anyone figured out how to get this to compile? TIA - Bob -- ________________________________________ Bob Sully - Simi Valley, California, USA http://www.malibyte.net "The waiting is the hardest part." - T. Petty |
From: Chito M. <chi...@ya...> - 2003-03-21 07:26:37
|
Hi Erik... tnx 4 your help it is quite useful... but the problem is that it still can't work with MSVC++'s mfc (esp the dialog box). Opengl works fine when you integrate it with mfc but PLIB, does not... i really don't know why ... pls help... tnx nyways :) __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: Eero P. <epa...@ko...> - 2003-03-19 19:03:53
|
SkyFlash wrote: > > Well, what I did was something like this: > > string charactername; > > if (characterexists) > m_characterselect->setLegend (charactername.c_str()) > else > m_characterselect->setLegend ("None") > I get a creepy feeling when I see the c_str()... The value returned from it certainly doesn't stay valid if you in anyway change the charactername string, including allowing it to go out of scope. On the other hand even if I understand how this would cause corrupted output, it is not so obvious what would cause the actual crash. That might depend on the malloc implementation though. Eero |
From: SkyFlash <sky...@ch...> - 2003-03-19 17:36:55
|
> This is odd, I don't think C-language string constants > (literals) should be destroyed or become invalid when they > are "out of scope"- Neither did I. :) > Certainly the most typical legend usage I have is: > > button->setLegend("My Button"); > > and it works fine. C++ standard library "strings" are an > other thing, and they might cause problems. Well, what I did was something like this: string charactername; if (characterexists) m_characterselect->setLegend (charactername.c_str()) else m_characterselect->setLegend ("None") Now, wheneever there was no character and the static "None" was set it crashed. This here works fine: if (characterexists) m_characterselect->setLegend (charactername.c_str()) //else // m_characterselect->setLegend ("None") And it displays the character names on the buttons. Of course it probably trashes memory at some point. :P Ralf Pietersz |
From: Eero P. <epa...@ko...> - 2003-03-19 11:09:16
|
SkyFlash wrote: > I just discovered that setLegend will copy my char* instead of copying > the content, so if I pass in > a constant like "Value" it crashes after the memory is out of scope. This is odd, I don't think C-language string constants (literals) should be destroyed or become invalid when they are "out of scope"- Certainly the most typical legend usage I have is: button->setLegend("My Button"); and it works fine. C++ standard library "strings" are an other thing, and they might cause problems. > Also if I pass in a temporary variable and delete > it afterwards it crashes.... > Yes, this is to be expected. > How am I supposed to change the value of the legend of a widget after > its created? > If I have needed to "inplace edit" widget legends I have either used static char arrays or dynamically allocated memory buffers, which I have then passed to setLegend. Of course for dynamic allocation the buffer cannot be freed before the widget has been destroyed. Eero |
From: Erik U. <un...@et...> - 2003-03-19 10:42:13
|
Hi, I do not know if this i completely related to your problem, but in my project file I had to put libcd.lib as an ignored library in project settings. This might help (maybe not). I suppose you have added the plib lib files correctly. Best regards, Erik On Wed, 2003-03-19 at 07:05, Chito Miranda wrote: > Hello peeps! I'm new to this list and i really need > someone's help. We created a simulation project that > simulates a life of a creature. It should be in a > dialog box(mfc) msvc++. The problem is that errors > like linker errors that states that there is a > conflict with the default lib: mscvrt.lib. I tried to > remove that lib but still there is an error. What > should we do?? Pls help... > > __________________________________________________ > Do you Yahoo!? > Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! > http://platinum.yahoo.com > > > ------------------------------------------------------- > This SF.net email is sponsored by: Does your code think in ink? > You could win a Tablet PC. Get a free Tablet PC hat just for playing. > What are you waiting for? > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en > _______________________________________________ > plib-users mailing list > pli...@li... > https://lists.sourceforge.net/lists/listinfo/plib-users -- ------------------------------------------- Erik Unemyr E-mail: un...@et... Student @ Chalmers University of Technology ------------------------------------------- |
From: Chito M. <chi...@ya...> - 2003-03-19 06:05:20
|
Hello peeps! I'm new to this list and i really need someone's help. We created a simulation project that simulates a life of a creature. It should be in a dialog box(mfc) msvc++. The problem is that errors like linker errors that states that there is a conflict with the default lib: mscvrt.lib. I tried to remove that lib but still there is an error. What should we do?? Pls help... __________________________________________________ Do you Yahoo!? Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop! http://platinum.yahoo.com |
From: SkyFlash <sky...@ch...> - 2003-03-19 02:44:13
|
I just discovered that setLegend will copy my char* instead of copying the content, so if I pass in a constant like "Value" it crashes after the memory is out of scope. Also if I pass in a temporary variable and delete it afterwards it crashes.... How am I supposed to change the value of the legend of a widget after its created? Ralf Pietersz |
From: <zh...@ya...> - 2003-03-16 01:49:21
|
The plib is a very good library, thank for Steve. There seems some promble in the member function removekid. After creating a scene, I can't edit it with removekid. I modify the source code of ssgBranch::removeKid ( ssgEntity *entity ) like this void ssgBranch::removeKid ( ssgEntity *entity ) { entity -> ref(); // This line is added by me entity -> removeParent ( this ) ; kids.removeEntity ( entity ) ; dirtyBSphere () ; entity -> deRef(); // This line is added by me } Now, it seems work normally. The developing tools used by me are VC++ 6.0 and Plib 1.6.0. I don't know if other guys meet this problem. I hope Steve can fix this problem in the future plib. --------------------------------- Do You Yahoo!? 雅虎娱乐新鲜到底,电子周报快乐到家! |
From: Steve B. <sjb...@ai...> - 2003-03-16 01:00:47
|
John Reppy wrote: > Has anyone ported plib to MacOS X? The config.guess file distributed > in both plib-1.6.0 and 1.7.0 dates back to 1999 and does not recognize > MacOS X. I expect that it should be fairly easy to do the port, but > I don't want invest the time if someone else has already done so. The version in CVS certainly works on MacOS X - I thought the earlier versions did too...but perhaps not with the configure mechanism. ---------------------------- Steve Baker ------------------------- HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://www.sjbaker.org Projects : http://plib.sf.net http://tuxaqfh.sf.net http://tuxkart.sf.net http://prettypoly.sf.net -----BEGIN GEEK CODE BLOCK----- GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M- V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++ -----END GEEK CODE BLOCK----- |
From: John R. <jh...@cs...> - 2003-03-15 21:38:27
|
Has anyone ported plib to MacOS X? The config.guess file distributed in both plib-1.6.0 and 1.7.0 dates back to 1999 and does not recognize MacOS X. I expect that it should be fairly easy to do the port, but I don't want invest the time if someone else has already done so. - John |
From: Steve B. <sjb...@ai...> - 2003-03-15 03:13:45
|
Erik Unemyr wrote: > Hello, > > I would like to change the scaling of a texture on an object. > What would be the easiest way to do that? You could push/pop the texture transform matrix in the SSG draw callback. It's usually just easier to multiply the texture coordinates yourself, unless there are truly VAST numbers of vertices that have to be continually re-scaled, it's generally not worth the overhead to do it with the texture matrix. ---------------------------- Steve Baker ------------------------- HomeEmail: <sjb...@ai...> WorkEmail: <sj...@li...> HomePage : http://www.sjbaker.org Projects : http://plib.sf.net http://tuxaqfh.sf.net http://tuxkart.sf.net http://prettypoly.sf.net -----BEGIN GEEK CODE BLOCK----- GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M- V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++ -----END GEEK CODE BLOCK----- |
From: SkyFlash <sky...@ch...> - 2003-03-14 17:38:46
|
Additionally to my last problem, I am having difficulties with puInput.. Basicly, I want the input to be active and accepting input at all times, even when mouseclicks elsewhere happen. I tried doing it with puSetActiveWidget, but that doesnt work. Its not doing anything, I call it in every callback after the pu events are done, but still I get no I cursor in the input box and its not accepting input. Btw, I also do call acceptinput on the widget after every call that could take it away. Then, I want to capture the enter key event and then clear the string in the input and handle it, while still accepting the next input in the textbox. That doesnt work as well, cause there is no callback that gets called when the enter key is pressed. It does of course call the normal callback, but that one is also called when you click the input widget, so its useless cause I dont wanna send the string when someone clicks the widget, but only when enter is pressed. I also cant check for enter in the callback cause its not added to the string apparently, thus I cannot check whether the callback was called for the enter key or for clicking the mouse on it. I hope there are solutions for that... thx Ralf Pietersz |
From: <le...@ci...> - 2003-03-14 17:02:21
|
Quoting Erik Unemyr <un...@et...>: > Hello, > > I would like to change the scaling of a texture on an object. > What would be the easiest way to do that? Official SSG approach: put your object under (kid of) a ssgTextureTransform node, where you can issue the transformation you need to apply to the texture. My preferred: set an object's pre-draw callback which apply the texture matrix: glmatrixmode GL_TEXTURE; glloadmatrix <your matrix> or glscale ...; return 1; and a post-draw callback to reset the texture matrix: glmatrixmode GL_TEXTURE; glloadidentitymatrix; return 1; I like the latter since you don't need to rearrange your scene graph, just need object's node pointer. So I use it for leaf objects (meshes). Sorry for the pseudoGLcode, I can never remember exactly the call syntax when I'm far from my sources. > Best regards, > > Erik Greetings - Paolo ------------------------------------------- Paolo Leoncini E-mail: p.l...@ci... ------------------------------------------- > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge is now open! > Get cracking and register here for some mind boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > plib-users mailing list > pli...@li... > https://lists.sourceforge.net/lists/listinfo/plib-users > |
From: SkyFlash <sky...@ch...> - 2003-03-14 15:51:15
|
I basicly want to have a custom GUI that not only changes in color, but uses transparent graphics as background for the widgets. How do I go about implementing that? From what I read in the docs I guess the widgets cant load any graphics directly, so I will have to write a user render callback. But how do I then render the widget in the PLIB window in 2D? Does PLIB have API to load and display bitmaps in 2D on the current screen, mixing it with 3D from ssg? How can I load the graphics into PLIB? If there are no PLIB calls, how do I use freeglut to draw bitmaps to the screen? Are there any example apps that have custom gui to guide me? Thx for any help... Ralf Pietersz |
From: Erik U. <un...@et...> - 2003-03-14 08:42:31
|
Hello, I would like to change the scaling of a texture on an object. What would be the easiest way to do that? Best regards, Erik ------------------------------------------- Erik Unemyr E-mail: un...@et... Student @ Chalmers University of Technology ------------------------------------------- |