From owner-info-inventor-dev@oss.sgi.com Sat Apr 7 15:36:30 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f37MaUL31985 for info-inventor-dev-outgoing; Sat, 7 Apr 2001 15:36:30 -0700 Received: from marx. (root@foofoo.demon.nl [212.238.104.35]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f37MaRM31982 for ; Sat, 7 Apr 2001 15:36:27 -0700 Received: from localhost (root@localhost) by marx. (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id AAA01841; Sun, 8 Apr 2001 00:36:09 +0200 Date: Sun, 8 Apr 2001 00:36:09 +0200 (CEST) From: Johan Jansson X-Sender: root@marx. To: info-inventor-dev@oss.sgi.com, coin-discuss@sim.no Subject: Intersection Detection test implementation Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk Hi everyone, I need intersection detection for my work, and I thought while I was doing it anyway, I could just as well try to fit it into the Open Inventor framework (since it would end up looking something like that anyway I suppose). I've made a start, but I can't figure out some things, so I thought maybe some other people have more knowledge than me on these things, and could help me out. I haven't seen this functionality mentioned in the Coin documentation, and it's not in the LGPL Open Inventor release, so I hope I can find someone who's interested. First of all, I know about the TGS SoIntersectionDetectionAction, and I think it's somewhere along those lines I'm aiming. I guess it would be good to standardize, and follow the same API, but I'm not sure how TGS feels about us reimplementing their additions, maybe someone could comment on that? I guess there should be some sort of standard like with OpenGL? Anyway, I guess we should solve the technical issues first. What I've done is use the LGPL SOLID (http://www.win.tue.nl/cs/tt/gino/solid/) intersection detection library (it uses AABB trees, and should be somewhere around O(n lg n)), and feed simplices (triangles, lines, points) from a SoCallbackAction to that. I then get back all the node pairs which intersect (I guess it could also be done more fine-grained, if that's required). Here is the relevant part of the header for my test class: #include typedef void IntersectionCB(SoNode *, SoNode *); class IntersectionDetector { protected: public: IntersectionCB *icb; map nodeshape; IntersectionDetector(); void setIntersectionCallback(IntersectionCB *cb); void apply(SoNode *); }; With the help of the PreCallback mechanism of SoCallbackAction: SoCallbackAction::Response preCallback(void *data, SoCallbackAction *, const SoNode *node); it's possible to map Inventor nodes to shapes in the SOLID library. SOLID's shape building works similar to OpenGL, so everything is really straightforward. All is well and good with this, but the aim is to make this into a SoAction, and specifically to deal with paths instead of nodes, and that's where I'm getting stuck. I haven't dwelved very deeply into creating Inventor classes, but looking at the ToolMaker examples, it seems to just follow the conventions. I've looked a bit at the code for the actions in the Inventor library to try to understand how they deal with paths, but I have to say I still don't really understand it (it feels like some code is missing in some places, but obviously that's not the case since it works :) ). So I would be very grateful if someone could give some comments which maybe could clarify how this could fit together with paths. Are the paths kept track of while traversing the graph with an action, or something like that? If so, I guess it would then be possible to store the current path when the SoCallbackAction callback is called. This solution seems a bit backwards though... I've put up an archive of the test implementation and a test application here: http://www.student.nada.kth.se/~d96-jja/misc/intersect.tgz The test application loads a specified file, creates a line from origo to outside the bounding box of the imported graph, and tests everything for intersection. It works with no problems as far as I can see, only that it can't distinguish between same nodes in a graph, as I've mentioned. I've also mirrored a release of the SOLID library, since the server seems to be down sometimes: http://www.student.nada.kth.se/~d96-jja/mirror/solid-990813.tgz If we can implement something similar to the SoIntersectionDetectionAction, I think it should be added to the SGI LGPL Open Inventor library. I'm not sure if the maintainers have thought about things like this, maybe you have some comments (Jonathan?)? I'm also not sure about the relation between the Coin library and the SGI library, is a merge planned or something like that? I also want to say that I've grown to like the Open Inventor way of doing things more and more (though I'm still hesitant about some parts), so I've gone from just using it to implement certain convenience functions to using it as a base for major parts of my project. So thanks again SGI for making it LGPL, and I hope it will continue to be actively used and developed. Johan From owner-info-inventor-dev@oss.sgi.com Tue Apr 10 03:25:10 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f3AAPAR00870 for info-inventor-dev-outgoing; Tue, 10 Apr 2001 03:25:10 -0700 Received: from dutos1.tudelft.nl (dutos1.tudelft.nl [130.161.172.2]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f3AAP5M00867 for ; Tue, 10 Apr 2001 03:25:05 -0700 Received: from io.tudelft.nl ([130.161.174.134]) by dutos1.tudelft.nl (Post.Office MTA v3.1.2 release (PO203-101c) ID# 0-36353U700L200S0) with ESMTP id AAA28293; Tue, 10 Apr 2001 11:24:58 +0100 Message-ID: <3AD2DF76.D33AA319@io.tudelft.nl> Date: Tue, 10 Apr 2001 12:24:54 +0200 From: J.Jansson@io.tudelft.nl (jansson) X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 To: Peder Blekken CC: coin-discuss@sim.no, info-inventor-dev@oss.sgi.com Subject: Re: [coin-discuss] Intersection Detection test implementation References: <20010409163820.A18429@sim.no> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk Peder Blekken wrote: > > I think it's a good idea to use the API from TGS' > SoIntersectionDetectionAction. If you do that, people can alternate > between using Coin, SGI Inventor and TGS Inventor. Yes, you're right. I guess if we need extra or modified functionality we can make our own extensions to that. > > : What I've done is use the LGPL SOLID [...] > > I haven't done any research on Intersection detection algorithms, so I > cannot comment on whether this is a good choice or not. Have you read the > discussions on the UNC Collide Research Group web page? > > http://www.cs.unc.edu/~geom/collide/index.shtml Yes, I've now read it. The papers on SOLID refer to these approaches, and make performance comparisons. The differences are not very significant. Also, as far as I know, there are not that many (i.e. 1 or 2) free software collision detection packages, and SOLID is the only one with significant scientific analysis behind it. [SoPath additions explained] Thanks! This is what I was looking for. I've made a quick implementation of your comments, and it seems to work correctly. I'll try to convert it into a SoIntersectionDetectionAction as soon as I have some free time. > > : If we can implement something similar to the > : SoIntersectionDetectionAction, I think it should be added to the SGI > : LGPL Open Inventor library. I'm not sure if the maintainers have thought > : about things like this, maybe you have some comments (Jonathan?)? I'm also > : not sure about the relation between the Coin library and the SGI library, > : is a merge planned or something like that? > > No merge is planned between Coin and SGI Inventor. We'll always try to > be API compatible though, so if you write an extension, it should be no > problem to use it in both Coin and SGI Inventor. > > Peder I just now read the licensing discussion on the Coin page, and I now see the reason. As you mention though, I guess it will be no problem to use everything interchangeably. Johan From owner-info-inventor-dev@oss.sgi.com Wed Apr 11 06:03:14 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f3BD3E203887 for info-inventor-dev-outgoing; Wed, 11 Apr 2001 06:03:14 -0700 Received: from smtp.cs.curtin.edu.au (IDENT:root@smtp.cs.curtin.edu.au [134.7.1.4]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f3BD3DM03884 for ; Wed, 11 Apr 2001 06:03:13 -0700 Received: from lillee.cs.curtin.edu.au ([134.7.1.2]) by smtp.cs.curtin.edu.au with esmtp (Exim 3.20 #5) id 14nKGP-00075t-00; Wed, 11 Apr 2001 21:02:25 +0800 Received: (from raytrace@localhost) by lillee.cs.curtin.edu.au (8.9.3/8.9.3) id NAA27730; Wed, 11 Apr 2001 13:02:33 GMT Date: Wed, 11 Apr 2001 13:02:33 GMT From: Message-Id: <200104111302.NAA27730@lillee.cs.curtin.edu.au> To: info-inventor-dev@oss.sgi.com Subject: Openinventor problem, a request for help if you have time Cc: raytrace@smtp.cs.curtin.edu.au Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk Hi, I am loathe to ask this because I know you are all probably very busy and feel that "here is yet another turnip who has not RTFM." I am an experienced Unix systems programming type person although relatively new to the Linux environment. My previous experience has been with a large number of different SGI boxes and I was delighted to see the OpenInventor port. I grabbed the RPMS: sgi-OpenInventor-clients-2.1.5-6.i386.rpm sgi-OpenInventor-devel-2.1.5-6.i386.rpm sgi-OpenInventor-data-2.1.5-6.i386.rpm installed, rehashed my path and headed to the /usr/share/data/models to try ivview. Unfortunately ivview said different size for XmStrings, try relinking. But worse: Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server Xlib: connection to ":0.0" refused by server Xlib: Client is not authorized to connect to Server Segmentation fault (core dumped) And yes I was sitting on the machine, not remotely, my DISPLAY was set correctly. I do have the NVIDIA drivers and GLX (0.9-2). I believe I have cleared out the Mesa libraries. My system is: teapot % uname -a Linux teapot 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown I thought that maybe the Motif libraries shipped with RedHat 6.2 were causing the problem. I grabbed a new LessTif to create a new libXm ls -l /usr/X11R6/lib/libXm.* -rw-r--r-- 1 root root 1410926 Jan 29 1999 /usr/X11R6/lib/libXm.a -rw-r--r-- 1 root root 459 Jan 29 1999 /usr/X11R6/lib/libXm.la lrwxrwxrwx 1 root root 32 Apr 5 11:04 /usr/X11R6/lib/libXm.so -> ../LessTif/Motif2.0/lib/libXm.so* lrwxrwxrwx 1 root root 34 Apr 6 09:06 /usr/X11R6/lib/libXm.so.1 -> ../LessTif/Motif1.2/lib/libXm.so.1* lrwxrwxrwx 1 root root 14 Apr 5 11:04 /usr/X11R6/lib/libXm.so.2 -> libXm.so.2.0.1* lrwxrwxrwx 1 root root 38 Apr 5 11:04 /usr/X11R6/lib/libXm.so.2.0.0 -> ../LessTif/Motif2.0/lib/libXm.so.2.0.0* -rwxr-xr-x 1 root root 3928115 Apr 2 20:51 /usr/X11R6/lib/libXm.so.2.0.1* Same refusal problem - XmStrings has gone away. Grabbed the openinventor code and started compiling as per the instructions. Hit a snag with the doc creation because the use of ivman had the same above problem with refusal by server. IF I create the ivman binary with static linking, it works, so does ivview: /usr/bin/g++ -L../../samples/widgets ivview.o ../../samples/widgets/libInventorWidget.a ../../../libSoXt/libInventorXt.a \ ../../../lib/libInventor.a \ -L/usr/X11R6/lib -lXm -lXt -lXext -lXi -lX11 -lm -lInventor -lGLU -lGL -lXp But the standard dynamic link always gives the above error. The statically linked ivman now creates the docs but a later error - no Motifdrawingareawidget class - stopped further compilation. Got the Mesa source, compiled the widgets-sgi source with Motif included, updated the library. Continued the compile and all compiles ok. The binary directory looks like: total 576 -rwxr-xr-x 1 raytrace staff 17332 Apr 11 17:35 ivinfo* -rwxr-xr-x 1 raytrace staff 94604 Apr 11 17:35 ivfix* -rwxr-xr-x 1 raytrace staff 21830 Apr 11 17:35 ivcat* -rwxr-xr-x 1 raytrace staff 104212 Apr 11 17:35 ivview* -rwxr-xr-x 1 raytrace staff 124371 Apr 11 17:35 ivdowngrade* -rwxr-xr-x 1 raytrace staff 44 Apr 11 17:35 iv2toiv1* -rwxr-xr-x 1 raytrace staff 180338 Apr 11 17:35 SceneViewer* and the dynamically compiled ivview looks like: teapot % ldd ivview libInventorXt.so => /usr/lib/libInventorXt.so (0x4001b000) libInventor.so => /usr/lib/libInventor.so (0x400a1000) libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0x404ef000) libm.so.6 => /lib/libm.so.6 (0x40531000) libc.so.6 => /lib/libc.so.6 (0x4054f000) libXm.so.1 => /usr/X11R6/lib/libXm.so.1 (0x40644000) libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x4073f000) libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x40787000) libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x40794000) libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x4079c000) libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x4085f000) libGL.so.1 => /usr/lib/libGL.so.1 (0x4087b000) libXp.so.6 => /usr/X11R6/lib/libXp.so.6 (0x408a5000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x408ac000) libdl.so.2 => /lib/libdl.so.2 (0x408cb000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x408cf000) libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x408d9000) libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x408ef000) libpthread.so.0 => /lib/libpthread.so.0 (0x40a55000) But still I get the server refusal. Looks like a NVIDIA driver problem but I cant see why? I think this is a red herring. And why does the statically linked code work but not the dynamic (besides the obvious reason). So, if you are not fed up by the end of reading this long email (purposefully made long to help you in your understanding), then if you could shed some light on this I would appreciate it as I would love to continue teaching Inventor on the new Linux boxes that we have. If you need any more information, just email and I will oblige. If you could point me to some rpms not suffering this problem, etc,etc, I would love it. thanks for your time and hope this is not tooooooo onerous. bye for now Andrew Marriott. Senior Lecturer. --------------------------------------------+---------------------------------- * Internet: raytrace@cs.curtin.edu.au * * URL : http://www.cs.curtin.edu.au/~raytrace/ * * * * Mail : School of Computing | Tel: +618 9266 7680 * * Curtin University of Technology | Fax: +618 9266 2819 * * Hayman Road, Bentley * * Western Australia, 6102 * --------------------------------------------+---------------------------------- From owner-info-inventor-dev@oss.sgi.com Wed Apr 11 14:28:47 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f3BLSlc19629 for info-inventor-dev-outgoing; Wed, 11 Apr 2001 14:28:47 -0700 Received: from sgi.com (sgi.SGI.COM [192.48.153.1]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f3BLSkM19626 for ; Wed, 11 Apr 2001 14:28:46 -0700 Received: from boeing.engr.sgi.com ([130.62.55.185]) by sgi.com (980327.SGI.8.8.8-aspam/980304.SGI-aspam: SGI does not authorize the use of its proprietary systems or networks for unsolicited or bulk email from the Internet.) via ESMTP id OAA07136 for ; Wed, 11 Apr 2001 14:28:46 -0700 (PDT) mail_from (flynnt@engr.sgi.com) Received: from localhost (flynnt@localhost) by boeing.engr.sgi.com (SGI-8.9.3/8.9.3) with ESMTP id OAA13157; Wed, 11 Apr 2001 14:27:09 -0700 (PDT) X-Authentication-Warning: boeing.engr.sgi.com: flynnt owned process doing -bs Date: Wed, 11 Apr 2001 14:27:09 -0700 From: Tom Flynn To: raytrace@smtp.cs.curtin.edu.au cc: info-inventor-dev@oss.sgi.com Subject: Re: Openinventor problem, a request for help if you have time In-Reply-To: <200104111302.NAA27730@lillee.cs.curtin.edu.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk On Wed, 11 Apr 2001 raytrace@smtp.cs.curtin.edu.au wrote: > But worse: > Xlib: connection to ":0.0" refused by server > Xlib: Client is not authorized to connect to Server > Xlib: connection to ":0.0" refused by server > Xlib: Client is not authorized to connect to Server > Segmentation fault (core dumped) xhost + or xhost localhost -- "Mongooses are famous for their snake-fighting ability, and are almost always victorious because of their speed, agility, and timing and also because of their thick coat." From owner-info-inventor-dev@oss.sgi.com Thu Apr 12 06:09:30 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f3CD9Ud05869 for info-inventor-dev-outgoing; Thu, 12 Apr 2001 06:09:30 -0700 Received: from diamond.waii.com (firewall-user@diamond.waii.com [198.3.192.201]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f3CD9SM05865 for ; Thu, 12 Apr 2001 06:09:28 -0700 Received: from mail1.wg.waii.com (mail.wg.waii.com [137.144.128.17] (may be forged)) by diamond.waii.com (8.9.1/8.9.1) with ESMTP id IAA18686; Thu, 12 Apr 2001 08:09:27 -0500 (CDT) Received: from merlin.london.waii.com (merlin.london.waii.com [136.250.33.1]) by mail1.wg.waii.com (8.8.7/8.8.7) with ESMTP id IAA20092; Thu, 12 Apr 2001 08:08:53 -0500 Received: from rgs0.london.waii.com (rgs0.london.waii.com [136.250.40.10]) by merlin.london.waii.com (8.8.4/8.8.4) with ESMTP id OAA32104; Thu, 12 Apr 2001 14:09:24 +0100 Received: (from mbrett@localhost) by rgs0.london.waii.com (SGI-8.9.3/8.9.3) id JAA04557; Thu, 12 Apr 2001 09:40:05 +0100 (BST) From: "Marc Brett" Message-Id: <10104120940.ZM4659@rgs0.london.waii.com> Date: Thu, 12 Apr 2001 09:40:05 +0100 In-Reply-To: Tom Flynn "Re: Openinventor problem, a request for help if you have time" (Apr 11, 2:27pm) References: X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: Tom Flynn , raytrace@smtp.cs.curtin.edu.au Subject: Re: Openinventor problem, a request for help if you have time Cc: info-inventor-dev@oss.sgi.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk On Apr 11, 2:27pm, Tom Flynn wrote: > Subject: Re: Openinventor problem, a request for help if you have time > On Wed, 11 Apr 2001 raytrace@smtp.cs.curtin.edu.au wrote: > > > But worse: > > Xlib: connection to ":0.0" refused by server > > Xlib: Client is not authorized to connect to Server > > Xlib: connection to ":0.0" refused by server > > Xlib: Client is not authorized to connect to Server > > Segmentation fault (core dumped) > > xhost + > > or > > xhost localhost If the messages are being generated on a Linux box with an nVidia graphics card trying to display OpenGL on a remote X server, then you can fix it by upgrading the nVidia driver to the latest version. -- Marc Brett +44 20 8560 3160 WesternGeco Marc.Brett@westerngeco.com 455 London Road, Isleworth FAX: +44 20 8847 5711 Middlesex TW7 5AA UK From owner-info-inventor-dev@oss.sgi.com Tue Apr 24 06:24:22 2001 Received: (from majordomo@localhost) by oss.sgi.com (8.11.3/8.11.3) id f3ODOM016860 for info-inventor-dev-outgoing; Tue, 24 Apr 2001 06:24:22 -0700 Received: from moat.pweh.com (firewall-user@moat.pweh.com [192.54.250.131]) by oss.sgi.com (8.11.3/8.11.3) with ESMTP id f3ODOJM16857 for ; Tue, 24 Apr 2001 06:24:20 -0700 Received: (from uucp@localhost) by moat.pweh.com (8.8.8/8.8.8) id JAA13197; Tue, 24 Apr 2001 09:24:16 -0400 (EDT) Received: from drawbridge.eh.pweh.com(191.29.71.250) by moat.pweh.com via smap (4.1) id xma013090; Tue, 24 Apr 01 09:24:03 -0400 Received: (from uucp@localhost) by drawbridge.eh.pweh.com (8.8.8/8.8.8) id JAA10566; Tue, 24 Apr 2001 09:24:02 -0400 (EDT) Received: from motors.pratt-whitney.com(192.168.4.72) by drawbridge.eh.pweh.com via smap (4.0a) id xma010425; Tue, 24 Apr 01 09:23:47 -0400 Received: (from uucp@localhost) by motors.pratt-whitney.com (8.10.0/8.10.0) id f3ODNiA12754; Tue, 24 Apr 2001 09:23:44 -0400 (EDT) Received: from unknown(191.29.171.2) by motors.pratt-whitney.com via smap (V5.5) id xma012656; Tue, 24 Apr 01 09:23:35 -0400 Received: from ehposrv5.eh.pweh.com by pweh711.eh.pweh.com (SMI-8.6/SMI-SVR4) id JAA04989; Tue, 24 Apr 2001 09:23:32 -0400 Received: by ehposrv5.eh.pweh.com with Internet Mail Service (5.5.2654.52) id ; Tue, 24 Apr 2001 09:23:34 -0400 Message-ID: From: "Connolly, Steven V." To: "'jlim@kinabalu.csd.sgi.com'" Cc: "'info-inventor-dev@oss.sgi.com'" Subject: RE: OpenInventor on SUN, X error Date: Tue, 24 Apr 2001 09:23:26 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2654.52) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-info-inventor-dev@oss.sgi.com Precedence: bulk Jonathan, My Sun version appears to be working ok so far. Below is a list of the final changes I made. I didnt see that anyone else had actually submitted changes for the SUN workstations yet so I will try to send to you a copy of the 10 files that I changed as an attachment in a separate email. It would be great to have them merged with the originals. Most of the changes have been "#ifdef _sun" qualified but a couple havent. These involve declaring a "char*" with "const" and should work anywhere. It seemed silly to confine it to a sun version. I think the change to the definition of SbMat in "SbLinear.h" and "SbMatrix.c++" should also not be confined to the sun version via "#ifdef __sun" but since I do not have linux and sgi test cases to check results, I qualified those changes. You may consider making those changes global. I think that the more the versions are kept common, the easier it will be to maintain in the long run. I suspect other compilers may have issues with this. Maybe it should be qualified ("#ifdef") with something other than "__sun". A similar argument goes with the "NO_OVERLAY_PLANES" option but since this is a workaround and not a solution to the problem with overlay planes on SUNs I wont argue either way. I have limited knowledge on that subject and some one else could provide a more complete solution I'm sure. In any event, unless "-DNO_OVERLAY_PLANES" is specified, the changes have no affect. I hope these changes prove acceptable. At the time, it was easier for me to create my own Makefiles than to try to change the current ones so I have no changes there. (There's 782 lines in commondefs, 105 in commonrules, 127 in ivcommondefs, and 119 in ivcommonrules. Is that necessary?) The compiler options that I used: -mt -DSUN_OGL_NO_VERTEX_MACROS -DNO_OVERLAY_PLANES -DLIBRARYBUILD My final source code changes for running on SUN workstations: 1. inventor/lib/database/include/Inventor/SbBasic.h added the following include (for floorf, sqrtf, cosf, etc): #ifdef __sun #include #endif (so no need to compile with "-D_DOUBLE_MATH_ONLY") 2. inventor/lib/database/include/Inventor/SbLinear.h (line 84) redefined SbMat: #ifndef __sun // svc typedef float SbMat[4][4]; #endif /// svc #ifdef __sun struct float4vector { float vals[4][4] ; float* operator[](int index) const { return (float*) this->vals[index];} operator float*() const { return (float*) this->vals[0] ;} }; typedef float4vector SbMat ; #endif 3. inventor/lib/database/include/Inventor/SbTime.h (line 139) // outer ifndef added by svc SVC #ifndef INT32_MAX #ifndef __sgi #define INT32_MAX INT_MAX #endif // !__sgi #endif 4. inventor/lib/database/src/sb/SbMatrix.c++ (line 594) // svc #ifndef __sun float d, invmat[4][4], temp; #endif #ifdef __sun float d, temp; SbMat invmat ; #endif 5. inventor/lib/database/src/so/SoInput.c++ (line 2813) changed: char *firstPlus = strchr(n, '+'); to: const char *firstPlus = strchr(n, '+'); 6. inventor/lib/database/src/so/nodes/nurbs/head/mymath.h #ifdef __sun #include #endif (This change also worked when "types.h" was changed instead but "mymath.h" seemed more relavent.) 7. inventor/lib/interaction/src/nodekits/SoInteractionKit.c++ changed: ("Error: Cannot use const char* to initialize char*.") char *dotPtr = strchr( partName.getString(), '.' ); char *brackPtr = strchr( partName.getString(), '[' ); to: const char *dotPtr = strchr( partName.getString(), '.' ); const char *brackPtr = strchr( partName.getString(), '[' ); 8. inventor/libSoXt/src/mixedMode/SoXtSlider.c++ commented out the following line since stream.h could not be found: include 9. inventor/libSoXt/src/mtlEdit/SoXtMtlEdit.c++ (added a "no overlay planes" option. see p.366 "OpenGL Programming for the X Window System" by M. Kilgard) added these lines: #ifdef NO_OVERLAY_PLANES pulldown = XmCreatePulldownMenu(menubar, "editPulldown", NULL, 0); #endif #ifndef NO_OVERLAY_PLANES ... #endif // no overlay planes. 10. inventor/libSoXt/src/viewers/SoXtFullVwr.c++ (added a "no overlay planes" option) added these lines (in multiple locations): ifdef NO_OVERLAY_PLANES popupWidget = XmCreatePopupMenu(mgrWidget, "menu", NULL, 0); #endif // no overlay planes. #ifndef NO_OVERLAY_PLANES ... #endif // no overlay planes. ---------------------------------------------------------------------------- --------------- --------------------------- Steven Connolly CSC/Pratt & Whitney connolsv@pweh.com ---------------------------