IRC log for #brlcad on 20110712

00:33.27 *** join/#brlcad louipc (~louipc@archlinux/trusteduser/louipc)
00:42.09 *** join/#brlcad kunigami_ (~kunigami@201.53.206.27)
03:34.32 ``Erik the / is a relatively safe token for splitting and we use it elsewhere to denote tokens, the comma is used in some locales as a decimal point... if we ever go gettext, could cause issue
03:36.59 bhinesley what comma are you referring to?
03:37.17 ``Erik (but I'm no usability expert and make it a point to avoid gui work, so'z *shrug*)
03:37.28 ``Erik (1,4,5) as a listing of coordinate
03:38.04 bhinesley oh, I was just interpreting the syntax in human readable form
03:38.09 bhinesley there are no commas :)
03:38.26 ``Erik just noting that the glyph is risky :) people who haven't done internationalization can easily miss that gotcha :)
03:38.37 bhinesley nods
03:38.40 bhinesley thanks
03:41.24 *** join/#brlcad epileg (~epileg@unaffiliated/epileg)
03:47.15 ``Erik (and vi, not vim?)
03:52.36 ``Erik brlcad: dlo found issues in the solar system scale stuff when mocking up a ringworld as a pre-procdb issue, prolly fp fuzz around 1.5e14mm, so'z the claims in the au page may be a bit... optimistic :)
03:54.07 ``Erik for the physics shtuff, my vote is for bullet, my research indicates that it started whupping ode a few years back
04:01.18 CIA-62 BRL-CAD: 0399.125.86.110 07http://brlcad.org * r3006 10/wiki/User:Bhinesley: /* Who I am */ vim, not vi :)
04:01.32 bhinesley ``Erik: ^
04:01.36 bhinesley :)
04:02.27 ``Erik :D I'm a fbsd weenie and the 'default' editor is nvi, very different from vim
04:03.07 ``Erik (default editor is a bsh, not bash, also confusing to linux folk)
04:03.41 bhinesley I was a fbsd admin for a couple years, but that was a long time ago
04:03.52 bhinesley (small company)
04:04.47 ``Erik cool beans
04:05.17 ``Erik which major?
04:05.23 bhinesley computer science
04:05.25 bhinesley BS
04:05.36 ``Erik I meant fbsd major release number :)
04:05.44 bhinesley oh jeez
04:05.55 ``Erik I went fbsd with a 3, really embraced it at 4
04:06.21 ``Erik late 90's, yo
04:07.04 bhinesley based on the release dates on wikipedia it must have been 5 for me
04:07.38 bhinesley I was running 'stable' about 2004 or 2005
04:07.47 ``Erik brlcad.org is still running one of the 5 series
04:08.36 ``Erik it's a good os, can be a bit tricky to maintain if you're not used to the *nix world
04:09.34 bhinesley nods
04:09.35 bhinesley I learned on it
04:09.52 ``Erik <-- is a port maintainer for a couple dozen, has a few hundred pr's, friends with several core folk, good stuff :)
04:10.11 bhinesley awesome
04:10.29 ``Erik openbsd is nice, too, theo can be a dick, though
04:10.36 bhinesley haha
04:10.51 bhinesley never used it, myself
04:11.25 ``Erik I've only used open in a vm, the X upgrade was a royal pain
04:11.50 ``Erik dragonfly has some interesting ideas, that was a weird period
04:12.40 ``Erik was around '02 I think, major philosophical differences on concurrency and smp
04:13.10 ``Erik smelled like both sides weren't listening, just saying that the other side was wrong... was almost like congress *cough* O:-)
04:13.32 brlcad ``Erik: how is "untested support for astronomical units and lots of room for there to be computational issues" being optimistic?
04:13.35 bhinesley "they need to compromise!"
04:14.54 brlcad bhinesley: not too worried about supporting FACTOR || X Y || X Y Z .. FACTOR || X Y Z are the two main use cases
04:15.18 ``Erik brlcad: the statement that we can do it at a full sol system level, we have known issues at 2% of that
04:15.31 brlcad or even FACTOR | [-x X] [-y Y] [-z Z]
04:16.15 brlcad ``Erik: er, where do you see that statement?
04:17.04 bhinesley alright. I won't worry about it, unless it's simpler to just include it.
04:17.14 brlcad the only claim it makes is that objects at that scale can be created .. and then it caveats saying it's all untested and probably has issues
04:17.34 ``Erik um, the celestial mechanics page says, srry
04:18.41 brlcad even there, it just says you can accurately model the solar system to scale .. which is true, you just can't render that model
04:19.15 brlcad and even then -- I don't know if simple ellipsoids at that scale would have an issue
04:19.20 ``Erik dlo's experiment was a 30m thick strip at 1au and had display issues similar to ogl zbuffer fighting, *shrug*
04:19.59 brlcad that's already changing the numbers involved substantially
04:20.07 brlcad small detail at a massive scale, I'd expect a problem
04:20.26 brlcad modeling the solar system is effectively no detail at a massive scale
04:20.38 ``Erik yeah, he was trying to hand-build a niven ringworld, to preview the proc-db I started
04:21.05 brlcad I don't see why a super massive sph wouldn't render just fine as an AU scale
04:21.11 brlcad s/as/at/
04:21.39 ``Erik an ell should, I'd think
04:21.45 brlcad the only issue might be the transformation it attempts to perform during raytracing so that the primitive is in a normal unitized position during eval
04:21.55 brlcad that might bork the floating
04:22.23 brlcad I've created a planet-sized ell before, no problems
04:22.34 brlcad but only at the origina
04:22.40 ``Erik it might be an op ordering issue that he was seeing, too *shrug*
04:22.53 ``Erik planet sizes run quite a wide gambit
04:23.08 ``Erik we have the earth sized planet with the star trek stuff in orbit, that works well
04:23.24 ``Erik but a planet and local orbit is tiny compared to a solar system
04:24.04 brlcad bhinesley: note that some objects can only be scaled uniformly, so there will have to be error checking if attempting to only scale 1 or 2 axes
04:24.40 bhinesley I figured as much; such as a sphere
04:26.03 ``Erik measuring in meters, I think a 64b ieee854 is around ~10 meter accuract at a pluto orbit (~50au), so mm would be 10km accuracy
04:26.07 brlcad sphere is fine, they become ellipsoids
04:26.20 bhinesley oh, hah
04:26.24 ``Erik and that's straight measure, no math to increase inacuracy
04:26.25 brlcad torus is the typical error case
04:27.00 ``Erik tgc's can also be touchy, iirc
04:27.22 brlcad ``Erik: which implies simulating our solar system to scale would be just fine .. 10km would be sub-sub-pixel
04:28.37 ``Erik means I can't put a toy jeep on neptune, though :D
04:29.28 brlcad heh
04:30.22 ``Erik now my frame of reference... back in the late 90's, I was trying to make an xwing type game and was looking for ways to have a small craft be accurate anywhere in a solar system
04:30.24 brlcad yeah, that'd be about *45M* km per pixel for a basic "overhead" render
04:31.24 brlcad means earth is sub-pixel to scale too
04:31.53 brlcad so you'd have to scale the bodies up several orders of magnitude, which might be neat in itself
04:31.54 ``Erik for most displays, the only thing that MIGHT get a pixel for a solar system scale render ist he sun...
04:32.41 brlcad yeah, sun is sub-pixel 1.39M km diameter
04:33.12 brlcad three orders of magnitude would make them visible
04:33.15 ``Erik but a 10,000 km 'tile' eliminates any surface detail in the outer bits
04:35.36 ``Erik *shrug* at solar scales, we lose a lot of accuracy, 'sall :)
04:36.18 ``Erik nerds who want to make ringworlds, dyson spheres, etc might be a bit upset when it doesn't quite work right
04:37.29 ``Erik imma catch some z's, hasta manana :)
04:38.52 brlcad nods
04:38.55 bhinesley see ya
04:39.10 brlcad the first units project aims to help fix the units issue better
04:39.59 brlcad making sure the math is stable for existing prims, then maybe working on scaling zones
04:41.21 brlcad bhinesley: curious choice of 'alter' for the command name
04:41.35 brlcad any reason that over 'edit'?
04:41.55 bhinesley nope, edit would be fine
04:42.14 bhinesley alter just came to mind, and it's easy enough to change, so I went with it
04:43.01 brlcad it's fine, just wondering if there was some underlying motivation
04:43.15 brlcad both edit and alter are a little vague
04:43.56 brlcad ambiguous even, since I can't edit/alter some object parameters
04:45.31 brlcad those three subcommands are all transformations, so 'xform' would be pretty fitting too
04:46.47 bhinesley whatever name it is, it will be "extern thename" in ged_private.h
04:47.03 bhinesley and also, "extern thename_translate", etc
04:47.30 bhinesley the idea is, thename_translate will be as primitive of a translate as possible
04:48.01 brlcad you mean only as private api, not a new parent command?
04:48.26 bhinesley if I understand you correctly: there will be both
04:48.43 brlcad then what do you mean by "extern thename" in ged_private.h ?
04:49.01 brlcad ged_private is for declaring non-public API (functions)
04:49.28 bhinesley ged_thename will be public
04:49.47 brlcad so then it goes in ged.h :)
04:49.56 bhinesley correct
04:50.21 brlcad okay, just confused by your prior statement
04:50.21 brlcad 00:46 < bhinesley> whatever name it is, it will be "extern thename" in ged_private.h
04:50.26 bhinesley there is a separate function, "thename", which is for calling internally without using argv
04:50.52 brlcad ah, I think I might get what you're saying
04:50.57 bhinesley ged_thename simply parses command line arguments and passes it to thename
04:51.01 brlcad nods
04:51.03 brlcad got it
04:51.16 bhinesley yeah, excuse me... I'm not very good at expressing these things
04:51.23 bhinesley (yet)
04:52.14 brlcad funcs still only need to be declared extern in ged_private.h if they're going to be used by more than one file
04:52.29 brlcad so if it all lives in alter.c, you're fine with simple function ordering
04:53.37 bhinesley A command that needs to do a simple translate could call thename_translate. If it needed to do a batch translate using '.', or if it needed to use objects/distances to calculate coordinates, then it could call thename.
04:53.52 brlcad it'd only be if you broke it out into alter.c, translate.c, rotate.c, scale.c with the latter three ged_[cmd]() funcs calling ged_alter()
04:55.05 bhinesley okay, I'm a little confused.
04:55.20 brlcad no worries, carry on :)
04:55.44 bhinesley ged.h is for sharing with commands outside of libged, while ged_private.h is for sharing internally to libged only?
04:56.01 brlcad almost
04:56.37 brlcad ged.h is public declaration for use anywhere (inside/outside)
04:57.06 brlcad ged_private.h is private declaration where there is internal reuse
04:57.47 brlcad so funcs are added to ged.h when they're "published" but should only ged added to ged_private.h when they're actually used in more than one file
04:57.55 brlcad even if they're ripe for reuse
04:58.35 bhinesley okay
04:58.50 brlcad not a big issue if they're declared in ged_private.h and not used in multiple places, but the decls might get removed/cleaned up down the road to keep files simple
04:59.41 bhinesley sounds like ged_thename goes in ged.h for now, and eventually thename/thename_translate/etc may go in ged_private.h
04:59.48 brlcad there are 400+ commands which means there could easily be 3x that many "private yet potentially reusable" internal funcs .. which wouldn't be too useful to browse through
05:00.11 brlcad right, that's the intention at least
05:00.58 brlcad my guy feeling is that any function prime for libged reuse probably doesn't even belong in libged
05:01.07 brlcad begs refactoring down into librt
05:01.33 bhinesley why does so much end up in librt? I thought it was just raytracing?
05:01.37 brlcad aside from commands calling other commands at the libged API level
05:01.47 brlcad librt isn't just raytracing
05:02.00 brlcad it's the underlying geometry management
05:02.09 bhinesley I mean, I have seen that... I just didn't understand the reasoning
05:02.49 brlcad geometry representation, disk I/O, serialization, and ray tracing
05:03.24 brlcad it would probably be more appropriately named "libg", except that the main reason for its existence is to shoot rays
05:03.56 bhinesley alright, that makes sense
05:04.15 brlcad and there is a very close relationship between the on-disk representation and the in-memory format used for ray-tracing
05:04.44 brlcad the two are tightly coupled for performance reasons, why we can raytrace massive multi GB scenes in mere seconds
05:04.53 bhinesley ahh
05:05.42 brlcad we've talked about separating the two into different libraries, but it would be tricky to do cleanly API-wise
05:05.53 bhinesley so, as you were saying: should uhh... 'thename' live in librt?
05:06.28 brlcad if it's argc/argv style, then it still belongs in libged
05:07.06 bhinesley well, only ged_thename is argc/argv style
05:12.21 brlcad it depends what the command ends up looking like parameter-wise
05:12.39 brlcad keep an eye on rt_matrix_transform() since that is the current closest-fit API call already in librt that comes to mind
05:12.50 brlcad it's how mged applies most matrix edits now
05:13.00 brlcad s/matrix/primitive/
05:13.37 brlcad through transformation matrices (with scaling, translation, and rotation components)
05:18.20 bhinesley interesting
08:10.00 *** join/#brlcad mafm (~mafm@83.Red-83-54-79.dynamicIP.rima-tde.net)
08:36.36 brlcad calls it done for now
08:38.56 *** join/#brlcad Stattrav (~Stattrav@122.178.195.64)
08:38.56 *** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
09:34.51 CIA-62 BRL-CAD: 03bhinesley * r45426 10/brlcad/trunk/src/libged/alter.c: Set up the struct and flags for ged_alter and alter command argument handling. Other small cleanup/setup stuff.
11:18.17 CIA-62 BRL-CAD: 03indianlarry * r45427 10/brlcad/trunk/include/dm.h: externalize display manager interfaces
13:42.28 *** join/#brlcad mafm (~mafm@83.Red-83-54-79.dynamicIP.rima-tde.net)
13:56.33 *** join/#brlcad alex_joni (~alex_joni@emc/board-of-directors/alexjoni)
16:30.28 *** join/#brlcad kunigami_ (~kunigami@201.53.206.27)
17:30.54 CIA-62 BRL-CAD: 03starseeker * r45428 10/brlcad/trunk/CMakeLists.txt: If we don't have a defined CMAKE_SIZEOF_VOID_P, assume 32 bit to be safe.
17:59.24 CIA-62 BRL-CAD: 03erikgreenwald * r45429 10/brlcad/trunk/CMakeLists.txt: match the endif to the if
18:13.20 CIA-62 BRL-CAD: 03r_weiss * r45430 10/brlcad/trunk/ (6 files in 3 dirs): (log message trimmed)
18:13.20 CIA-62 BRL-CAD: Changed function nmg_model_edge_g_fuse by renaming it to nmg_edge_g_fuse and
18:13.20 CIA-62 BRL-CAD: allowing the magic of a nmg object to be passed in instead of a pointer to a nmg
18:13.20 CIA-62 BRL-CAD: model structure. This change allows the function to fuse edge geometry in other
18:13.20 CIA-62 BRL-CAD: smaller nmg objects such as an nmg shell or nmg faceuse. The following files
18:13.20 CIA-62 BRL-CAD: were changed raytrace.h nmg_simplify.c wdb_obj.c nmg_tri.c nmg_fuse.c
18:13.21 CIA-62 BRL-CAD: nmg_bool.c. The purpose of this change is to improve performance of nmg boolean
18:38.16 *** join/#brlcad nsd (~nicholas@c-24-0-153-224.hsd1.pa.comcast.net)
18:43.31 *** join/#brlcad nsd (~nicholas@c-24-0-153-224.hsd1.pa.comcast.net)
18:44.53 *** join/#brlcad nsd (~nicholas@c-24-0-153-224.hsd1.pa.comcast.net)
19:23.54 *** join/#brlcad KimK (~Kim__@209.248.147.2.nw.nuvox.net)
19:51.40 CIA-62 BRL-CAD: 03r_weiss * r45431 10/brlcad/trunk/src/librt/primitives/nmg/nmg_bool.c:
19:51.40 CIA-62 BRL-CAD: Updated function nmg_bool within file nmg_bool.c. This change removes
19:51.40 CIA-62 BRL-CAD: unnecessary operations to improve the speed of nmg boolean operations. This
19:51.40 CIA-62 BRL-CAD: change will increase the speed of functions such as the mged 'ev' and 'facetize'
19:51.40 CIA-62 BRL-CAD: commands.
20:29.39 CIA-62 BRL-CAD: 03r_weiss * r45432 10/brlcad/trunk/ (include/raytrace.h src/librt/primitives/nmg/nmg_ck.c):
20:29.39 CIA-62 BRL-CAD: Added a new function nmg_vsshell which validates the pointer structures within a
20:29.39 CIA-62 BRL-CAD: single nmg shell structure and all structures within. The function nmg_vshell
20:29.39 CIA-62 BRL-CAD: was changed to call the nmg_vsshell function. The function nmg_vshell is passed
20:29.39 CIA-62 BRL-CAD: a list of shells to validate instead of a single shell. The purpose of this
20:29.39 CIA-62 BRL-CAD: change is to allow a single nmg shell to be validated instead of all shells
20:29.40 CIA-62 BRL-CAD: within an nmg model. The files raytrace.h and nmg_ck.c were changed.
20:36.28 *** join/#brlcad Stattrav (~Stattrav@unaffiliated/stattrav)
21:16.57 CIA-62 BRL-CAD: 03r_weiss * r45433 10/brlcad/trunk/src/librt/primitives/nmg/nmg_tri.c:
21:16.58 CIA-62 BRL-CAD: Updated functions nmg_triangulate_model and nmg_triangulate_shell within file
21:16.58 CIA-62 BRL-CAD: nmg_tri.c. These changes make the operations of these functions consistent so
21:16.58 CIA-62 BRL-CAD: that the difference is only one triangulates an nmg shell and the other
21:16.58 CIA-62 BRL-CAD: triangulates all the nmg shells within an nmg model.
21:18.31 *** join/#brlcad KimK (~Kim__@209.248.147.2.nw.nuvox.net)
21:20.56 CIA-62 BRL-CAD: 03bhinesley * r45434 10/brlcad/trunk/src/libged/alter.c: Added a union to store distinct command argument groupings for each command. This obsoleted some of the command-specific #define flags; I'll fix that later. Started on helper functions for building args.
21:31.30 CIA-62 BRL-CAD: 03r_weiss * r45435 10/brlcad/trunk/src/librt/primitives/nmg/nmg_class.c:
21:31.30 CIA-62 BRL-CAD: Fixed a bug in function class_eu_vs_s within file nmg_class.c. The mid point of
21:31.30 CIA-62 BRL-CAD: the edge was not computed correctly. I also used points near the vertices but
21:31.30 CIA-62 BRL-CAD: still on the edge for the fallback if the mid point can not be classified. This
21:31.30 CIA-62 BRL-CAD: change improves the success of nmg boolean operations and can be seen when
21:31.30 CIA-62 BRL-CAD: running, for example, the mged 'facetize' and 'ev' commands.
22:14.50 CIA-62 BRL-CAD: 03r_weiss * r45436 10/brlcad/trunk/src/librt/primitives/nmg/nmg_tri.c:
22:14.50 CIA-62 BRL-CAD: Updated the prototype version of the function cut_unimonotone within file
22:14.50 CIA-62 BRL-CAD: nmg_tri.c. This is a work in progress and this change is disabled by default.
22:14.50 CIA-62 BRL-CAD: Some code cleanup was done and the ability to reverse the direction of loopuse
22:14.50 CIA-62 BRL-CAD: was added to correct situations after a loop cut that the direction reverses
22:14.51 CIA-62 BRL-CAD: i.e. is cw and should be ccw. This change supports the prototype version of the
22:14.52 CIA-62 BRL-CAD: function nmg_triangulate_fu.
22:30.37 CIA-62 BRL-CAD: 03brlcad * r45437 10/brlcad/trunk/src/libged/ (CMakeLists.txt Makefile.am zoom/ zoom/zoom.c zoom.c): zoom becomes the guinea piggie. move it into a subdir in preparation for sorting out fully self-contained modular commands.
22:31.19 CIA-62 BRL-CAD: 03brlcad * r45438 10/brlcad/trunk/src/libged/zoom/zoom.c: remove unnecessary headers and useless doxy file comment
22:32.36 CIA-62 BRL-CAD: 03brlcad * r45439 10/brlcad/trunk/src/libged/zoom/zoom.c: technically, ged_private.h is no longer in this dir
22:40.28 CIA-62 BRL-CAD: 03brlcad * r45440 10/brlcad/trunk/src/libged/ (ged_private.h vutil.c zoom/zoom.c): move _ged_do_zoom() out of vutil into zoom.c since that's the only place it's used, no longer needing private decl. rename to zoom().
22:44.03 CIA-62 BRL-CAD: 03brlcad * r45441 10/brlcad/trunk/src/libged/zoom/zoom.c: reduce and simplify
22:44.51 CIA-62 BRL-CAD: 03brlcad * r45442 10/brlcad/trunk/src/libged/zoom/zoom.c: don't need a db to scale the view
22:58.13 CIA-62 BRL-CAD: 03brlcad * r45443 10/brlcad/trunk/src/libged/zoom/zoom.c: make sure we set sf before testing its value, simplify validity to the two boundaries while treating the edge case as inside.
22:59.44 CIA-62 BRL-CAD: 03brlcad * r45444 10/brlcad/trunk/include/vmath.h: ws
23:51.16 *** join/#brlcad mafm (~mafm@83.Red-83-54-79.dynamicIP.rima-tde.net)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.