IRC log for #brlcad on 20090727

00:32.06CIA-37BRL-CAD: 03n_reed * r35284 10/brlcad/trunk/src/libdm/dm-rtgl.c: scaling normals to maintain accurate lighting
01:44.19*** join/#brlcad LarsG (n=lars@dial208-99.dialup.nus.edu.sg)
01:44.28*** part/#brlcad LarsG (n=lars@dial208-99.dialup.nus.edu.sg)
02:17.46*** join/#brlcad mike111 (n=mike@cadil21.kaist.ac.kr)
02:18.08mike111hi all
03:09.08brlcadhello
03:15.39mike111hi brclad, how r u?
03:21.02brlcadi'm doing great
03:21.20brlcadat least better than last week ;)
03:21.30mike111that's good :) .
03:22.37mike111Does g-stl accept any other units than mm or inches?
03:22.51Axman6brlcad: problems last week?
03:36.53brlcadmike111: no, the intent there is really just to provide a metric or standard file, not really unit support
03:37.11brlcadAxman6: no matter, just issues
03:37.29Axman6well, i hope they're all sorted :)
03:37.42brlcadnot yet, but hopefully
03:37.44mike111I thought so. I've got a model in meters, but g-stl exports in mm so the model becomes 1000 larger
03:38.36brlcadmike111: you can set the units in mged before running g-stl and it'll fix that
03:38.50brlcadthen set it back
03:39.31mike111not sure what you mean. I build the model in m units.
03:39.44brlcadI know
03:39.51brlcadi mean if you open the .g file, type
03:40.15brlcad'units mm', run g-stl, then back to mged and run 'units m' .. it should work fine
03:41.33mike111if I built the model in meters and then switch to mm mged doesn't scale the model to keep the original size (before units changed)?
03:42.15brlcadnope
03:42.38brlcadthe units command just sets the working units, what you want to work with
03:43.00mike111but sometimes it is easier to work with different units on the same model.
03:43.40brlcadexactly why you can work in mm for a while, switch to 'in' for a particular set of parts, back to "m", put in in a scene being modeling in "ft", etc...
03:43.44mike111from what you're saying I need to convert everything to the same units otherwise mged will scale the entire model everytime I switch units
03:43.55brlcadno no no
03:44.13brlcadi'm saying you need to run the "units" command
03:44.14brlcadrun it
03:44.17brlcadsee what it does
03:44.21brlcadit doesn't scale
03:44.28brlcadit just sets the working units
03:45.24brlcadso if you made a 1000x1000x1000 box with "units mm" (the default) .. then type "units m", it'll display as 1x1x1
03:45.50mike111then g-stl would still convert an object of 1m length to 1000mm example
03:45.52brlcadwhich is to say that it didn't scale anything, just changed the working units such that when asked to display that box (which already exists), it displays using those working units
03:46.07brlcadsmacks forehead
03:46.13brlcadyou're still not getting it :)
03:46.20brlcadset the units to mm
03:46.31brlcadthen what you have is exactly what g-stl is assuming you have
03:46.49brlcadno scaling
03:46.55brlcadjust different presentation of values
03:47.33brlcadre-read what I suggested and try it: 'units mm', run g-stl, then back to mged and run 'units m'
03:47.45mike111sure. I'll try that later.
03:47.54brlcadcheck the value of your objects, you'll see they don't change
03:47.59brlcadthey just display with whatever units you set
03:48.13mike111another question: what's the difference between `sca' and `oscale'?
03:48.15brlcadg-stl doesn't really care about units, it just looks at the value
03:49.30brlcadhistory, subtle differences -- no practical difference
03:49.51brlcadoscale is intended to be used with object-edit mode, which only applies to combinations
03:51.56mike111I'm using `sca' with oed, but the manual also mentions `oscale'.
03:52.55brlcadoscale should go away
03:53.23mike111thanks for clarifying that. :)
04:27.23*** join/#brlcad MinstrlGypsy (n=IriX64@bas2-sudbury98-1177593187.dsl.bell.ca)
05:28.29*** join/#brlcad ChanServ (ChanServ@services.)
05:28.29*** mode/#brlcad [+o ChanServ] by irc.freenode.net
05:28.50*** join/#brlcad PrezKennedyII (i=Matthew@whitecalf.net) [NETSPLIT VICTIM]
05:28.50*** join/#brlcad Ralith (n=ralith@216.162.199.202) [NETSPLIT VICTIM]
05:28.50*** join/#brlcad b0ef (n=b0ef@084202026157.customer.alfanett.no) [NETSPLIT VICTIM]
08:26.41CIA-37BRL-CAD: 03ralith * r35285 10/rt^3/trunk/src/g3d/OgreGLWidget.cxx: Fixed reception of keyboard input.
08:40.49CIA-37BRL-CAD: 03ralith * r35286 10/rt^3/trunk/src/g3d/OgreGLWidget.cxx: Less emphatic keyboard focus; no longer breaks everything else.
08:45.27CIA-37BRL-CAD: 03ralith * r35287 10/rt^3/trunk/src/g3d/MainWindow.cxx: Focus render area on application startup, making keyboard camera control work immediately.
08:52.30CIA-37BRL-CAD: 03ralith * r35288 10/rt^3/trunk/src/g3d/OgreGLWidget.cxx: Reordered constructor initializers and dropped an argument name to quell warnings.
08:55.10CIA-37BRL-CAD: 03ralith * r35289 10/rt^3/trunk/src/g3d/ (OgreGLWidget.cxx OgreGLWidget.h): Dropped unnecessary cruft left over from past attempts to get the Ogre GL context correctly resized.
09:10.33CIA-37BRL-CAD: 03ralith * r35290 10/rt^3/trunk/src/g3d/ (CameraMode.cxx CameraMode.h): Replaced broken vertical rotation limits with smooth wraparound.
09:16.01CIA-37BRL-CAD: 03ralith * r35291 10/rt^3/trunk/src/g3d/CameraModeBlender.cxx: Added rotation limit fix to CameraModeBlender, including changes to prevent horizontal rotation overflow.
09:21.12CIA-37BRL-CAD: 03ralith * r35292 10/rt^3/trunk/src/g3d/ (4 files): Applied rotation limit/overflow fix to CameraModeMGED and cleaned up earlier tweaks.
09:24.33CIA-37BRL-CAD: 03ralith * r35293 10/rt^3/trunk/src/g3d/CameraMode.cxx: Added a forgotten but all-important negation that prevents circularIncrement from becoming incredibly overenthusiastic.
09:26.31CIA-37BRL-CAD: 03ralith * r35294 10/rt^3/trunk/src/g3d/CameraMode.cxx: Doubled correctional offsets in circularIncrement to prevent pervasive view jumping.
09:29.48Raliththat's weird.
09:30.17Raliththe view jumps a ton when vertical rotation crosses π/2
09:39.10Ralith+/- pi/2, that is
09:41.17CIA-37BRL-CAD: 03Briannew220 07http://brlcad.org * r1583 10/wiki/Main_Page: /* BRL-CAD Wiki */
09:44.16CIA-37BRL-CAD: 03ralith * r35295 10/rt^3/trunk/src/g3d/CameraMode.cxx: Simplified some code in the continuing effort to remove the viewjump at a vertical rotation of +/-pi/2
09:59.47Ralithhm
10:26.09*** join/#brlcad PrezKennedyII (i=Matthew@whitecalf.net) [NETSPLIT VICTIM]
10:26.09*** join/#brlcad Ralith (n=ralith@216.162.199.202) [NETSPLIT VICTIM]
10:26.09*** join/#brlcad b0ef (n=b0ef@084202026157.customer.alfanett.no) [NETSPLIT VICTIM]
10:37.58*** join/#brlcad ChanServ (ChanServ@services.)
10:37.58*** mode/#brlcad [+o ChanServ] by irc.freenode.net
11:18.04*** join/#brlcad mafm (n=mafm@74.Red-83-42-152.dynamicIP.rima-tde.net)
11:28.58CIA-37BRL-CAD: 03Dloman 07http://brlcad.org * r1584 10/wiki/Main_Page: Bloody spammers :/
11:31.06d-lo_Mernin all.
11:40.45d-loSpammer are stupid. Does anyone really pay attention to spam anyways?
11:43.52archivistyes all the wiki cleaners
11:44.25archivistlock the main page down
11:45.43archiviston my wiki I protect any spammed pages,to stop the buggers from using the same page again
11:46.17d-lowell, the brlcad wiki isn't mine to admin :)
11:48.49Ralithsup d-lo!
11:48.53RalithI actually caught you!
11:48.55Ralith:D
11:50.03d-lohides.
11:50.16d-loThing are going well I see :)
11:50.29Ralithreasonably.
11:50.46Ralithit's a shame the OpenGL embedding thing didn't work out as well as planned.
11:50.55Ralithbut, fortunately, it should be hard to tell the difference.
11:51.09Ralithand there is yet hope for getting it working later on.
11:51.27d-loPerhaps in time, after a few iterations, you (or someone) will find the key to making the embedded openGL approach work.
11:51.44RalithI can't work out what's going on with the camera angle such that it flips around every time yaw hits +/- pi/2 though :/
11:52.05Ralithcleaned up mafm's camera code a good bit looking for it, but no luck yet.
11:52.21d-loI had a thought this weekend:  Since pictures speak a thousand words, why don't you start dropping a medium-rez SS or two on your wiki status log ;)
11:52.41Ralithyeah, I'll do that
11:53.00Ralithabout right when I get around to catching up on the log messages themselves >_>
11:53.05d-loas for the camera, how are you controlling it?
11:53.15RalithI was able to reuse all mafm's camera control code, fortunately
11:53.28Ralithjust had to swap out the OIS related code for its Qt equivalents
11:54.03Ralithand just tonight I fixed keyboard input, so camera control works exactly the same as in original g3d; three selectable modes which each interpret kb/mouse input differently.
11:54.04d-logood deal.  But even after that swap, there are still that eqn problem?
11:54.10Ralitheqn?
11:54.14d-loequation
11:54.17RalithO.o
11:54.18Ralithwat?
11:54.26d-lo<PROTECTED>
11:54.38Ralithyeah
11:54.46Raliththat's something that was always in mafm's code
11:55.04d-loso are you feeding the camera an angle?
11:55.13RalithI thought I knew what was causing it (there was some arbitrary limits and weird math and special handling of yaw) but scrapping all that didn't help.
11:56.02Ralithuh, lemme check the code
11:56.16d-loCameraManager ?
11:56.54Ralithno, not using that
11:56.55RalithCameraMode
11:57.15Ralithlooks like we're passing a SceneNode to OgreCamera::setPosition
11:57.47Ralithlemme see if there's a less indirect approach to that.
11:59.36Ralithokay, got something.
11:59.55d-loSide note: curious.  There is a definition for a Vector in the CameraMode class.  Pretty sure thats been defined somewhere in the orge suite. :)
12:00.06Ralithnot to mention in BRL-CAD.
12:00.10Ralithit's a low priority cleanup issue.
12:00.20d-loi figured :)
12:02.46Raliththis is weird
12:03.05Ralithit's like mafm wasn't expecting the camera to track it's own position/orientation O.o
12:04.18Ralithoh, I think I see why; rotation *around* a point.
12:04.48d-loare you referring to the fields inside CameraMode?
12:05.11Ralithno, the complexity of the code from L134-L168
12:05.45Ralithstill, I'm pretty sure there's a cleaner way to do this...
12:07.03d-loah, okay.  Yeah, the code that is executed once _actionPan is checked against SimpleVector(0,0,0).
12:07.11d-lo*agreed*
12:07.40d-loI think a breakout of that code into more logical internal functions would pretty much solve the problem.
12:08.38d-looutside of the Camera pan issue, how else are things going?
12:08.51RalithI dunno, it's pretty tempting to rework a good chunk of the class from the conceptual level
12:09.05Ralithget it proper support for continuous/instantaneous forms of all movements
12:09.17Ralithpretty good; Qt's a pleasure to work with
12:09.30d-loI say go for it, depending on how long it will take.
12:09.33RalithI'm pretty close to strapping mafm's command system into the GUI
12:09.37d-loQt = goodness :)
12:09.39Ralithshouldn't be long, unless the math trips me up
12:09.40Ralithyeah
12:09.46RalithI didn't have that high expectations going in
12:09.51Ralithbut DAMN it makes things convenient.
12:10.15Raliththe UI designer app's great, too, and cmake's solid support for the whole stack tops things off nicely.
12:10.37Ralithbeing able to go from the designer to code and then easily access that code from the implementation is great.
12:13.29d-loNow, are you sucking in the UI file through cmake directly?
12:13.33Ralithyep
12:13.39d-lonice.
12:13.55Ralithyou edit the UI file, cmake notes the edit time change and reruns uic before the next build.
12:14.03d-loI was messing around with QT a while ago and the Designer used to have a 'generate code' function... I think they took that out :/
12:14.04Ralithmetaobject handling is the same.
12:14.12Raliththey moved it into a separate tool
12:14.19Ralithnow you just run 'uic blah.ui'
12:14.26Ralithand get ui_blah.h
12:15.32Ralithperhaps the most encouraging part of working with Qt was how easy it seems to be to create specialized widgets
12:15.44Ralithas you might've noticed, I made the primitive console its own widget
12:15.53Ralith*very* straightforward
12:16.02Ralithand the doc's are a dream, too.
12:16.07Ralithdocs're*
12:18.03d-loGood stuff man.  I gotta get workin now :/  Keep up the good work.  You've got good momentum, keep it up :)
12:18.22Ralithkk
12:18.27Ralithseeya next time I'm up way too late ^^
12:18.48d-lohah, late == early :)
12:26.52CIA-37BRL-CAD: 03ralith * r35296 10/rt^3/trunk/src/g3d/ (5 files): Initial attempt at re-integrating command support. Uncertain success.
13:22.46*** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-27.sbndin.btas.verizon.net)
13:49.28*** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-27.sbndin.btas.verizon.net)
14:05.23mafmd-lo: the Vector definition probably it's just a storage of x and y values, not a full blown class with operations and stuff
14:07.26mafmabout the strangeness (180 degree turn) it happens when looking from zenithal view or something
14:07.52mafmdue to something like the value of the function (cos, sin, whatever) changing sign
14:09.06mafmyou can add a simple check to avoid that artifact if you want, but IIRC the must-have camera modes (mged and blender) were working mostly as expected
14:09.29mafmprobably with some advanced functionality missing
14:09.43mafmbut well, it's just a matter of extending it
14:10.12mafmother camera modes (orbital/continuous) were a bonus
14:15.38CIA-37BRL-CAD: 03bob1961 * r35297 10/brlcad/trunk/ (9 files in 4 dirs): These changes get kill, killall, killtree and killrefs working with undo in Archer.
14:25.05*** join/#brlcad BigAToo (n=BigAToo@host-69-95-46-65.spr.choiceone.net)
14:55.28*** join/#brlcad samrose (n=samrose@adsl-99-147-180-206.dsl.lgtpmi.sbcglobal.net)
14:59.14d-lomafm: I figured that SimpleVector was a 'quick n dirty,' just was wondering why it hadn't been replaced yet, thats all :)  And its a full 3D vector.
15:02.37CIA-37BRL-CAD: 03irpguardian * r35298 10/brlcad/trunk/src/proc-db/human.c:
15:02.38CIA-37BRL-CAD: Corrected a problem with bounding boxes being placed on the wrong side of the body
15:02.40CIA-37BRL-CAD: when being made.
15:04.50mafmd-lo: well yes, it's 3d, but it's only storage with 1 operation: http://brlcad.svn.sourceforge.net/viewvc/brlcad/rt^3/trunk/src/g3d/CameraMode.h?revision=35292&view=markup
15:04.59mafmnot nearly as complex as Ogre's
15:05.28d-loright :) I get that :)
15:05.31mafmmaybe I hadn't used brlcad includes by then
15:07.01d-lono big deal.  I was just skimming over the code and noticed that.
15:09.03mafmwhat I mean is that the idea is to have a lightweight way to pass 3 float coordinates for panning and the like contained in one class (parameter), instead of having to instantiate a full vector class with all of the associated operations
15:47.11*** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
15:47.58CIA-37BRL-CAD: 03n_reed * r35299 10/brlcad/trunk/ (include/dm-rtgl.h src/libdm/dm-rtgl.c): sorting points by color for faster OpenGL drawing
16:43.52CIA-37BRL-CAD: 03IRPGuardian 07http://brlcad.org * r1585 10/wiki/Main_Page:
16:57.00CIA-37BRL-CAD: 03IRPGuardian 07http://brlcad.org * r1586 10/wiki/User:IRPGuardian:
16:59.11CIA-37BRL-CAD: 03brlcad * r35300 10/brlcad/trunk/ (5 files in 5 dirs):
16:59.13CIA-37BRL-CAD: improve the opengl header tests (which were not working correctly on Mac OS X
16:59.15CIA-37BRL-CAD: 10.4) to go through AC_CHECK_HEADER instead of being custom AC_COMPILE_IFELSE
16:59.17CIA-37BRL-CAD: tests. opengl functionality tests occur later on. set GL_CPPFLAGS instead of
16:59.19CIA-37BRL-CAD: GL_CFLAGS for the header search paths to be consistent/pedantic.
17:04.39*** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-27.sbndin.btas.verizon.net)
17:52.50CIA-37BRL-CAD: 03jdoliner * r35301 10/brlcad/trunk/src/proc-db/surfaceintersect.cpp: Added functionality to find starting points for curve intersections
18:04.35CIA-37BRL-CAD: 03bob1961 * r35302 10/brlcad/trunk/src/libged/get_obj_bounds.c: Fixed a small memory leak.
18:58.59CIA-37BRL-CAD: 03brlcad * r35303 10/brlcad/trunk/TODO: unpush rears its head once again, now with an sf tracker (2826720 from victor). additional thought is to allow object creation as part of the unpush in order to retain matrix-less parents.
19:01.52CIA-37BRL-CAD: 03brlcad * r35304 10/brlcad/trunk/TODO:
19:01.58CIA-37BRL-CAD: another repeat offender, the ability to really easily checkpoint/backup a .g
19:02.06CIA-37BRL-CAD: file while editing it via some sort of archive/backup command. something near
19:02.14CIA-37BRL-CAD: equivalent to an external cp file.g /path/to/backup/dir/file_20100427_021800.g
19:02.18CIA-37BRL-CAD: with automatic date and timestamping.
19:04.27CIA-37BRL-CAD: 03brlcad * r35305 10/brlcad/trunk/TODO: consider option to reid/remat/edcodes and potentially others to ignore negative regions
19:04.37*** join/#brlcad ornitorrincos (n=ilcra198@archlinux/trusteduser/ornitorrincos)
19:27.33CIA-37BRL-CAD: 03brlcad * r35306 10/brlcad/trunk/TODO: add file input support to mv/mvall commands so you can feed them mapping files. this relates to sf request 2827957
19:29.30CIA-37BRL-CAD: 03bob1961 * r35307 10/brlcad/trunk/src/librt/prep.c: The rt_prep_parallel routine was returning without releasing RT_SEM_RESULTS in a few places. This was causing a hang in Cliff's bbsize.
19:31.59CIA-37BRL-CAD: 03starseeker * r35308 10/brlcad/trunk/NEWS: Add Bob's rt_prep_parallel fix to news file.
19:34.52brlcadthat's not exactly a user news line
19:35.25brlcadshould be worded from the user's perspective, not the code
19:36.11starseekerok
19:37.26CIA-37BRL-CAD: 03starseeker * r35309 10/brlcad/trunk/NEWS: Tweak news file.
19:39.20brlcadah, and that clarifies even more.. :)  not a news line
19:39.28brlcadpre-release bug catch
19:42.22starseekerso, no news item?
19:42.33starseekermake_bb would also have triggered it
19:42.57brlcadyeah, then it's a fix for make_bb
19:43.11brlcadremember the last commit comment is the one that gets pulled for the report
19:43.51CIA-37BRL-CAD: 03starseeker * r35310 10/brlcad/trunk/NEWS: Tweak news file some more.
19:43.57starseekeroh, whoops
19:43.59brlcadah yeah, the "expand capabilities" line is another
19:44.37brlcadnot user visible until it's released, and that is encompassed by the first line
19:45.02starseekerok, I'll clear it
19:45.47CIA-37BRL-CAD: 03starseeker * r35311 10/brlcad/trunk/NEWS: bbsize is already mentioned as a new command, don't need extra NEWS line.
19:53.48CIA-37BRL-CAD: 03irpguardian * r35312 10/brlcad/trunk/src/proc-db/human.c:
19:53.51CIA-37BRL-CAD: Human model mostly fits into bounding boxes when in the standing position now.
19:53.53CIA-37BRL-CAD: Rotation matrix is still throwing things off when limbs are moved, causing bounding
19:53.55CIA-37BRL-CAD: boxes to be rotated around some other point other than the point center.
20:13.11*** join/#brlcad ChanServ (ChanServ@services.)
20:13.11*** mode/#brlcad [+o ChanServ] by irc.freenode.net
20:13.15CIA-37BRL-CAD: 03erikgreenwald * r35313 10/brlcad/trunk/src/libdm/Makefile.am: move DM_RTGL_* into the WITH_OPENGL block.
20:23.36Ralithmafm: there's no overhead to additional member functions.
20:24.08Ralithyou could use the most advanced linalg class available, and if its data was just three coords it'd be just as lightweight :P
20:24.38Ralithmafm: and yeah, all the camera modes basically work great; I just want to have it *completely* working.
20:27.03Ralithmafm: and yeah, it happens precisely on the zenith, or its reflection around the horizontal plane.  Any tips as to *where* the simple check goes?  I've fiddled around in several places to no avail.
20:59.08CIA-37BRL-CAD: 03n_reed * r35314 10/brlcad/trunk/ (include/dm-rtgl.h src/libdm/dm-rtgl.c): starting to add support for point heirarchy
20:59.43brlcadack.. moved DM_RTGL on me
20:59.48brlcadno wunda
20:59.50``Erikmwahaha
21:00.21``Eriktwo of my primary builders weren't seeing GL, so I was getting slews of unresolved symbol glEnable() etc
21:01.06brlcadhe accidentally committed it enabled for about a day, probably stale build
21:01.35brlcadi just finished adding a proper --enable-rtgl option for it, was mid-testing
21:02.00``Erikfull autogen cycle didn't pick it up *shrug* but coulda been stale...
21:02.18*** join/#brlcad BigAToo (n=BigAToo@pool-96-230-124-27.sbndin.btas.verizon.net)
21:02.38``Erikhas done so much nonproductive bs crap today, was itching to get a build so he could code again O.o
21:02.55``Erikfix email access, catch up on email, fill out paperwork and forms out the wazoo, etc
21:09.32``Erikmmm, finally, a good debugging stack. *sigh*
21:12.12Ralithbrlcad: wait, where's OpenGL come in on rtgl?
21:12.17RalithI thought it was just the raytracer?
21:12.32mafmRalith: I think that when you create an object of type Blah vs Vector3, the amount of memory that you reserve is different, and things like that
21:12.44brlcadRalith: it's both
21:12.51Ralithmafm: no, not if it's just a matter of additional member functions.
21:12.56brlcadit uses raytracing to find the surfaces, then uses opengl to display them
21:13.00Ralithbrlcad: oh, cool!
21:13.15mafmin this case maybe Ogre::Vector3 doesn't inherit from other classes and so on, but still, you have to include the file and all of it's includes, and you spend more time compiling every time
21:13.50Ralithmafm: building an include file doesn't take much time, and chances are it's already included somewhere else anyway.
21:14.09Ralithnot to say that you did badly there or anything
21:14.12Ralithbut just fyi.
21:14.21Ralithbrlcad: how far along is it?
21:14.33brlcadpretty far, it looks awesome
21:14.37Ralith:D
21:14.52Ralithafter SoC I'd like to have a go at stapling it onto g3d
21:15.08Ralithnot sure how it'd be made to interact with ogre, though
21:15.36brlcadit'll be a little tricky, but interesting idea
21:15.47brlcadit might be easier to merely staple libdm into g3d
21:15.54brlcadas it is a dm interface
21:16.10brlcadi.e. it'd be a different 3d view renderer instead of ogre
21:16.17Raliththat would be pretty easy.
21:16.30Ralithjudging from past experience wrt. adding new Qt widgets
21:16.53mafmwell, I decreased compiling times by more than 50% in many projects (not mine) just by removing includes
21:16.57mafmyour mileage may vary
21:17.29RalithI guess the challenge would really be how to keep all the displays sync'd
21:17.41mafmhttp://www.brlcad.svn.sourceforge.net/viewvc/brlcad/rt^3/trunk/src/g3d/CameraMode.cxx?revision=35295&view=markup -> the camera thingy is here in vertical rotation, IIRC
21:17.41Ralithsuch that you can swap from one to another and still have all the same stuff visible, same perspective, etc.
21:17.56Ralithmafm: yeah, I know it's in there, but *where* in there?
21:17.58brlcadRalith: you wouldn't use ogre, you'd use libdm instead of ogre
21:18.02brlcaddifferent render manager
21:18.03mafmwhen passing some limit pi/2, or 0, or something like that
21:18.03Ralithbrlcad: yes, I know
21:18.24Ralithwait
21:18.39Ralithbrlcad: so to get Ogre, I'd just write a libdm interface for Ogre?
21:18.54Ralithmafm: no, I already scrapped all that with some code that handles overflow and wraps properly.
21:20.17*** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
21:21.15mafmc (3.141592/2.0+0.01)
21:21.17mafm-.008
21:21.18mafmc (3.141592/2.0-0.01)
21:21.20mafm.011
21:21.31Ralith?
21:21.36mafmI think that when changes sign, the direction of the vector changes
21:21.46Ralithwhen what changes sign?
21:21.49Raliththe direction of what vector?
21:21.51mafmso it looks backwards instead of forwar
21:22.05brlcadRalith: you still seem to be missing the "libdm instead of ogre" part ;)
21:22.14Ralithbrlcad: so, scrapping Ogre entirely?
21:22.19brlcadnot scrapping
21:22.32Ralithyou were regaling me the other day with how valuable Ogre's optimizations would be O.o
21:22.33brlcadi'm saying you could make it a build-time option to use libdm or use ogre
21:22.37Ralithoh.
21:22.39Raliththat's no fun :P
21:22.41brlcadif you use libdm, you got classic mged displays
21:22.48Ralithrtgl's no classic display
21:22.49brlcadif you use ogre, you get the new stuff
21:23.04brlcadit is in the sense that it's just another libdm interface
21:23.09brlcadyou do one, you have them all
21:23.13brlcadit's a pretty simple interface
21:23.20mafmRalith: do you understand how the camera mode class works, in general?
21:23.28Ralithbrlcad: I guess a compiletime option would be acceptable until the BREP-based solution shows up, then?
21:23.35Ralithwhich could be integrated with Ogre properly?
21:23.41Ralithmafm: I'm pretty sure I do
21:23.48brlcadRalith: you could certainly integrate what's there with ogre
21:23.55brlcadit just is kinda funky that way
21:24.07Ralithbrlcad: I could?  Ogre doesn't seem to take well to manual OpenGL calls.
21:24.19mafmthe camera is in some point in an sphere of variable radius around the target
21:24.25brlcadso don't make manual opengl calls .. and I think that was more something you were doing wrong :)
21:24.48Ralithprobably, but the point stands that it's outside what Ogre's designed to accept.
21:25.09mafm<PROTECTED>
21:25.20brlcadit's not, ogre has point-cloud visualization -- just don't know if it'd perform nearly as well as what it's doing by hand
21:25.35brlcadit basically is just a massive point cloud getting generated
21:25.46Ralithit doesn't wrap a surface around it?
21:25.55brlcadstill, it'd be way more useful to integrate libdm instead of ogre, even better to have both run-time toggleable
21:26.12Raliththat's what I was thinking of originally :P
21:26.24brlcadthat's not what you said
21:26.27Ralithit would probably be pretty easy to do so, if, as I mentioned, the state tracking could be worked out.
21:26.32brlcadthat doesn't involve putting libdm *into* ogre still
21:26.47brlcadit doesn't involve ogre at all really, just swaps between one or the other
21:26.47Raliththat's also not what I said :P
21:27.00brlcad17:18 < Ralith> brlcad: so to get Ogre, I'd just write a libdm interface for Ogre?
21:27.11Ralithbrlcad: as in, have Ogre be a libdm *client*
21:27.18Ralithin the same position as rtgl.
21:27.32Ralithbut I was actually referring to before that confusion.
21:27.41brlcadthat would defeat most of the benefits ogre brings to the table
21:27.46Ralithah.
21:28.26brlcadit'd work fine if you had some concept of an abstract graphics display class with one specialization using ogre and another using libdm
21:28.40*** join/#brlcad Patmcc19_ (n=chatzill@71-223-63-106.phnx.qwest.net)
21:28.57Ralithyeah
21:29.00Raliththus that being where the work lies.
21:36.27Ralithbrlcad: how far along is the brep stuff, anyway?
21:41.50*** join/#brlcad samrose (n=samrose@c-24-11-185-57.hsd1.mi.comcast.net)
21:44.26Ralithpokes mafm
21:45.10Ralithmafm: calling lookAt gives the camera a set of coordinates; negative values just mean negative coords.
21:45.13*** join/#brlcad jdoliner (n=jdoliner@c-68-51-75-169.hsd1.il.comcast.net)
21:45.32Ralithmafm: the place the camera's looking at shouldn't even modified by the yaw.
21:46.41Ralithand if the camera was looking backwards, it wouldn't be able to see the object :P
21:47.05mafmI never managed to grasp the meaning of yaw, etc
21:47.13mafmbut imagine that your head is the camera
21:47.46mafmwhen you're behind an object almost at the zenith, and you cross the zenith, your head would be heading downwards
21:48.48mafmwhat this camera/head does is to rotate, so your head is always up
21:48.48CIA-37BRL-CAD: 03ralith * r35315 10/rt^3/trunk/src/g3d/ (CameraMode.cxx Console.cxx Console.h): Another apparently effectless simplification of CameraMode and failed attempt to enable console signalling.
21:48.48Ralithmafm: ahhhh.
21:48.48Raliththat makes sense!
21:48.48Raliththanks.
21:48.48Ralithit modifies the roll.
21:48.48mafmwhen you pass the zenith you rotate, so the head continues to be "upright" instead of heading downwards
21:48.58RalithI guess... that's actually desired behavior then, isn't it O.o
21:49.20mafmit was, yes
21:49.28Ralithnot always, though
21:49.32Ralithit's certainly not how blender handles things
21:49.36mafmthe orbital mode was "invented" by me, didn't try to emulate any other program
21:49.44Raliththis isn't orbital mode
21:49.46Raliththis is *all* modes
21:50.04Ralith(I do love how smooth the view moves in orbital, though ^^)
21:50.31mafmwell, let's say that I started with orbital since it's the more comprehensive
21:50.39Ralithnods
21:50.45RalithI'll twiddle things and see where it goes
21:50.46mafmI didn't care of that weird thing at that point
21:51.02mafmbut it turns out that it's a bit strange when happens for the rest of the modes
21:51.06Ralithnow that I understand *why* it's doing that, at least conceptually, I should be able to ferret it out.
21:51.28mafmI mean, it's not designed to be specifically at that way, just that I didn't bothered changing it
21:51.32Ralithyeah
21:52.56mafmand IIRC was in one of the parameters of rotation (horz or vert) in the transition at the zenith
21:53.10Ralithparameters of rotation?
21:53.45mafmhorzRot, vertRot
21:54.09mafmthe variables which hold the position of the camera, having center as base
21:54.36Raliththose are floats; they don't have parameters...
21:55.31mafmwell, the right word for you would be "orbital/spherical coordinates", instead of parameters :D
21:55.41CIA-37BRL-CAD: 03ralith * r35316 10/rt^3/trunk/src/g3d/ (Console.cxx Console.h): Working command input! :D
21:55.52Ralithmafm: oh, you mean "it occurs when vertRot passes the zenith?"
21:55.56Ralithyeah, I noticed that
21:55.57Raliththat is
21:56.01RalithI noticed the magic value
21:56.05Ralithdidn't realize its significance
21:56.46mafmyes, something like that
21:57.22mafmso the check would be to detect the transition and modify the resulting value
21:57.59mafm"when Blah was almost at zenith in past frame and now is past zenith, do whatever"
21:58.55Ralithwell, that would have to refer to M_PI
21:59.08mafmmaybe you don't have to save state between frames, just compare if the past value of the variable plus delta is bigger than 2*pi, or so
21:59.24Ralithand the only remaining references to M_PI are ones I've already vetted :/
22:08.19mafmI think that part of the problem is that some coordinate varies between 0 and pi, another between -pi and pi
22:08.22mafmhttp://en.wikipedia.org/wiki/Spherical_coordinates#Definition
22:08.23CIA-37BRL-CAD: 03irpguardian * r35317 10/brlcad/trunk/src/proc-db/human.c: Added shoulder joints to bounding box list, giving a (nearly) fully boxed model when standing.
22:08.56Ralithmafm: as far as I can see, I've standardized everything to +/-pi
22:10.13mafmI can't really remember the specifics
22:10.26Ralithno worries, I'll work it out
22:10.32mafm:)
22:10.38Ralithwhile you're here—
22:10.59CIA-37BRL-CAD: 03ralith * r35318 10/rt^3/trunk/src/g3d/Console.cxx: Added history to the console.
22:11.14Ralithwhere does the text output used in the original console come from?
22:11.20Ralithit looks like logger output
22:12.13Ralithhm. looks like Logger::attach
22:12.37Ralithwhich is ObserverSubject::attach?
22:12.52Ralithyep
22:14.47mafmthe console was observing the log, yep
22:14.56mafmso you can see things in both places
22:15.17Ralithkk, cool
22:32.50Ralithargh
22:32.55RalithI hate iterating over STL containers holding const values
22:32.58RalithI can never get it right :|
22:46.32CIA-37BRL-CAD: 03brlcad * r35319 10/brlcad/trunk/ (configure.ac src/libdm/Makefile.am src/mged/Makefile.am): (log message trimmed)
22:46.35CIA-37BRL-CAD: add a proper --enable-rtgl flag to configure that will enable/disable
22:46.39CIA-37BRL-CAD: compilation of the new rtgl dm interface. it's still tied to opengl (which is
22:46.41CIA-37BRL-CAD: presently defaulted off), so you have to specify --with-opengl too.
22:46.45CIA-37BRL-CAD: intentionally did not assign aliases or add to enable-all as a) it's still under
22:46.49CIA-37BRL-CAD: development, b) it needs more work at least to not hang drawing, and c) there
22:46.53CIA-37BRL-CAD: still needs to be a way to turn all the dm/fb's on/off consistently with
22:57.24CIA-37BRL-CAD: 03ralith * r35320 10/rt^3/trunk/src/g3d/ (Console.cxx Console.h OgreGLWidget.cxx): Working, but backwards, log messages in console output.
22:59.55CIA-37BRL-CAD: 03ralith * r35321 10/rt^3/trunk/src/g3d/Console.cxx: Flipped console message ordering the right way around.
23:02.07Ralithwoo
23:02.11Ralithfully functional console :D
23:16.44``Eriksurprisingly easy, huh?
23:21.24CIA-37BRL-CAD: 03ralith * r35322 10/rt^3/trunk/src/g3d/ (7 files): Dropped some no-longer-relevant code held over from RBGui usage.
23:22.22Ralith``Erik: yep; mafm's existing command/logging stuff was put together solidly, and Qt is, too, so it was pretty straightforward to glue them together.
23:25.50RalithG3D has now been completely uncrufted :D
23:25.58``Erikcompletely? O.o
23:26.00Ralithoh wait
23:26.01Ralithnot quite
23:26.40Raliththere we go.
23:26.48RalithNOW it's been fully uncrufted.
23:27.05CIA-37BRL-CAD: 03ralith * r35323 10/rt^3/trunk/src/g3d/ (14 files): Dropped remaining RBGui code and cleaned out CMakeLists.
23:27.07Ralith^^
23:34.28CIA-37BRL-CAD: 03ralith * r35324 10/rt^3/trunk/src/g3d/Commands.h: Removed command reliant on outdated code.
23:45.25CIA-37BRL-CAD: 03ralith * r35325 10/rt^3/trunk/src/g3d/MainWindow.cxx: Wired the dropdown setting change signal to the ogreView's setFocus slot so the user doesn't have to keep clicking on the render area.

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