irclog2html for #brlcad on 20070220

00:07.45 CIA-5 BRL-CAD: 03brlcad * 10brlcad/include/bu.h: export bu_argv0
00:15.29 IriX64 http://pastebin.com/884885 <===== for the record regressed back to distributed configure.ac and automake-1.9.6
00:16.16 louipc IriX64: try using the latest CVS it should work now
00:16.31 louipc with automake 1.10
00:16.36 IriX64 don't do CVS ;)
00:16.46 IriX64 btw its installing fine too.
00:17.48 louipc man pastebin is lagging
00:17.59 IriX64 noticed that.
00:18.41 IriX64 errr did you say it *works with 1.10?
00:18.51 louipc yes
00:18.59 brlcad ~pastebin
00:19.00 ibot from memory, pastebin is a place to paste your stuff without flooding the channel - try http://pastebin.ca, or http://channels.debian.net/paste, or http://rafb.net/paste/, or http://pastebin.com is usually painfully too slow and unresponsive to use, use one of the other pastebin sites
00:19.02 IriX64 the make install part too?
00:20.04 IriX64 louipc?
00:20.06 louipc yeah it was a problem with an empty variable because automake decided to name it with all caps out of the blue
00:20.40 louipc you just need autogen.sh and m4/mkdirp.m4
00:20.43 brlcad why it didn't work when you removed our mkdirp.m4 is still a mystery, but whatever it works
00:21.25 IriX64 ty
00:21.46 IriX64 takes a good man ;)
00:22.42 brlcad to do an evil deed?
00:22.44 IriX64 now to play with it, I'll be seriously neglecting the window for a while :)
00:23.05 IriX64 s /this/the
00:23.57 IriX64 evil has Eve's name in it for a reason.
00:25.47 IriX64 12 minute install time, gotta get a faster toaster.
00:32.27 ``Erik paste.lisp.org is teh seckzie
00:44.27 brlcad sucky? *duck*
00:50.24 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/mged/tedit.c: searching for a text editor.. needs the path on argv0, not just the name of the binary unless it's going to go hunting for it with bu_which().
00:51.35 louipc brlcad: I think it did work when I moved mkdirp.m4, just an error on my part hence 'oh no wait. ignore me' :P
01:04.16 brlcad louipc: ahh, okay.. good to know then, thx
01:04.20 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/dirname.c: extract bu_dirname() from malloc.c and put it in its own file. should consider using dirname() since it's part of posix (along with rt_basename() -> basename()).
01:06.17 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/Makefile.am: add dirname.c to the compilation
01:07.04 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/malloc.c: remove bu_dirname(), was moved to new file dirname.c.
01:14.49 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (include/bu.h src/libbu/malloc.c): get rid of the bu_strdup() dead code and comment how it's really an interface macro pass through that provides file:line info when bu debugging is enabled
01:17.38 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (src/libbu/libbu.dsp misc/win32-msvc7/libbu/libbu.vcproj): add dirname.c to the msvc build files
01:20.54 CIA-5 BRL-CAD: 03brlcad * 10brlcad/HACKING: at least for now.. bu_dirname() instead of dirname()
01:55.27 IriX64 why is castle all white and yellow ;)
01:58.55 IriX64 http://www.pastebin.ca/364290
03:11.01 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/tclscripts/ (ami.tcl ampi.tcl): make sure argv is set to avoid btclsh sourcing errors
03:11.49 louipc brlcad includes the latest utah-raster? 3.1b yeah?
03:12.27 louipc circa 1996
03:17.41 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (5 files in 2 dirs): naming consistency, rename rt_dspline.c sans prefix to dspline.c
03:20.01 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (include/raytrace.h src/librt/dspline.c): rename references of rt_dspline.c to dspline.c
03:24.06 CIA-5 BRL-CAD: 03brlcad * 10brlcad/sh/header.sh: eek, double Lesser Lesser
03:32.23 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (4 files in 4 dirs): less Lesser
03:33.11 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/bu_fgets.c: ws
03:38.08 CIA-5 BRL-CAD: 03brlcad * 10brlcad/ (5 files in 2 dirs): naming consistency, rename bu_fgets.c to fgets.c
03:38.57 CIA-5 BRL-CAD: 03brlcad * 10brlcad/misc/win32-msvc7/libbu/libbu.vcproj: bu_fgets.c was missing from the vc7 build file, but we can just go ahead and add its rename of fgets.c
03:39.14 brlcad louipc: yes, plus all patches as of last year
03:39.35 louipc oh wow
03:39.51 brlcad plus a few build fixes of our own, but nothing critical
03:39.51 louipc yeah it looks like a real mess in there
03:41.04 louipc I was going to make a packages of some stuff in other/ so I don't have to keep re-compiling it and such
03:41.22 brlcad yeah, we also don't quell their compilation warnings (same for most things in src/other) either, so it whines about quite a few things during compilation
03:41.38 brlcad some of them are in package systems
03:43.04 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/brlcad_path.c: use a filesystem group, these routines have nothing to do with logging
03:44.14 brlcad blt and iwidgets are often not available (but hard as hell to detect during configure) as well as openNURBS and tkimg .. everything else can usually be found
03:44.53 louipc is a lot of this being developed any more?
03:44.56 brlcad configure will automatically disable the compilation of anything it detects by default unless you enable an option that says to compile them
03:45.02 brlcad a lot of what?
03:45.08 louipc other/
03:45.11 brlcad oh yeah
03:46.27 brlcad the stable or otherwise dead codes are urtoolkit, awf, jove, libpng, libregex, libtermlib, libutahrle (part of URT), and libz
03:46.57 brlcad the others are fairly active, blt, incrTcl, iwidgets, tcl, tk, openNURBS, tkimg
03:47.01 louipc ah you split urt into two
03:47.48 brlcad yeah, not a great decision in hindsight, but it still has its benefits
03:47.52 louipc I downloaded the src from an ftp server and I'm not sure what to do with it hah
03:49.32 brlcad oh yeah, we did rewrite their build system too, so it compiles more reliably and cross-platform
03:49.49 brlcad but then that goes for just about everything in other
03:50.26 louipc ouch
03:51.52 louipc I guess I'll start with what you say is still active then
03:52.14 louipc thanks
03:53.13 brlcad which packaging system?
03:53.26 louipc archlinux
03:53.29 louipc pacman
03:53.30 brlcad ahh, that's right
03:54.58 brlcad fwiw, tcl/tk cannot be disabled in the current sources due to run-time path resource lookups that tcl tries to do (in order to use a system tcl), but then that is actually what i'm working on tonight
03:55.20 brlcad it's been a long-standing problem with using a system tcl/tk
03:55.42 louipc ah neat yeah you said gentoo people and others were complaining about it
03:56.05 brlcad that same issue trickles over to incrtcl, iwidgets, and blt, but this fix should take care of them all in one swoop
03:56.14 brlcad yeah all of the packaging systems
03:56.39 brlcad tk was the biggest problem, as we actually had additions made to their sources that we required
03:57.04 brlcad but I've since rewritten and removed the modifications so it can work with a vanilla tk
03:57.58 louipc ah
04:02.50 CIA-5 BRL-CAD: 03brlcad * 10brlcad/NEWS:
04:02.50 CIA-5 BRL-CAD: john continued to rock when he wrote bu_fgets() to allow automatic
04:02.50 CIA-5 BRL-CAD: cross-platform line handling ala fgets(), which doesn't necessarily handle all
04:02.50 CIA-5 BRL-CAD: of the various line endings that can be encountered (CR, LF, and CR/LF being the
04:02.50 CIA-5 BRL-CAD: predominant ones). in particular, this fix addresses a bug that was reported on
04:02.53 CIA-5 BRL-CAD: windows with dxf-g parsing files from another platform incorrectly. note the
04:02.55 CIA-5 BRL-CAD: fix as it applies to dxf-g at least.
04:04.49 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libbu/fgets.c: whoops, formatting asterick garbage on M-q
04:12.36 CIA-5 BRL-CAD: 03brlcad * 10brlcad/HACKING: should use bu_fgets() instead of fgets() since john's addition makes file for improved cross-platform processing support in general (parsing unix files on Windows, windows files on unix, etc).
04:14.40 ``Erik jra++
04:15.03 ``Erik if he wasn't so insanely impressive, I think I'd have moved my office downstairs.
04:15.33 ``Erik his gooby sh questions are well worth the "whoa, check me, yo" moments
04:19.46 brlcad yeah, he's like a machine
04:20.38 brlcad i think this update might just be one helluva collection of "bug fixes" if you consider the inability to parse foreign files a bug
04:21.08 brlcad gonna hit almost half the tools, about 150 tools
04:22.27 brlcad 250 instances
04:24.10 Maloeran http://en.wikipedia.org/wiki/Arimaa - This is a very nice board game, seems more interesting than Go
04:38.42 *** join/#brlcad IriX64 (n=who@bas3-sudbury98-1168056909.dsl.bell.ca)
06:23.21 *** join/#brlcad IriX64 (n=who@bas3-sudbury98-1168056909.dsl.bell.ca) [NETSPLIT VICTIM]
06:23.21 *** join/#brlcad deltazap (n=zap@pool-72-64-253-55.tampfl.fios.verizon.net) [NETSPLIT VICTIM]
06:23.21 *** join/#brlcad Twingy (n=justin@74.92.144.217) [NETSPLIT VICTIM]
06:23.21 *** join/#brlcad Maloeran (n=maloeran@c510091F5.inet.catch.no) [NETSPLIT VICTIM]
06:23.21 *** join/#brlcad CIA-5 (i=cia@cia.navi.cx)
06:24.52 *** join/#brlcad BlackSabbath (n=andre@S0106000fb5a0e5c5.gv.shawcable.net)
06:53.52 *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
07:26.26 *** join/#brlcad clock_ (i=clock@84-72-94-164.dclient.hispeed.ch)
07:31.10 *** join/#brlcad clock_ (i=clock@84-72-94-164.dclient.hispeed.ch)
07:37.55 *** part/#brlcad BlackSabbath (n=andre@S0106000fb5a0e5c5.gv.shawcable.net)
07:47.01 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/mged/tedit.c: oop, bu_argv0 requires an argument
07:51.19 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/conv/Makefile.am:
07:51.19 CIA-5 BRL-CAD: turns out that anything being compiled static with gcc and against openNURBS
07:51.19 CIA-5 BRL-CAD: needs the -fexceptions flag, that's what was causing the UnwindResume linkage
07:51.19 CIA-5 BRL-CAD: error. link conv-vg2g (ugh, needs renaming) and euclid_unformat against libbu
07:51.19 CIA-5 BRL-CAD: (needed for bu_fgets).
07:54.09 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/irprep/ (9 files): convert to bu_fgets(), which of course adds a libbu dependency if there wasn't one already. this allows processing of foreign text files with different line endings more consistently.
08:05.58 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/adrt/ (14 files in 7 dirs): revert the introduction of a libbu dependency to adrt, it's somewhat inconsequential value added just to get bu_getopt processing compared to the benefit of it still compiling stand-alone if needed.
08:10.52 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/adrt/librender/Makefile.am: heh, -lm is not a CFLAG, add it to LIBADD instead using LIBM (still need to get adrt's subconfigure working cleanly).
08:20.19 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/ (64 files in 22 dirs):
08:20.19 CIA-5 BRL-CAD: update all usages of fgets() to instead use john's swanktastic bu_fgets() that
08:20.19 CIA-5 BRL-CAD: behaves as one would generally want regardless of the line ending type of the
08:20.19 CIA-5 BRL-CAD: compilation platform or of the input files. bu_fgets() responds to input files
08:20.19 CIA-5 BRL-CAD: that use CR (usually old mac), LF (usually unix, new mac), or CR/LF (usually
08:20.21 CIA-5 BRL-CAD: windows) for the line ending so now these file do too effectivley squashing
08:20.23 CIA-5 BRL-CAD: buggish/bad behavior.
08:32.37 CIA-5 BRL-CAD: 03brlcad * 10brlcad/NEWS:
08:32.37 CIA-5 BRL-CAD: john's bu_fgets() fun and my update to the various tools that needed it ends up
08:32.37 CIA-5 BRL-CAD: improved the end-of-line (EOL) processing in about 70+ tools. basically any
08:32.37 CIA-5 BRL-CAD: command that read in a text file using fgets(). this fix is particularly
08:32.37 CIA-5 BRL-CAD: relevant for running our tools on windows where data files are frequently
08:32.39 CIA-5 BRL-CAD: migrated from the unix/linux/max side without a line-ending conversion.
08:39.20 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
08:56.25 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/mged/setup.c:
08:56.25 CIA-5 BRL-CAD: bu_getprogname seems to be behaving now, so use it for selection of the
08:56.25 CIA-5 BRL-CAD: executable name unless it does return null for some reason -- then default back
08:56.25 CIA-5 BRL-CAD: to just 'mged'. try (again?) to set auto_path before Tcl_Init since we need to
08:56.25 CIA-5 BRL-CAD: set up auto_path before init so the scripts, including init.tcl, can be found.
08:58.31 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/archer/archer: search for tcl/tk 8.5 too (we're upgrading to it now)
09:05.43 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/libtclcad/tkImgFmtPIX.c: add support for the newer tk 8.5 Tk_PhotoExpand and Tk_PhotoPutBlock functions that now expect an interp parameter, but retain compilation functionality on previous versions too
09:07.49 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/other/blt/src/bltNsUtil.h: comment out a couple function declarations that are apparently declared, at least in 8.5 though they're different/conflicting
09:10.09 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/other/incrTcl/itcl/generic/itcl_util.c: the specified internal assumptions being made by blt don't hold with tcl 8.5 (in particular the set macro doesn't exist), so just comment out that section of code.
09:17.43 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/rttherm/Makefile.am: add missing dependency on Tcl
09:20.07 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/other/openNURBS/Makefile.am: create an openNURBS noinst library so that we can fully resolve librtserver if brep support is enabled
09:22.05 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/Makefile.am: conditionally include opennurbs into libbrlcad (via the new noinst library) so that we can fully resolve all librt symbols
09:30.42 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/ (burst/extern.h nirt/showshot.c): need bu.h for bu_fgets()
12:55.13 *** join/#brlcad docelic (n=docelic@212.91.115.41)
13:45.16 *** join/#brlcad SWPadnos_ (n=Me@dsl245.esjtvtli.sover.net)
16:28.29 Maloeran Hum. I'm sorry to bother you with that, I wanted to familiarize myself with SURVICE's archer, what is this : Error in startup script: couldn't load file "/usr/brlcad/lib/tkimg.so": /usr/brlcad/lib/tkimg.so: undefined symbol: png_read_destroy ?
16:31.40 Maloeran Assuming that's why ./archer gives me a nice white X window
16:37.10 Maloeran Actually, that white window is bwish
16:58.06 *** join/#brlcad Twingy (n=justin@74.92.144.217)
17:25.15 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/other/libpng/Makefile.am: libpng.txt was moved to libpng-1.2.16.txt
17:26.32 Maloeran Erik, any tips about running Archer?
17:27.13 ``Erik um
17:27.14 ``Erik sure
17:27.15 ``Erik use windows
17:27.36 Maloeran It's supposed to run on Linux, is it not?
17:28.26 ``Erik um, mark said that it should, but windows is their dev platform *shrug* the error you're getting might be fixed by preloading libpng.so? *shrug*
17:28.43 ``Erik LD_PRELOAD=/usr/lib/libpng.so ./archer
17:29.05 Maloeran Error remains
17:29.10 ``Erik (or making tkimg.so link to libpng)
17:29.32 ``Erik does your libpng have that symbol? ...
17:30.21 Maloeran Doesn't seem to!
17:31.05 Maloeran Upgrading libpng from 1.2.12-r1 to 1.2.13 though that's not likely to help
17:31.08 ``Erik hm, upgrade it?
17:31.41 ``Erik 1.2.13? wow, how ancient :D 1.2.16 is included in BRL-CAD these days...
17:37.43 brlcad Maloeran: it does run on linux, but the version of archer in CVS hasn't been "fixed" to work out of the box
17:38.44 Maloeran Oh. I suppose there's no quick and easy fix available?
17:38.45 brlcad tkimg plugin is failing to load because of that png symbol is a linker issue in tkimg (or version problem with libpng)
17:39.01 brlcad quick and easy if you're familiar with archer, sure ;)
17:40.20 brlcad what does ldd on /usr/brlcad/lib/tkimg.so say regarding libpng?
17:41.59 Maloeran Linked to libpng12.so.0
17:44.20 Maloeran Same problem with 1.2.15, last version of libpng in Gentoo package tree
17:46.33 Maloeran Same problem with latest libpng CVS
17:47.37 ``Erik $ nm -D /usr/local/lib/libpng.so | grep png_read_destroy
17:47.37 ``Erik 00000000000098f0 T png_read_destroy
17:48.23 ``Erik hum
17:48.37 ``Erik is that because linux is obviously superior? :D *duck*
17:49.27 louipc Maloeran: not gentoo!?
17:49.27 ``Erik the symbol is there on rhat
17:49.40 ``Erik and suse
17:50.57 Maloeran http://rafb.net/p/GZGe0y78.html - Look, I'm not dreaming
17:51.01 ``Erik and debian... hehehe....
17:51.13 ``Erik it's too bad funroll-loops.org doesn't seem to be responding... O:-)
17:51.24 louipc :P
17:51.59 brlcad Maloeran: you can relink tkimg.so with static libpng and if you really do have a sufficient version, it should resolve
17:55.37 louipc I don't have that symbol either
17:55.37 Maloeran louipc, what I basically want is a Linux from scratch, except... with some package management system, and Gentoo fulfills that
17:55.57 ``Erik huh, it's not an optional symbol in 1.2.16... it's a basic part of cleaning up after you read an image O.o
17:57.16 louipc Maloeran: have you tried archlinux? It's a lot less compiling but you can custom compile packages as well
17:57.36 brlcad yeah, I don't see how you can optionally compile it out either with one of the PNG_* flags
17:57.56 louipc the package management system is a lot more straight forward too
17:58.01 Maloeran It's not really about packages, it's about the whole set up and scripts. I don't want a distribution to force its maze of scripts on me
17:58.19 ``Erik ssoooooo cut their scripts out of the loop?
17:58.37 brlcad oh, wait.. there is a overall flag.. PNG_READ_SUPPORTED .. if they compiled with that off, it leaves out all of the routines
17:58.45 brlcad including png_read_destroy
17:58.50 Maloeran It's tricky, it's often a huge mess. I prefer to start with a clean distribution like Gentoo
18:00.57 louipc I've got png_read_end *image *info *png *row *rows *update_info
18:01.03 louipc no destroy :(
18:01.28 Maloeran Exactly
18:03.12 brlcad Maloeran: it could also be a bad assumption in tkimg -- it has a stubs lookup table for png_read_destroy -- but it doesn'tactually use the function
18:03.50 brlcad you could just remove it from src/other/tkimg/pngtcl/pngtclDecls.h and pngtclDeclsMask.h
18:04.16 brlcad and src/other/tkimg/pngtcl/pngtclStubInit.c
18:08.54 CIA-5 BRL-CAD: 03erikgreenwald * 10rtcmp/adrt/adrt.c: ADRT interface
18:09.22 ``Erik fek, it's catching them now
18:10.13 CIA-5 BRL-CAD: 03erikgreenwald * 10rtcmp/perfcomp.c: the comparison engine
18:12.17 CIA-5 BRL-CAD: 03erikgreenwald * 10rtcmp/rtcmp.c: move the display back to the end, so the nmg_triangulate spew doesn't obfuscate the results
18:23.31 *** join/#brlcad IriX64_ (n=who@bas3-sudbury98-1168056909.dsl.bell.ca)
18:24.07 Maloeran Sorry, was away for a bit. png_write_destroy undefined as well, hacking some more
18:25.44 Maloeran Ah finally, there we go, thanks
18:27.10 Maloeran It works until "Error, can't find package blt", that is.
18:27.23 ``Erik so make it a sandwich, bitch
18:28.02 ``Erik blt == bacon lettuce tomato
18:28.03 ``Erik :D
18:34.13 Maloeran Okay, I'll give up on Archer for now. Mark wanted to know about integrating RF in it
18:38.48 IriX64_ Maloeran? windows archer or *nix archer?
18:39.51 Maloeran Linux archer of course
18:39.59 IriX64_ ty
18:50.49 IriX64 goof that i am sigh ...
18:53.24 ``Erik heh, it's a bit of a walk
18:54.56 IriX64 any wild beasten would disagree with me though :)
18:56.59 IriX64 ``Erik promptly roars with hunger.
18:57.16 louipc <PROTECTED>
18:57.32 IriX64 not following?
18:58.02 ``Erik and that's why drugs are bad.
18:58.41 IriX64 heh you paint with a broadsword there you know that.
18:59.21 louipc wide brush?
18:59.57 IriX64 very
19:17.11 Maloeran brlcad, would it be possible for you to quickly put me on the right track to solve this "Error, can't find package blt"?
19:17.38 ``Erik sounds like a tcl path error
19:17.49 ``Erik when you built brlcad, did it try to use the system tcl?
19:18.15 Maloeran I have absolutely no idea, plain standard ./configure --prefix=/usr
19:18.31 ``Erik hm, in src/other/libtcl, do you see libtcl_nil.la ?
19:19.07 IriX64 try /prefix=/usr/brlcad.
19:19.14 IriX64 err --
19:19.29 Maloeran Yes, it's there
19:19.41 Maloeran Err nevermind, not the _nil part
19:20.25 ``Erik hm, just libtcl.la ?
19:20.39 Maloeran Correct
19:20.48 Maloeran And libctcl8.4.la
19:21.15 ``Erik ok, so it did build the tcl lib, hum
19:21.29 louipc hm
19:21.41 ``Erik ok, did src/other/blt get installed?
19:21.59 Maloeran Seems to be compiled and installed, yes
19:22.11 ``Erik tryyyyy LD_LIBRARY_PATH=/usr/brlcad/lib ?
19:23.16 Maloeran Problem remains
19:23.28 ``Erik ('cept it sounds like it's not finding the blt tcl index thingymajigger)
19:23.41 Maloeran It occurs whenever I try to load or create a .g file
19:25.49 ``Erik in... mged? or archer?
19:25.59 Maloeran Archer
19:49.27 IriX64 http://www.pastebin.ca/365207 <this is what archer says here Maloeran.
20:00.33 Maloeran Cool, looks worse than mine :)
20:08.46 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/tclscripts/archer/images/Themes/Crystal_Large/Makefile.am: required images that need installed...
20:09.00 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/other/libutahrle/ (Makefile.am include/Makefile.am): colorquant.h was moved to src/other/libutahrle/include/.
20:09.33 ``Erik hm, seems to work fine for me
20:09.36 ``Erik kinda neat
20:14.30 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/ (4 files in 4 dirs): dependancy info
20:16.39 Maloeran Ah well, booting the win98 Pentium 2
20:16.41 ``Erik does mged work?
20:17.28 Maloeran Yes
20:17.54 Maloeran Or at least I think so, I don't know how to do anything with it.. but files load :}
20:18.41 ``Erik um, in the command window, after you've opened a .g file, type "tops", then pick something interesting from that list and type "e <something>"
20:19.13 ``Erik then you should be able to do mouse crap in the view window, uh, middle click I think is to rotate
20:19.45 Maloeran Yup, it renders
20:20.55 Maloeran Holy... graal, the raytrace is slow! :) My poor laptop
20:21.00 ``Erik what about ummmm, uninstall, clean, reconfigure with --enable-almost-everything and do the build/install and see if that "fixes" it?
20:23.00 Maloeran 153 seconds to shoot 2 million rays
20:23.19 Maloeran All right, I'll try that switch
20:23.36 Maloeran mged seems to have froze after the render completed
20:23.53 ``Erik froze? hrm, odd
20:24.45 brlcad Maloeran: default compile is non-optimized on top of it
20:24.46 Maloeran The GUI was just made of plain gray windows
20:25.29 brlcad mged's gui is non-optimal in many regards, it's not meant to be impressive
20:26.11 brlcad if you recompile, unless you need to debug, add --enable-optimized too
20:26.13 Maloeran No, I mean the mged windows were just of a filled plain gray instead of the usual widget elements
20:26.36 brlcad sounds like it's waiting for something
20:26.49 brlcad a dialog, or it's frozen on a bug, hard to say -- don't know what you did
20:26.52 ``Erik yeah, hurry up and click the button that's not drawing... no, not that one!!!
20:26.53 ``Erik :D
20:27.20 brlcad ooh
20:27.21 Maloeran I clicked on "raytrace" multiple times, then closed that dialog window after the render, and it went grey
20:27.42 Maloeran Multiple times because I thought it wasn't working, it hadn't filled a handful of lines yet
20:27.59 brlcad ahh, you probably provoked a bug
20:28.06 brlcad and that
20:28.13 brlcad do a killall rt on the command line
20:28.28 brlcad or run "rtabort" if you can type into the command window
20:29.12 Maloeran The command window was gone. I just did killall -9
20:30.49 brlcad did it restore or still stuck?
20:31.32 brlcad if the command window gets too much data being dumped too quickly to it, there is a bug where it'll get stuck in a Tcl event handler loop, hanging mged
20:32.22 ``Erik trying to see if other bits and chunks of the install work...
20:32.23 Maloeran That might be what happened. I'm sorry I didn't wait very long, I just did killall -9
20:32.40 brlcad iirc, archer specifically tries to load blt directly, not using the auto_path search -- so you might have to tweak the load-line
20:34.11 brlcad bob didn't make it robust cross-platform-wise, he got it working and moved on .. needed to produce another release for a different platform, made a few tweaks, and moved on
20:35.16 brlcad sorta the multi-os makefile approach actually .. just that he's only fuddled with 2 of them so far and they have hard-coded assumptions about the compiler sort of setup
20:35.19 brlcad ;)
20:35.21 *** join/#brlcad dtidrow_work (n=dtidrow@host169.objectsciences.com)
20:35.39 brlcad not literally of course, it's all tcl foo
20:37.06 ``Erik dan seems to be having issues today o.O
20:46.36 CIA-5 BRL-CAD: 03erikgreenwald * 10brlcad/src/libwdb/Makefile.am: no g_brep.cpp here...
20:49.56 ``Erik oh, brlcad, I put those 3 fast linux machines into the perfmon mix
20:50.20 ``Erik so now instead of getting excel spreadsheets saying they're going untouched, we can look at a graph of how untouched they are :D
21:12.39 Maloeran --enable-almost-everything fixed the tkimg library issue, but it still throws errors about BLT
21:16.11 Maloeran 14 seconds for 750000 rays, a bit better
21:19.07 Maloeran Bug is reproductible. Click 20 times on "raytrace", and when all of them have completed or so I assume, processor usage drop back to zero and the mged gui freezes
21:19.21 Maloeran I understand one isn't supposed to do that :)
21:19.46 ``Erik heh
21:20.16 ``Erik now try uninstalling, make clean, then configure with --enable-optimized :D
21:20.21 Maloeran I did that
21:20.25 ``Erik okie
21:20.34 ``Erik slightly less horrible *shrug*
21:21.24 Maloeran I'm sure its rays are far more accurate than mine :)
21:21.37 ``Erik iiiinteresting, I keep getting brlcad_config.h files with exactly one line... :/
21:24.20 Maloeran http://www.rayforce.net/brlcad-rt-freeze.png - Just in case there's any doubt about what I mean
21:27.58 brlcad Maloeran: hmmm. that might actually be a different issue
21:30.34 *** join/#brlcad docelic (n=docelic@212.91.114.6)
21:52.15 *** join/#brlcad louipc (n=louipc@bas8-toronto63-1096782827.dsl.bell.ca)
21:56.20 CIA-5 BRL-CAD: 03brlcad * 10brlcad/BUGS: mged in console mode goes into an inf loop if you try to read from stdin using Tcl routines (e.g. read stdin, fgets stdin blah).; mged in GUI mode rejects reads on stdin
21:56.21 louipc lol
21:58.00 Maloeran Is that the bug? I would have assumed an infinite loop to consume some cpu time, it was more deadlocked
21:58.28 brlcad Maloeran: no, different issue altogether
21:58.48 CIA-5 BRL-CAD: 03brlcad * 10brlcad/src/tclscripts/mged/prj_add.tcl: header and ws
22:01.55 brlcad there are lots of similarly "unforgiving" bugs that can occur when you do bad things that are considered bad use
22:02.12 brlcad i don't generally fix them as time is being put towards the new interface instead
22:02.18 brlcad i just document them as needed
22:05.01 brlcad and fix or work-around if they're non-triivial or I'm needing some diversion
22:27.56 Maloeran *nods* Sean, where in the brlcad source should I look for the conversion from solid modelling to triangles?
22:32.39 brlcad depends on the purpose, but mostly in the converters section, src/conv, if you are doing a data conversion
22:34.58 Maloeran I would like to see how complex it would be to make triangles face the proper way, build better meshes for raytracing ( less long thin triangles ), and perhaps fix the gaps between connected surfaces. It's the right place?
22:35.39 brlcad as a starting point, yes
22:36.02 brlcad that expands into src/librt .. a vast collection of nmg_* files and routines
22:36.26 brlcad i can explain the overall process if you like
22:36.37 brlcad from a high level, if it'd help
22:37.03 Maloeran It could help, thanks. These files of 236kb are a bit intimidating
22:38.15 Maloeran I think there might be several issues with the triangulation process. Do you consider the code is good enough to work from there, or a rewrite might be preferable?
22:38.35 brlcad depends on a lot of factors
22:38.53 brlcad it's not an easy problem at all, with the constraint of being topologically preserving
22:38.58 brlcad and maintaining closure
22:39.25 Maloeran Indeed, but I'm afraid any major changes to such a big piece of code might be more trouble than even rewriting..
22:39.27 brlcad it's slightly easier to just get triangles, but even that requires effort -- basically the evaluation of the boolean
22:39.50 brlcad the code actually isn't that bad -- the approach is sound
22:39.53 Maloeran Good to hear
22:40.04 brlcad the bad news is that it lacks horribly in robustness
22:40.20 Maloeran Yes, I noticed that...
22:40.21 brlcad it doesn't manage propagate tolerance control very well
22:40.33 brlcad and doesn't have good failure checking/recovery
22:41.15 brlcad the algorithmic approach, however, is one of the recommended ways to go to maintain a solid model
22:41.57 Maloeran I think that if a good and very fast solid modelling -> triangles conversion were possible, views could be raytraced interactively during the modelling
22:41.58 brlcad we might actually have a rewrite in our laps already with openNURBS .. but that requires additional effort to integrate with to determine how good they tessellate
22:42.28 brlcad that they could (and opengl becomes usable too)
22:43.18 brlcad i was actually thinking of having your engine serve as that kind of real-time interface renderer in the new modeler if it were ever integrated
22:43.21 Maloeran I think that would be really nice, and it would put some very-fast-but-not-so-accurate raytracer to good use
22:43.36 brlcad be able to toggle between opengl, raytraced, wireframe, etc
22:43.41 Maloeran Exactly
22:44.18 brlcad so back to the crux of the problem to solve is the evaluation of the implicit solids and csg booleans (two separate problems)
22:44.46 brlcad *currently*, the nmg code in librt does the following:
22:45.40 brlcad 1) it walks a given csg hierarchy all the way down to the primitive level
22:46.03 brlcad 2) it facetizes each primitive according to tessellation/tolerance/size criteria
22:46.41 brlcad 3) it walks back up the csg hierarchy combining the facetized collections according to the CSG operations encountered
22:46.54 Maloeran I'm not sure I would facetize before extruding volumes and so on... but please continue
22:47.18 brlcad yes, that's a very good observation
22:47.58 brlcad the bulk of the effort happens in the "combining the facetized collections" as that is the evaluation of the boolean, comparing polygon sets against polygon sets
22:48.09 brlcad the implicits were evaluated in step 2
22:48.58 Maloeran Some problems, like gaps, are impossible to solve without swapping 2) and 3)
22:49.40 brlcad for 3) to evaluate the CSG operations, it walks over all edges, of all loops, of all faces, of all surfaces, of all regions .. doing the pairwise comparison -- determines which polygons are inside or outside and depending on the operator, throws away those fully in/out as needed
22:49.52 brlcad yes, very true
22:50.04 brlcad well, you can guarantee no gaps
22:50.12 brlcad but you can't guarantee that you'll find a solution
22:50.23 Maloeran Eheh, okay :)
22:50.32 brlcad it does guarantee no gaps, that is the nature of the nmg structure of walking edges, loops, faces, etc
22:51.09 Maloeran Does it? The triangulated truck I was given has clear gaps between adjacent primitives
22:51.21 Maloeran ( and it's not a raytracing artifact )
22:52.21 brlcad and when you have two spheres that are intersecting and being union'd together, for example, you will have two polygon datasets to start with, it computes which triangles are fully inside the other and throws them away, then computes where exactly the triangles intersect and correctly trims them and fuses the two sets together at a reasonable seam
22:53.43 brlcad maybe I should say the structure "can" and is supposed to -- barring any bugs of course. there are other ways to extract polygons that will drop the solid model criteria, especially if it gets to solutions it cannot resolve
22:54.50 brlcad for solid models, which are the predominant concern, it's supposed to, but then when we're going to polygons, it's usually for a non-solid model purpose so it is sometimes relaxed -- don't know the detail of how the truck was generated specifically (and it still could just be a bug regarless)
22:55.24 Maloeran All right, so gaps don't normally occur. That's reassuring
22:56.01 brlcad retaining knowledge of the actual surface/primitive toplogy is frankly a better way to go (and perhaps even an easier implementation)
22:56.15 Maloeran Yes, I think so too
22:56.21 brlcad but still requires a conversion from implicit form, to some explicit form
22:56.23 Maloeran How efficient and optimized is the current code?
22:56.26 brlcad just not triangles
22:56.46 brlcad heh, nmg facetization? it's not optimized
22:57.20 brlcad it's hard enough to get it working "correctly" regardless of the computational constraint
22:57.42 Maloeran Stupid question : where can I see the list of all csg primitives used/known by the software?
22:58.31 brlcad they're all in src/librt/g_*.c
22:58.39 brlcad visually, here's "most" of them: http://ftp.brlcad.org/tmp/primitives/Primitives3_grouped_labels.png
22:59.17 brlcad there are some details missing, that picture is just a simplification, and leaves some of the more complex/experimental primitives out
22:59.19 Maloeran Hrmph, quite a few of them
23:00.22 louipc how's the extrude further represented?
23:00.37 brlcad all of them, except perhaps the bot/ars (i.e. triangles), dsp (i.e. height field), extrude/sketch, and bitmap primtiives are stored and usually processed in implicit form
23:01.09 brlcad louipc: what do you mean?
23:01.25 brlcad an extrude object is coupled to some sketch object
23:01.45 brlcad sketches are pretty flexible/arbitrary collections of points, lines, arcs, loops, etc
23:02.47 louipc ah
23:02.52 brlcad i think extrude would probably be considered a hybrid, it's actually evaluated in a semi-implicit form, though the sketch is clearly an explicit representation
23:03.56 brlcad extrusions are basically a direction vector and distance off of a sketch along with ratio scaling vectors
23:05.11 brlcad Maloeran: the *plan* so far, assuming that this openNURBS business works out well (and it's going great so far, Jason's making nice progress) is to implement a "describe yourself in explicit spline surface form" for all primitives
23:06.48 brlcad all primitives already have various describe functions -- describe in implicit form, describe in explicit wireframe form, describe as serialized on-disk form, describe as textual values, etc
23:07.09 Maloeran Right, sounds like a good step towards a robust triangulation
23:07.16 brlcad there's a stub in there (that a couple of the major primitives already implement) for describing in brep/spline surface form
23:07.38 Maloeran I wonder though if it might not be slower than just working from the primitive equations, for most of them
23:07.42 brlcad with that implemented, the next step would be to implement the boolean evaluation of brep against brep
23:08.25 brlcad once you have an evaluated boolean-free brep, triangulation is trivial and can usually be done in real-time
23:09.07 brlcad what do you mean by "work from the primitive equations"? which equation?
23:09.40 Maloeran Of the csg primitives rather than splines
23:11.06 brlcad i think i'm still not following what "it" was in "if it might not be slower"
23:11.40 brlcad the big question is how hard and computationally intensive is it to evaluate brep against brep, evaluating the boolean
23:12.36 brlcad my feel is that will be "reasonably fast" as in a couple seconds for an object with dozens to hundreds of primitives
23:12.57 brlcad tessellation would be practically instantaneous
23:13.16 Maloeran Yes... but that doesn't sound fast enough for interactive use, during the modelling process
23:13.35 brlcad evaluation of the boolean when they are triangle vs triangle is what we have now with the nmg conversion process
23:13.52 brlcad evaluation of the boolean when they are implicit against implicit is what we have now with librt
23:14.27 brlcad actually, it generally is fast enough, because that's the time to convert something all-out
23:14.42 brlcad that conversion can be hidden in many places (during file load for example)
23:15.11 brlcad during editing, it's pretty much instantaneous evaluation as you're only evaluating small deltas
23:15.23 Maloeran *nods* It's just less practical to stall the rendering for a couple seconds every time the user makes a change, though you could only rebuild the affected region
23:15.28 Maloeran All right, great
23:15.39 brlcad it's actually the approach most commercial cad systems take that use BREP as their primary representation
23:15.53 brlcad and you do end up pausing on large models while it evaluates every now and then
23:16.05 Maloeran Sounds very nice then. The only problem I'm seeing is not having triangles face the proper way, which should be really easy to fix
23:20.21 Maloeran That and efficiency perhaps. Would you mind some #ifdef __SSE__ in that code? ;)
23:21.23 brlcad depends on a lot of factors, but in general not really a problem so long as there's an alternative
23:22.10 brlcad the bigger issue would be tolerance, there's entire classes of cases where even double floating point isn't enough
23:22.28 Maloeran Oh? I wouldn't have expected that
23:22.56 brlcad yeah, that's one of the bigger problems some of the CAD systems deal with to varying degrees of success/failure
23:23.35 brlcad you know what a tapered blend is, yes?
23:23.52 Maloeran Sorry, I don't
23:25.19 Maloeran A reasonably fast fixed 128 or 256 bits data type to handle these cases wouldn't be too much trouble to write, perhaps to integrate in the code though
23:25.59 Maloeran ( With SSE, a home-made 128 bits floating point format doesn't look so bad )
23:26.03 brlcad hmm, better example then.. say you have a hand full of peanut butter and you smear it out across a table making a sloping ramp that becomes rather minutely thin
23:26.24 Maloeran That I can follow :)
23:26.30 brlcad the issue becomes how and where you terminate the ramp
23:27.02 Maloeran I see, okay
23:27.43 brlcad it might be a smear that is mathematically something like |||||\\\~~~~~,,,,.....
23:27.44 brlcad the question is how many dots
23:27.44 Maloeran I'm thinking, we really could make a 128 bits floating point data type in SSE that would be just a bit slower than double
23:27.53 brlcad even with double on most cases, you cannot go out as far as you need to without truncating the ramp prematurely
23:28.04 ``Erik O.o
23:28.15 brlcad else you end up with something mathematically just a plane .. and that's no longer a solid model
23:28.24 Maloeran Understood
23:28.38 brlcad that particular case actually happens a lot in real engineering models
23:29.03 brlcad solder between joints, tapered blends, various materials combining together, etc
23:29.06 Maloeran If these cases can be identified before or when we encounter them, a home-made floating point format could be a great solution
23:29.12 brlcad there are others, but that's the easiest to describe
23:30.07 brlcad part of the problem is that they are frankly hard as hell to identify and even worse to detect them
23:30.25 Maloeran Oops okay, that's a problem
23:30.39 brlcad because you already have code asking questions like "are theses two surfaces cojoined".. are they the same, are they just "really close", etc
23:31.09 brlcad if you assume just really close, then you lose solid model connectivity, introduce gaps, etc
23:31.43 brlcad if you assume they're not, then there similarly isn't a problem of gaps and such, but you truncate and create non-faithful geometry
23:31.48 Maloeran Indeed
23:32.11 brlcad you sort of need to know the modelers intent during the modeling process
23:32.23 brlcad which would be great to have of course... but you rarely have that :)
23:32.53 brlcad that's where unigraphics and solidworks start earning their pricetags
23:32.58 Maloeran Hum. I really thought the interface would allow modellers to make their intend clear
23:33.09 Maloeran At least it was when I did Autocad
23:33.43 brlcad initially you have it, after almost any conversion except sometimes with STEP, all that is lost
23:34.18 brlcad and most real modeling is done by teams and/or between companies/groups and often using different cad systems
23:35.15 brlcad iges is/was the predominant cad exchange format, and it didn't retain this sort of intent modeling, just connectivity if you were lucky, but sometimes you'd lose even that
23:35.16 Maloeran Right, so intents on connectivity are lost and the code falls back on... guesses
23:35.41 brlcad and then all bets are off, normals get reverse, you might get cracks, etc ;)
23:36.48 brlcad for as painful and crappy as NMGs are in librt, they're actually on par with a lot of cad systems for that class of conversion, sometimes it's even better
23:37.16 brlcad but the approach is fundamentally limited given you loose actual surface/intersection information really early on during implicit evaluation
23:37.51 Maloeran If it's really a problem that numerical precision can solve... I'm thinking about some hack coming from my overview of the gcc code
23:38.01 brlcad it then spends 80-99% of the time evaluating sets of N^3 problems
23:38.18 Maloeran We could replace the built-in fpu emulation code with floats and doubles of 128 and 256 bits

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.