00:23.47 |
*** join/#brlcad IriX64
(n=IriX64@bas2-sudbury98-1178015440.dsl.bell.ca) |
00:51.04 |
*** join/#brlcad pacman87
(n=pacman87@pool-173-57-41-37.dllstx.fios.verizon.net) |
01:03.13 |
``Erik |
heh, pheer ~{ ~} |
01:10.55 |
Ralith |
? |
01:11.17 |
Ralith |
as in, the lisp format thingies? |
01:25.20 |
``Erik |
yeah |
01:27.25 |
Ralith |
has been teaching himself
lisp |
01:27.30 |
Ralith |
very fun stuff. |
01:28.14 |
``Erik |
indeed |
01:28.20 |
*** join/#brlcad pacman87
(n=pacman87@pool-173-57-41-37.dllstx.fios.verizon.net) |
01:57.18 |
brlcad |
howdy pacman87 |
01:57.42 |
brlcad |
ready to code yet? :) |
02:00.48 |
*** join/#brlcad mike
(n=mike@cadil21.kaist.ac.kr) |
02:00.56 |
Mike111 |
hi all |
02:03.44 |
brlcad |
howdy Mike111 |
02:04.19 |
Mike111 |
hi brlcad; how are you? |
02:09.02 |
Mike111 |
I will have a non-brlcad model supplied (maybe
as IGES or DXF). I want to change the model, that is, replace an
original object (component in the model) with my own. How do I do
that? |
02:09.16 |
brlcad |
i'm great, busy times but great |
02:09.26 |
brlcad |
can't wait to see how these renders turn
out... |
02:09.50 |
brlcad |
Mike111: it totally depends on the supplied
model and how it's structured |
02:10.55 |
Mike111 |
they model won't be a brl-cad format so there
won't be a `tree' of combinations or primitives |
02:10.56 |
brlcad |
many imports come in as polygonal meshes,
which suck to edit (in brl-cad) beyond affine transforms
(translation/rotation/scale) and delete/duplicate/replace |
02:11.13 |
brlcad |
it may still be a collection of
'parts' |
02:11.34 |
brlcad |
if your editing intent is to replace a given
part, you should be able to delete the part and replace it with
your own |
02:12.37 |
Mike111 |
is there a way to automate this, if I need to
do this repeatedly for the same model (try several different
components) |
02:14.45 |
``Erik |
you're asking if BRL-CAD can automatically
remove regions and replace them with other (different) geometry?
O.o |
02:15.36 |
Mike111 |
if I can script this operation, that is,
define which part I want to remove, remove it and then attach the
new part |
02:15.38 |
brlcad |
if what you're doing is identically repetitive
or repetitive in some prescribed pattern, sure it could be
automated |
02:15.51 |
brlcad |
heavily scriptable system |
02:15.59 |
brlcad |
pick your poison/language |
02:16.15 |
brlcad |
tcl inside mged, anything outside |
02:16.27 |
``Erik |
plus the clone and pattern tools |
02:16.53 |
brlcad |
example scripting here: http://brlcad.org/wiki/SGI_Cube |
02:17.00 |
Mike111 |
so far I've written script which I just piped
in mged (a series of mged commands) |
02:17.25 |
Mike111 |
the SGI example is good. clear to
follow. |
02:17.51 |
Mike111 |
Erik: what are those? |
02:18.19 |
``Erik |
commands inside of mged |
02:20.17 |
brlcad |
Mike111: lots of commands categorized and
listed in: http://brlcad.org/w/images/5/52/MGED_Quick_Reference_Card.pdf |
02:20.30 |
brlcad |
as well as the appendix of the MGED
Tutorial |
02:21.54 |
Mike111 |
Thanks. |
02:22.31 |
Mike111 |
still not clear to me how exactly do I select
a part of a DXF or IGES model. |
02:24.14 |
``Erik |
depends on how it converts |
02:24.40 |
Mike111 |
brl-cad can import these formats directly,
right? |
02:25.14 |
brlcad |
yes, there's dxf-g and iges-g |
02:25.31 |
brlcad |
if they have multiple objects, they will
import as multiple objects |
02:25.38 |
brlcad |
give it a try, see what it does :) |
02:26.31 |
Mike111 |
once I loaded a DXF or IGES model, how do I
check its `tree'? with `ls'? |
02:27.33 |
``Erik |
sure, or fire up the geometry viewer |
02:27.49 |
brlcad |
tops, l, ls *, tree, ... |
02:28.08 |
brlcad |
lots of ways -- Tools -> Geometry Browser
will show you graphically |
02:29.14 |
*** join/#brlcad feuerret
(n=841900d2@bz.bzflag.bz) |
02:30.41 |
Mike111 |
do you know a good GPL meshing
program? |
02:31.05 |
starseeker |
you mean mesh editing or mesh
conversion? |
02:32.45 |
Mike111 |
I mean meshing a model (not conversion), that
is, taking a 3d model and creating a mesh (say unstructured) on the
skin |
02:33.25 |
Mike111 |
Other applications (such as structural
analysis) need a mesh to analyze a model |
02:33.28 |
starseeker |
um. it depends on what input data you're
starting with. point cloud? CSG model? nurbs surface? |
02:34.42 |
Mike111 |
I will have a CSG model which I generate in
brl-cad. |
02:35.14 |
``Erik |
g-stl ? |
02:35.24 |
Mike111 |
Later on, I may have a model which is imported
(DXF or IGES) plus a component made in brl-cad |
02:35.45 |
Mike111 |
Erik: you mean exporting the brl-cad model
into stl? |
02:36.29 |
brlcad |
many of our exporters mesh on output |
02:36.36 |
brlcad |
g-dxf, g-stl, g-obj, g-nff, g-x3d,
etc |
02:36.41 |
``Erik |
plus there's an mged command called "facetize"
which converts the named region to a triangle version |
02:37.05 |
brlcad |
those formats don't support CSG or implicit
geometry, so we have to convert to their representation |
02:39.23 |
brlcad |
if you really want to get fancy for FEA
purposes, the recommended approach would probably be to buy a Cubit
license ($300 for 5-years) and use our g-sat converter which hooks
to Cubit |
02:39.33 |
brlcad |
their meshing facilities are some of the best
for FEA |
02:40.25 |
brlcad |
as for free, there's not really a lot of good
meshers for FEA purposes that are open source, at least not that
preserve solidity |
02:54.59 |
Mike111 |
the lab here used a mesh generator running on
CentOS linux. |
02:55.16 |
*** join/#brlcad Feuerret
(n=841900d2@bz.bzflag.bz) |
02:55.30 |
Mike111 |
as I understand, it needs an IGES file which
`only describes the skin' (outer surface of the model) |
02:55.37 |
Mike111 |
that's what the lab users just told
me |
02:56.58 |
brlcad |
yeah, iges supports a wide variety of geometry
including skin-only models |
02:57.25 |
brlcad |
we call them "plate-mode bots", and such an
iges should import as such iirc |
02:57.31 |
Mike111 |
can I directly export the model as `skin-only'
from brl-cad or one its exporters? |
02:57.42 |
brlcad |
"bots" == "bag of triangles" |
02:58.07 |
brlcad |
we only export skin-only if it imported as
skin-only |
02:58.41 |
Mike111 |
what is I create the model in brl-cad from
scratch? |
02:58.57 |
brlcad |
those are solid models |
03:00.11 |
Mike111 |
so they cannot be exported as
`skin-only'? |
03:00.32 |
brlcad |
a solid model that is tessellated to a bot is
trivial to convert to a plate-mode bot |
03:00.59 |
brlcad |
I'm not sure I believe that you actually need
skin models though, *especially* if it's for a mesher designed for
FEA |
03:01.19 |
brlcad |
a general content mesher, sure |
03:01.26 |
brlcad |
but not one for analytic purposes |
03:01.58 |
brlcad |
I'd bet your lab is abusing some non-analytic
mesher tool (simply because it was free and did the job) |
03:02.41 |
brlcad |
hm, looks like our iges exporter will not
export plate-mode bots |
03:04.40 |
Mike111 |
what about the option you mentioned on
tesselating a bot and converting it to a plate-mode bot? |
03:12.43 |
brlcad |
that's possible but it wouldn't do anything
useful for you |
03:12.56 |
brlcad |
before guessing, you probably should just take
a very simple test case and see how it works |
03:13.03 |
brlcad |
make a sphere |
03:13.11 |
brlcad |
export that sphere as dxf, iges, and
stl |
03:13.25 |
brlcad |
see how each import into that mesh
tool |
03:13.49 |
brlcad |
then try importing something, export it as
dxf, iges, and stl .. see how it imports into the mesher |
03:14.23 |
brlcad |
that will answer way more questions than
speculating on what is possible, our terminology, their
terminology, your understanding, etc ;) |
03:23.43 |
Mike111 |
OK, I'll give it a try and take it from
there. |
03:24.39 |
brlcad |
cool, please update on how it goes! |
03:25.41 |
CIA-28 |
BRL-CAD: 03brlcad * r34665 10/brlcad/trunk/
(BUGS TODO): the shaders.sh regression test case is failing due to
a change in view initialization. needs to be fixed. |
03:26.01 |
Mike111 |
The Lighting tutorial is clear. Howeverm, now
the link is missing from the brlcad wiki page. |
03:28.07 |
CIA-28 |
BRL-CAD: 03Sean 07http://brlcad.org * r0
10/wiki/Special:Log/block: blocked [[User:77.120.80.206]] with an
expiry time of infinite (anonymous users only, account creation
disabled): Spamming links to external sites |
03:28.21 |
CIA-28 |
BRL-CAD: 03Sean 07http://brlcad.org * r1461
10/wiki/Main_Page: Reverted edits by
[[Special:Contributions/77.120.80.206|77.120.80.206]] ([[User
talk:77.120.80.206|Talk]]); changed back to last version by
[[User:98.218.53.50|98.218.53.50]] |
03:28.27 |
brlcad |
fixed |
03:28.49 |
brlcad |
it's a wiki .. you can fix it if it happens
again ;) |
03:28.59 |
brlcad |
just select History, see what
happened |
03:29.14 |
Mike111 |
sure, thanks for the info. |
03:29.37 |
brlcad |
if you compare a revision to the previous,
it'll show the changed lines. you can see in that one that someone
spammed a link this morning |
03:30.31 |
Mike111 |
nasty |
03:31.11 |
brlcad |
happens |
03:31.17 |
Mike111 |
how do I place light sources in specific
locations, such as in the tutorial? |
03:31.19 |
brlcad |
it's trivial to revert |
03:31.31 |
brlcad |
you create geometry, put it where you
want |
03:31.52 |
brlcad |
e.g., there I created little spheres |
03:32.18 |
brlcad |
you put them in a region and mark the shader
as a 'light' |
03:32.39 |
Mike111 |
so if a primitive has only the `Light' shader
enable they essentially act only as light sources? |
03:33.06 |
Mike111 |
so if a primitive has only the `Light' shader
enable it essentially acts only as a light source? |
03:33.07 |
brlcad |
'only' as light sources? |
03:33.50 |
brlcad |
when you apply the light shader, it's
considered a light, which means it illuminates the scene |
03:33.56 |
brlcad |
creating a light disables the default
lights |
03:34.14 |
brlcad |
rather, rendering a scene with a light in it
disables the defaults |
03:34.25 |
brlcad |
not just creating it, have to have it in your
scene ;) |
03:34.35 |
Mike111 |
that's the -A0 setting? |
03:34.46 |
brlcad |
no, that's the ambient energy in the
scene |
03:35.48 |
brlcad |
that page isn't meant to explain everything
about lighting -- there's too much to cover for that short space --
it's meant to explain lighting _after_ you already understand how
to create a light :) |
03:36.06 |
brlcad |
the tutorial series covers lighting
iirc |
03:36.22 |
Mike111 |
you mean volume II? |
03:36.24 |
brlcad |
but basically you create geometry, apply light
shader, then render |
03:36.50 |
brlcad |
II or III -- that's the series |
03:41.11 |
Mike111 |
Vol. II, p.124:"The light shader is
technically complex and not discussed in this tutorial".
:( |
03:41.11 |
brlcad |
make sph sph ; r light.r u sph ; mater light.r
light 255 0 0 0 |
03:41.23 |
brlcad |
that will make a red spherical light |
03:41.34 |
brlcad |
so maybe it was III |
03:42.46 |
brlcad |
or not.. |
03:42.57 |
Mike111 |
I'll check later in detail. |
03:43.01 |
brlcad |
don't see a light ref |
03:44.45 |
brlcad |
http://brlcad.org/ugm2002/ShadingObjects.pdf
covers it a little bit |
03:45.20 |
brlcad |
but if you run that line I gave you and then
edit the object with the combination editor (then select 'shader'),
you'll see the options |
03:45.53 |
Mike111 |
I was looking at these options yesterday,
after reading the lighting tutorial |
03:47.59 |
Mike111 |
can you clarify what are the `fraction' and
`lumens'? settings for intensity? |
03:55.32 |
*** join/#brlcad cad21
(n=841900d2@bz.bzflag.bz) |
03:55.55 |
*** join/#brlcad Feuerret
(n=841900d2@bz.bzflag.bz) |
03:56.51 |
*** join/#brlcad Feuerret
(n=841900d2@bz.bzflag.bz) |
03:57.11 |
brlcad |
ignore lumens |
03:57.23 |
brlcad |
fraction is the % contribution to the
scene |
03:57.41 |
brlcad |
so if you have just one light, it contributes
100% |
03:57.51 |
brlcad |
you can make it twice as bright by making it
200% |
03:58.06 |
*** join/#brlcad Ralith_
(n=ralith@216.162.199.202) |
03:58.30 |
Mike111 |
so it's basically the intensity? |
03:58.41 |
brlcad |
if you have two lights with fractions 1 and 1,
they'll both be contributing 100% respectively (resulting in the
same 'intensity' as one light at 200%) |
03:58.54 |
brlcad |
basically, but it's balanced among all lights
in your scene |
03:59.40 |
*** join/#brlcad Feuerret
(n=841900cf@bz.bzflag.bz) |
03:59.40 |
Mike111 |
ok. what are `angle' and `target'? |
04:01.16 |
*** join/#brlcad Feuerret2
(n=841900cf@bz.bzflag.bz) |
04:01.19 |
brlcad |
angle is the direction the light
faces |
04:01.27 |
brlcad |
er, sorry, target |
04:01.38 |
brlcad |
target is the direction |
04:02.05 |
brlcad |
angle is the angle of the light cone --
default is 180 degrees |
04:02.15 |
brlcad |
20 degrees would make a sort of
"spotlight" |
04:02.35 |
brlcad |
.1 degree would be like a laser |
04:02.49 |
brlcad |
5 degrees like a flashlight, etc |
04:03.00 |
Mike111 |
you mean how much the light is
`spread'? |
04:03.03 |
brlcad |
right |
04:03.37 |
brlcad |
they're directional by default, not
omnidirectional |
04:03.55 |
Mike111 |
would 360 give an omnidirectional
source? |
04:04.06 |
brlcad |
you know, I don't remember :) |
04:04.49 |
Mike111 |
180 means the source only emits towards the
`bottom'? |
04:05.39 |
Mike111 |
so that's why you need a target? to specify a
direction vector around which the light `spreads'? |
04:12.15 |
Mike111 |
brlcad: sorry but I need to go now. I'm
logging the chat so if you reply I'll view that later.
Cheers |
04:14.21 |
brlcad |
right |
04:14.30 |
brlcad |
that's direction and the
spread/angle |
04:39.08 |
*** join/#brlcad pacman87
(n=pacman87@pool-173-57-41-37.dllstx.fios.verizon.net) |
04:48.02 |
*** join/#brlcad pacman87
(n=pacman87@pool-173-57-41-37.dllstx.fios.verizon.net) |
04:48.09 |
CIA-28 |
BRL-CAD: 03173.57.41.37 07http://brlcad.org * r1462
10/wiki/User:Pacman87: /* About me */ |
04:49.45 |
CIA-28 |
BRL-CAD: 03173.57.41.37 07http://brlcad.org * r1463
10/wiki/User:Pacman87: /* About me */ |
04:54.43 |
CIA-28 |
BRL-CAD: 03indianlarry * r34666
10/brlcad/trunk/ (include/opennurbs_ext.h
src/librt/primitives/brep/brep.cpp): |
04:54.43 |
CIA-28 |
BRL-CAD: linear approximation a lot closer,
now need to get the final newton |
04:54.44 |
CIA-28 |
BRL-CAD: step working on the trims. I do see
some artifacts from the tangent sign |
04:54.44 |
CIA-28 |
BRL-CAD: change in the UV horizontal(v) but as
discussed that should be an easy fix, |
04:54.44 |
CIA-28 |
BRL-CAD: The hit checks (odd/even) are back on
so you may see some background specks |
04:54.45 |
CIA-28 |
BRL-CAD: around edges - this seems to have
cleaned up some of the odd looking behavior |
04:54.47 |
CIA-28 |
BRL-CAD: in the images BRLCAD generated (but
didn't check all models) |
05:02.47 |
*** join/#brlcad pacman87
(n=pacman87@pool-173-57-41-37.dllstx.fios.verizon.net) |
07:27.01 |
*** join/#brlcad _clock_
(n=_sushi_@84-72-91-14.dclient.hispeed.ch) |
07:59.23 |
*** join/#brlcad mafm
(n=mafm@126.Red-83-45-252.dynamicIP.rima-tde.net) |
09:04.50 |
brlcad |
indianlarry: up late eh? :) |
09:22.39 |
Ralith |
aren't we all? |
09:25.24 |
*** join/#brlcad mafm_
(n=mafm@126.Red-83-45-252.dynamicIP.rima-tde.net) |
09:33.51 |
Axman6 |
brlcad: do/have you done any Ada programming?
(i feel i've asked you this before, so sorry if i have) |
10:07.19 |
*** join/#brlcad _clock_
(n=_sushi_@84-72-91-14.dclient.hispeed.ch) |
10:21.32 |
Ralith |
sleeps |
11:32.25 |
d-lo |
Mernin all! |
11:34.37 |
*** join/#brlcad d_rossberg
(n=rossberg@66.111.56.50) |
11:50.30 |
starseeker |
indianlarry: awesome! |
11:51.48 |
starseeker |
thank you! |
11:53.43 |
*** join/#brlcad BigAToo
(n=BigAToo@nmd.sbx10200.goshein.wayport.net) |
12:18.49 |
starseeker |
scowls at jove - where did
"jove.h:431: error: conflicting types 'getline'" come
from? |
12:39.51 |
starseeker |
hmm - some sort of getline definition in
stdio.h... ugh |
13:01.01 |
starseeker |
disables jove building and
moves on with life |
13:02.32 |
``Erik |
svn rm ftw O.o |
13:04.09 |
starseeker |
blinks at the number of
format argument complaints he's getting |
13:04.30 |
starseeker |
serves me right for updating my system - now
I'll bet my gcc/automake combo is too new to work
again... |
13:06.33 |
``Erik |
eh? |
13:07.06 |
starseeker |
runs gentoo unstable, so I
tend to be uncomfortable close to the "cutting edge" of
gcc/autotools versions |
13:07.24 |
``Erik |
has a feeling that the actual
problem is a more strict automake and an inferior package
management system that did not update all the packages that
installed (now old style) m4 files? :D |
13:07.54 |
starseeker |
eh, possibly |
13:08.07 |
starseeker |
not sure how to spot that |
13:08.12 |
``Erik |
lots of "underquoted" issues? |
13:08.35 |
starseeker |
no, more complaints about "expects unsigned
int, but given long int" or some such |
13:08.45 |
``Erik |
ohhh, type issues, n/m :) |
13:09.23 |
``Erik |
what are your -W flags? |
13:09.32 |
starseeker |
should be default |
13:09.49 |
``Erik |
doesn't remember default
O:-) |
13:10.22 |
starseeker |
<PROTECTED> |
13:11.05 |
starseeker |
yeah, not sure |
13:11.18 |
starseeker |
isn't too concerned right now
- more important that install works |
13:11.34 |
starseeker |
(me neeeeeds moooore cooores......) |
13:11.46 |
starseeker |
40 minute builds suck |
13:12.17 |
starseeker |
guesses when Qt/Ogre installs
become part of the game the time will have come to upgrade this
sucker |
13:12.48 |
_clock_ |
Qt a part of brlcad install? |
13:13.00 |
starseeker |
not yet |
13:13.06 |
starseeker |
we might never put it in |
13:13.30 |
starseeker |
but Ralith is exploring combining the Qt
toolkit with Ogre |
13:18.14 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-65.sbndin.btas.verizon.net) |
13:18.19 |
starseeker |
hmm: http://www.newegg.com/Product/Product.aspx?Item=N82E16883107970 |
13:28.15 |
starseeker |
what on earth: /usr/bin/install: will not
overwrite just-created `/usr/brlcad/share/man/man3/librle.3' with
`../../../../brlcad/src/other/libutahrle/librle.3' |
13:29.45 |
starseeker |
sees duplicate entry in
Makefile... how did it get there... |
13:33.21 |
CIA-28 |
BRL-CAD: 03starseeker * r34667
10/brlcad/trunk/src/other/libutahrle/Makefile.am: Remove duplicate
entry for librle.3 |
13:36.03 |
CIA-28 |
BRL-CAD: 03starseeker * r34668
10/brlcad/trunk/src/adrt/libtienet/Makefile.am: Remove duplicate
tienet_util.h entry |
13:39.24 |
*** join/#brlcad SWPadnos
(n=Me@dsl107.esjtvtli.sover.net) |
13:39.51 |
``Erik |
ponders the breakage in
opennurbs |
13:40.08 |
``Erik |
src/other/openNURBS/opennurbs_system.h:150:
error: expected identifier or '(' before '/' token |
13:40.12 |
``Erik |
line #'s must be off |
13:40.55 |
CIA-28 |
BRL-CAD: 03starseeker * r34669
10/brlcad/trunk/src/tclscripts/archer/images/Themes/Windows/Makefile.am:
Remove duplicate entry for pane_collapse.png |
13:41.20 |
starseeker |
blinks |
13:42.44 |
starseeker |
``Erik: where are you seeing that? |
13:42.52 |
``Erik |
amd64 fbsd7 |
13:42.53 |
starseeker |
what OS I mean |
13:42.55 |
starseeker |
ah |
13:43.24 |
``Erik |
knew what ya meant
:D |
13:44.24 |
starseeker |
gets the latest nurbs
raytrace of shape1.s - swwwweeeeet |
13:45.08 |
starseeker |
ok, so that was it - my toolset is suddenly
picky about duplicate file listings in Makefile.am |
13:45.13 |
starseeker |
<snort> |
13:45.20 |
starseeker |
oh, well - legit errors I suppose |
13:45.32 |
starseeker |
alrightie, I'm on the road |
13:46.44 |
d_rossberg |
``Erik: // => /* */ |
13:46.54 |
``Erik |
yes, compiling with that |
13:47.08 |
``Erik |
wanted the compile to finish before I commited
:) |
13:47.57 |
``Erik |
there're more of those, I'll wait until I get
them all and commit 'em all at once |
13:48.10 |
d_rossberg |
isn't // already legal in C code? |
13:49.34 |
``Erik |
it's c99 |
13:50.26 |
``Erik |
I'm compiling with "-W -Wall -ansi -pedantic"
because I'm nuts |
13:54.03 |
``Erik |
meh, screw it, we'll just say c99 is required
for opennurbs :D |
13:54.49 |
d_rossberg |
opennurbs is C++ :P |
13:54.59 |
``Erik |
it's mostly c++, there're 2 C files in
it |
13:55.27 |
``Erik |
which is how I'm tripping that issue
:) |
14:33.24 |
CIA-28 |
BRL-CAD: 03indianlarry * r34670
10/brlcad/trunk/include/opennurbs_ext.h: |
14:33.24 |
CIA-28 |
BRL-CAD: added initial curve approximation to
trims, still some fuzz, haven't optimized |
14:33.24 |
CIA-28 |
BRL-CAD: merely replaced linear check for now
i'm sure its slower |
15:29.00 |
CIA-28 |
BRL-CAD: 03starseeker * r34671
10/brlcad/trunk/include/opennurbs_ext.h: pass in the full uv point
in the curve iteration function (not sure I'll need it but if I do
this will minimize the effort to swap out different curve solver
attempts) - no functionality change |
15:37.24 |
indianlarry |
starseeker: probably should have passed it in
for good measure, could also use to stop iteration is v falls out
of closeness (is that a word?) |
15:37.49 |
starseeker |
not sure :-) |
15:38.15 |
starseeker |
was just going to take another stab at writing
a newton iterator, looks like it needs both but I'm not totally
sure |
15:38.55 |
starseeker |
probably need the test of within the triangle
defined by the normals and the line segment between the two end
points too |
15:38.59 |
starseeker |
(ick) |
15:39.16 |
indianlarry |
sounds good i'm looking at getting rid of the
horz v problem and checking a couple saw tooths |
15:39.40 |
starseeker |
cooool |
15:39.49 |
starseeker |
(lunch, back in a bit) |
15:40.08 |
indianlarry |
okay |
15:40.33 |
indianlarry |
(cigar break) |
16:07.14 |
*** join/#brlcad madant
(n=d@117.196.129.146) |
16:08.06 |
madant |
is finally all set (sort of)
.. sleepless nights here i come |
16:40.09 |
*** join/#brlcad samrose
(n=samrose@c-24-11-214-181.hsd1.mi.comcast.net) |
17:04.24 |
starseeker |
is back |
17:07.32 |
``Erik |
sticks his finger up his
nose |
18:10.14 |
``Erik |
heh http://www.newtechusa.com/PPI/pressroom.asp#higher |
18:12.00 |
*** join/#brlcad
hippieindamakin8 (n=hippiein@202.3.77.38) |
18:17.57 |
CIA-28 |
BRL-CAD: 03starseeker * r34672
10/brlcad/trunk/include/opennurbs_ext.h: Add an attempt at a Newton
iteration solver. Still waaay too many hard coded values chosen
arbitrarily - doesn't seem to be better than Keith's initial curve
approx. |
18:32.54 |
starseeker |
indianlarry: is this the kind of effect you're
seeing? http://bzflag.bz/~starseeker/edge_oddness.png |
18:34.05 |
starseeker |
I'm nirting through those cracks, and I'm not
seeing any failed to converge errors... not sure what to make of
it |
18:38.07 |
starseeker |
fwiw, a specific example is Origin (x y z) =
(28.64 19.53 23.17), Direction (x y z) = (-0.7424 -0.5198
-0.4226) |
18:51.31 |
starseeker |
that ALMOST looks like a sawtooth behavior -
it doesn't seem to be a newton convergence issue, although I could
be wrong. |
19:06.16 |
indianlarry |
starseeker: i found the saw tooths, looks to
be my error tolerences on the bulk BBoxes |
19:06.52 |
starseeker |
nice work! |
19:07.58 |
indianlarry |
starseeker: won't need to set error so high if
i get the BBoxes breaking on the Horz/Vert peaks |
19:08.07 |
starseeker |
nods |
19:08.28 |
indianlarry |
would make curve lie on inside of
BBox |
19:10.44 |
starseeker |
how did you want to do that? Newton converge
to find the max within the bounding box? |
19:10.52 |
indianlarry |
for sure |
19:12.22 |
starseeker |
ponders how to approach
that... |
19:16.34 |
indianlarry |
not sure but at least 2d problem and brute
forcing an iterative approach is doable especially in prep
stage |
19:16.56 |
indianlarry |
starseeker: sorry having connection
problems |
19:17.32 |
indianlarry |
starseeker: wow, now that's a saw tooth you
posted |
19:17.50 |
indianlarry |
starseeker: bur yes that's what i was seeing
as well |
19:17.51 |
starseeker |
that's a zoomed in sawtooth ;-) |
19:17.59 |
starseeker |
having connection problems
too |
19:18.30 |
indianlarry |
starseeker: in most places things seem pretty
tight |
19:18.43 |
*** join/#brlcad BigAToo
(n=BigAToo@pool-96-230-124-65.sbndin.btas.verizon.net) |
19:18.44 |
starseeker |
indianlarry: what about checking the tangent
vectors at the start and end points? even if it is a special case,
it might help |
19:19.18 |
indianlarry |
starseeker: definitely, will start
there |
19:19.45 |
indianlarry |
starseeker: did brlcad try and raytrace that
phone again? |
19:20.03 |
starseeker |
don't think so - let me see if I can take a
stab at it |
19:20.21 |
``Erik |
shouldn't you be enjoying scotch and a cigar
instead of wanking around on irc? O.o :D *duck* |
19:21.10 |
indianlarry |
``Erik: something sensual about working in the
raw and nobody knowing... oops |
19:21.31 |
``Erik |
wait, no one knowing? |
19:21.35 |
``Erik |
looks for his pants
O:-) |
19:22.55 |
indianlarry |
puts scitch back in
cabinet |
19:23.11 |
indianlarry |
then puts scotch back in
cabinet |
19:23.27 |
starseeker |
that how you can tell you've had enough?
;-) |
19:23.52 |
indianlarry |
almost
;^{o>>>>>>>>>>>>> |
19:25.56 |
``Erik |
no, 'i' and 'o' are right next to eachother,
that's the beginning of the buzz |
19:26.11 |
``Erik |
when he spells it "astjopch", ... |
19:26.40 |
starseeker |
actually doesn't see which
one is the phone... |
19:27.02 |
indianlarry |
starseeker: didn'y see it either |
19:27.21 |
indianlarry |
it is a laptop keyboard |
19:28.05 |
brlcad |
indianlarry: haha |
19:29.09 |
CIA-28 |
BRL-CAD: 03bob1961 * r34673
10/brlcad/trunk/src/ (34 files in 3 dirs): Added the p/parameter
command to Archer. |
19:29.28 |
indianlarry |
brlcad: where's the phone/pda dot.g |
19:29.42 |
brlcad |
looks |
19:30.46 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34674
10/brlcad/trunk/src/adrt/libtie/ (tie.c tie_kdtree.c): Irrelevant
type signing fixes. Remove unused parameters. |
19:35.56 |
brlcad |
indianlarry: hm, hm.. some good and bad news
:) |
19:36.09 |
brlcad |
somethings are rendering better, some not at
all any more :) |
19:36.18 |
brlcad |
it's the HTC-Magician |
19:36.44 |
brlcad |
...which looks like wasn't uploaded! |
19:37.02 |
starseeker |
thought so |
19:37.34 |
brlcad |
going up now |
19:37.47 |
starseeker |
brlcad: is that piston.g file THE
piston? |
19:38.03 |
brlcad |
nope |
19:38.06 |
starseeker |
didn't think so |
19:38.32 |
brlcad |
that was before I found it, hunted for and
checked a bunch of other pistons |
19:38.40 |
starseeker |
ah |
19:39.05 |
brlcad |
huh |
19:39.11 |
brlcad |
actually the phone did upload |
19:39.19 |
brlcad |
just not showing in the listing for some
reason |
19:39.24 |
brlcad |
ah, permissions |
19:39.34 |
indianlarry |
brlcad: hopefully it's an odd hit issue,
noticed some elements (Pumkin text) were just single surfaces not
solid |
19:40.41 |
brlcad |
indianlarry: it lists now |
19:40.55 |
indianlarry |
brlcad: thanks |
19:41.14 |
brlcad |
indianlarry: yeah, the single surfaces weren't
solid so that makes sense though rendering them as a thin surface
was useful/interesting |
19:41.27 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34675
10/brlcad/trunk/src/adrt/ (libtienet/load.c libtienet/load.h
slave/slave.c): revert back to magic void* for now |
19:41.27 |
brlcad |
implicit plate-mode |
19:41.54 |
starseeker |
brlcad: some of the geometry in this phone is
failing isValid |
19:42.08 |
indianlarry |
brlcad: just uncomment "//#define KODDHIT" in
brep.cpp |
19:42.52 |
brlcad |
starseeker: I know, that's some of
them |
19:43.15 |
brlcad |
indianlarry: k |
19:44.38 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34676
10/brlcad/trunk/src/libpkg/tpkg.c: I don't think ports > 65535
make much sense... |
19:50.00 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34677
10/brlcad/trunk/src/adrt/ (16 files in 7 dirs): eliminate trailing
whitespace |
19:50.45 |
starseeker |
brlcad: I take it this sucker was valid
geometry in Rhino? |
19:51.02 |
brlcad |
starseeker: don't know, found model |
19:51.14 |
starseeker |
ah |
19:51.32 |
brlcad |
I'd be surprised, though -- it wasn't a hobby
job |
19:55.14 |
brlcad |
it's interesting to note that the iges one
renders semi better with the old nurbs code |
19:55.21 |
brlcad |
sans trims |
20:02.11 |
starseeker |
brlcad: I'm wondering about our 3dm importer -
this phone geometry doesn't look so hot |
20:02.25 |
brlcad |
no doubt it needs work |
20:02.36 |
brlcad |
half the examples I found failed outright or
aborted mid-stream |
20:02.44 |
brlcad |
that's why I left both |
20:02.57 |
starseeker |
loaded it into Rhino and
exported again - still bad geometry |
20:03.06 |
brlcad |
displays in rhino? |
20:03.12 |
starseeker |
yes |
20:03.52 |
brlcad |
so something to trace, could be that IsValid()
is wrong or being used as a check
incorrectly/unnecessarily |
20:04.13 |
brlcad |
didn't investigate exactly the validity it's
complaining about |
20:04.45 |
starseeker |
we're sure this phone is supposed to be solid
and not just a surface model? |
20:05.14 |
brlcad |
eh |
20:05.18 |
brlcad |
that was never claimed |
20:08.10 |
brlcad |
don't tell me you're just thinking of that? :)
i'll say it again, those are a set of fairly *random* 3dm files.
they are a random sampling of real models found around the net,
obviously provoking a random set of issues across the board
(import, validation, rendering, etc) |
20:08.45 |
starseeker |
well, we've been focused on correct
trimming |
20:08.55 |
starseeker |
one thing at a time |
20:09.04 |
brlcad |
of course |
20:09.48 |
brlcad |
what did you expect though? |
20:10.08 |
starseeker |
thought you would reject anything not claiming
to be solid ;-) |
20:11.34 |
brlcad |
well the original intent was hunting for the
piston model, as I remembered it was readily available
somewhere |
20:11.51 |
brlcad |
so it was more a matter of find 3dm, see what
happens |
20:11.54 |
starseeker |
ah |
20:11.58 |
starseeker |
got it |
20:12.00 |
brlcad |
still a good measure of where things are at
overall |
20:12.25 |
brlcad |
as those should all be well-*behaved*
regardless of their structure |
20:13.04 |
brlcad |
not saying that's the priority now, or the
focus, or something to worry about right now even -- that was never
the intention |
20:14.47 |
starseeker |
OK :-) |
20:15.12 |
starseeker |
we (or I anyway) thought they were examples of
wacked trimming behavior |
20:15.25 |
brlcad |
they very well could be |
20:15.32 |
brlcad |
some of them were clearly trimming
poorly |
20:17.41 |
starseeker |
hmm: http://www.mh-aerotools.de/airfoils/cox_cad_models.htm |
20:19.06 |
brlcad |
those are pretty cool |
20:20.51 |
brlcad |
anyways, just gotta multitask the info from
earlier, not to disregard/ignore but not to focus on to the point
of ignoring the big picture -- just some more test cases that
should be investigated (for variety of purposes) |
20:21.44 |
brlcad |
they're found models -- some of the best ways
towards making the tools robust and well-behaved, e.g. has me
looking through the 3dm importer to see why (most)/many
failed |
20:22.07 |
starseeker |
nods |
20:22.23 |
brlcad |
as I did pretty much exactly what a user would
have |
20:22.38 |
brlcad |
stashes those new 3dm's in
and tests |
20:23.10 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34678
10/brlcad/trunk/src/adrt/Makefile.am: update dependancy
information. |
20:24.20 |
starseeker |
that PeeWee piston is a monster |
20:24.25 |
starseeker |
300 regions |
20:24.40 |
starseeker |
adjusts drawing routine to
have a hope of eing it up |
20:26.02 |
brlcad |
awesome, black widow isn't 'too'
shabby |
20:26.35 |
brlcad |
massive convergence failure
reporting |
20:26.52 |
starseeker |
er, yeah - sorry about that |
20:26.57 |
starseeker |
debugging output |
20:27.14 |
brlcad |
takes a pic |
20:28.02 |
starseeker |
it very probably shouldn't be attempting to
converge in most of those cases - the limit that restricts the
newton converence to a domain where it "should" work is stupid
simple right now |
20:29.17 |
brlcad |
http://brlcad.org/tmp/nurbs5.png |
20:29.47 |
brlcad |
that top cap is pretty interesting |
20:29.48 |
starseeker |
hah - not too bad |
20:30.04 |
brlcad |
probably just an even/odd count
problem |
20:31.52 |
brlcad |
i'm really happy to see the db encoding isn't
a problem |
20:32.23 |
starseeker |
how long did it take it to draw that
wireframe? |
20:32.53 |
brlcad |
breaking up the 3dm into per-object objects is
minimal overhead, maybe 10% |
20:32.56 |
starseeker |
's wireframe draw was a lot
slower than the raytrace - some work to do there |
20:32.59 |
brlcad |
wireframe was instant |
20:33.07 |
starseeker |
huh - odd |
20:33.16 |
starseeker |
can you do me a favor and try the PeeWee
model? |
20:33.25 |
brlcad |
gettin' there |
20:33.27 |
brlcad |
going down the list |
20:33.47 |
starseeker |
ah :-) |
20:34.39 |
brlcad |
oof, Cox Olympic aborts rt :) |
20:35.03 |
brlcad |
opennurbs_curve.cpp:3172: failed assertion
`false' |
20:35.22 |
brlcad |
seemed to import clean at least |
20:36.45 |
brlcad |
ah, same on Cylinder 020 |
20:39.17 |
brlcad |
peewee wireframe is also instant |
20:39.29 |
brlcad |
maybe you have your surface plotter
enabled |
20:41.17 |
brlcad |
peewee crashes (not via assertion) |
20:41.44 |
brlcad |
ah, wait, there is an assertion .. just
delayed logging |
20:43.22 |
brlcad |
oh, shoot.. wrong mged -- screw those last
results |
20:44.54 |
CIA-28 |
BRL-CAD: 03bob1961 * r34679
10/brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl: Bringing up
the menu shouldn't toggle (i.e. expand/collapse) the
tree. |
20:51.20 |
brlcad |
http://brlcad.org/tmp/nurbs6.png
<- cox olympic |
20:52.00 |
brlcad |
http://brlcad.org/tmp/nurbs7.png
<- cylinder 020 (ouch) |
20:54.30 |
indianlarry |
looks to be an GetNextDiscontinuity in the
ON_Curve that will walk down and give discontinuities for
derivative,tangent and curvature |
20:54.42 |
indianlarry |
could it be that easy |
20:54.44 |
brlcad |
peewee wireframe does suck now |
20:55.01 |
starseeker |
yeah, was afraid of that |
20:55.17 |
starseeker |
indianlarry: oo, that would be
awesome |
20:55.39 |
starseeker |
just check if it is in the bounding box - if
it is, split the box at that y value |
20:55.54 |
starseeker |
or domain value rather |
20:56.21 |
indianlarry |
it will actually give you the curve param
point which is what i walk down so break at each discont |
20:56.44 |
indianlarry |
hope it works |
20:58.45 |
brlcad |
starseeker: about 4min to e, fwiw |
20:58.52 |
brlcad |
render is zippy |
20:59.08 |
``Erik |
heh, like, cox .049 black widow? I have a
couple of those at home O.o |
20:59.20 |
``Erik |
and I think I might have a cox peewee
somewhere |
20:59.20 |
brlcad |
not many warnings spewed either, but pretty
wrong |
21:00.00 |
indianlarry |
i base the trim error on the length of the
curve in uv and the ends of cylinder are a long linear
trims |
21:00.07 |
brlcad |
http://brlcad.org/tmp/nurbs8.png
<- pee wee |
21:01.40 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34680
10/brlcad/trunk/ (22 files in 6 dirs): Eliminate
libtienet. |
21:03.19 |
brlcad |
http://brlcad.org/tmp/nurbs9.png
<- nice! |
21:04.04 |
CIA-28 |
BRL-CAD: 03starseeker * r34681
10/brlcad/trunk/include/opennurbs_ext.h: More Newton iterator
tweaking. |
21:08.39 |
starseeker |
brlcad: yeah, that's my iterative wireframe
routine crapping out |
21:09.19 |
starseeker |
almost wonder if the way to go is to make an
"edge tree" routine and use that... |
21:09.43 |
brlcad |
last one, tee dee, http://brlcad.org/tmp/nurbs10.png |
21:10.56 |
brlcad |
geometry with .g's uploaded for convenience
(regions fixed to not have spaces so they e up) |
21:11.09 |
starseeker |
brlcad: cool, thanks! |
21:11.17 |
brlcad |
starseeker: curious, what's it iterating
on? |
21:11.31 |
brlcad |
because it didn't look any different than in
.4 |
21:11.41 |
brlcad |
which was instant |
21:11.43 |
starseeker |
yeah, it wouldn't |
21:11.54 |
starseeker |
shape1 does look different |
21:12.12 |
starseeker |
have you tried that one in .4 vs trunk
lately? |
21:13.23 |
starseeker |
it's making sure the wireframe is "smooth" to
within some multiple of the tolerance |
21:13.31 |
starseeker |
I'm sure it's not very intelligent about
it |
21:14.08 |
brlcad |
I just did, that was all the reporting about
them failing to render |
21:15.08 |
brlcad |
the difference in wireframes was probably
there, but it certainly wasn't drastic enough to notice (on any of
them) |
21:15.34 |
starseeker |
yeah, shape is kinda a worst case
wireframe |
21:16.01 |
starseeker |
if it's a big model compared to tolerance, the
routine does a lotta work for ziltch |
21:16.31 |
starseeker |
hmm, that might be an option, base it on some
fraction of the smallest bounding box dimension... |
21:19.05 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34682
10/brlcad/trunk/src/adrt/ (4 files in 4 dirs): Eliminate
libtienet. |
21:21.15 |
brlcad |
it's the same problem the other primitives
have |
21:22.00 |
brlcad |
they need to be dynamic to model size and view
size, levels of detail |
21:22.46 |
brlcad |
which for the most part can all be done with
view size, but there are some absolute model/computation limits
that it should enforce |
21:33.50 |
brlcad |
``Erik: looks like that does a hell of a lot
more that just eliminate libtienet... |
21:35.15 |
``Erik |
there might be a little more, but big chunks
were moved out of libtienet into their application dir |
21:35.19 |
brlcad |
and could ya make the commit any bigger?
jeez. |
21:35.24 |
``Erik |
hehehe |
21:35.26 |
``Erik |
svn mv, dude |
21:35.29 |
brlcad |
bob's rubbing off on you |
21:35.41 |
brlcad |
and yeah, that sounds so wrong :) |
21:37.03 |
``Erik |
(and I'm just getting warmed up on the
horrors, mebbe I'll get to commit and run like hell for my
car) |
21:37.04 |
starseeker |
brlcad: correct me if I'm wrong, but the
primitive plotting routines don't currently know anything about the
view, do they? |
21:37.28 |
brlcad |
starseeker: none at all, that's why it's not
been simple to fix |
21:37.34 |
starseeker |
ah |
21:37.39 |
starseeker |
ok, very good |
21:37.39 |
brlcad |
requires a functab change which affects all
prims |
21:37.55 |
brlcad |
I was going to get to it *after* all of the
functab refactoring |
21:38.14 |
brlcad |
still have a bit of work under way to finish
up there |
21:38.21 |
starseeker |
yeah, that's what I thought - fairly intrusive
change |
21:38.45 |
brlcad |
gsi had a quick hack that we could adopt, but
it really was a big ugly for my taste |
21:39.03 |
starseeker |
nods |
21:39.08 |
brlcad |
they implemented a hi/lo command that would
toggle wireframe detail |
21:39.19 |
starseeker |
That's worth doing right, imho |
21:39.44 |
brlcad |
primitves were modified to do what they do now
and an even higher-res smooth version |
21:39.51 |
starseeker |
might also help with the "use arcs as well as
lines" approach? |
21:40.10 |
brlcad |
the primitives shouldn't be tessellating
themselves |
21:40.17 |
starseeker |
nods |
21:40.24 |
``Erik |
hm, 3 arcs instead of 48 lines, that'd be
nifty |
21:40.40 |
brlcad |
instead of returning render segments, they
should return their edges/contours/surfaces -- e.g. the brep
form |
21:41.03 |
brlcad |
from the brep form, tessellate as needed based
on view size |
21:41.52 |
brlcad |
they could still self plot, but even then they
could return as ``Erik mentioned -- arcs/curves lines points,
etc |
21:42.07 |
brlcad |
basically a crude brep form |
21:44.08 |
``Erik |
runs for his
car |
21:44.26 |
CIA-28 |
BRL-CAD: 03erikgreenwald * r34683
10/brlcad/trunk/ (13 files in 11 dirs): flatten ADRT
build. |
21:46.16 |
``Erik |
yeah, I spoze that's 'nuff breakage for one
afternoon :D |
21:53.47 |
CIA-28 |
BRL-CAD: 03starseeker * r34684
10/brlcad/trunk/src/librt/primitives/brep/brep.cpp: Hack around a
performance issue with the adaptive sampling drawing for NURBS -
this isn't a final solution but should avoid the killer performance
zones. |
21:55.34 |
starseeker |
brlcad: does that help any? |
21:58.18 |
brlcad |
yes |
21:58.30 |
brlcad |
about .5s on peewee |
22:00.08 |
starseeker |
that preserves the shape1 drawing and attempts
to "recognize" when it needs to be less fine |
22:00.25 |
starseeker |
will still have bad areas of course, but might
be a reasonable compromise for now |
22:01.10 |
brlcad |
cool |
22:03.48 |
starseeker |
the trick is essentially to recognize that if
we have to subdivide beyond some number N times, we have an edge
describing a large length compared to the tolerance and the better
course is to hope that big steps are "smooth" |
22:04.47 |
starseeker |
if indianlarry's singularity trick could be
applied to edges we might look for derivative changes as another
tool, but it can wait until a "proper" solution is
available |
22:04.58 |
starseeker |
(especially given it's a universal primitive
problem at the moment) |
22:09.32 |
starseeker |
indianlarry: so far what I'm seeing suggests
that the linear approximation is a Really Good approximation for
trimming - with that zoom in showing sawtooth it may be that at
default resolutions shape1 isn't triggering a need for the exact
curve solutions |
22:14.30 |
brlcad |
nod |
22:41.47 |
``Erik |
looks for his
engines |
22:53.11 |
``Erik |
hm, can't find 'em :/ must still be at my
parents place |
23:25.28 |
*** join/#brlcad madant_
(n=d@117.196.129.227) |