<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.E-MailFormatvorlage18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=DE link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi Don,<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Sorry for my englisch. You can see on every tile 2 crossed
folds, I looks like a cross. This folds are not in my tile, it is generated by
osgTDS.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>On the point (or spot) where both folds are crossing the terrain
is modified very cliffy to the elevation on which the target lies.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ok, then lets continue when your are back.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>I’m writing my diploma thesis and will finish in some weeks, but
I continue working on that topic for some month.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Have a nice trip,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Torben<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Von:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> burns.don@gmail.com
[mailto:burns.don@gmail.com] <b>Im Auftrag von </b>Don Burns<br>
<b>Gesendet:</b> Samstag, 23. Mai 2009 23:01<br>
<b>An:</b> Torben Dannhauer<br>
<b>Cc:</b> osg-tds@andesengineering.com<br>
<b>Betreff:</b> Re: [osg-tds] osgTDS with coordinatesystemnode and large
geocentric Databases<o:p></o:p></span></p>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='margin-bottom:12.0pt'>I'm off to visit my parents in
a few minutes (a half day drive away), so I'll be offline for a couple of days,
and not quite as responsive. I will be integrating the TDS functionality
(although probably somewhat disparate of osg), into Chaskii and our MV360
product over the next three months, so I will be happy to continue dialoging on
this and improving it with you. Its been fun to look into the code again.<br>
<br>
A couple more comments though:<br>
<br>
What is "crosslike modification area"? "<span
lang=EN-US style='font-size:11.0pt;color:#1F497D'>spotlike terrain
adaption"?<br>
<br>
Tile edges are probably bent down because there is some sampling going on
outside the bounds of the tile (thus values of zero for elevation). It is
probably solved by a simple clamping somewhere.<br>
<br>
Take care,<br>
<br>
-don</span><o:p></o:p></p>
<div>
<p class=MsoNormal>On Sat, May 23, 2009 at 1:23 PM, Torben Dannhauer <<a
href="mailto:torben@dannhauer.info">torben@dannhauer.info</a>> wrote:<o:p></o:p></p>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Hi Don,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Ah, that explains
why I’m in trouble getting osgTDS working. Yes your interpretation regarding
the pictures is right!</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>I think there are
several problems to be solved for usage of osgTDS in OSG 2.8.1:</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p style='text-indent:-18.0pt'><span lang=EN-US style='font-size:11.0pt;
color:#1F497D'>1.</span><span lang=EN-US style='font-size:7.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Make osgTDS
compatible with paged databases. Therefore the function
TDSFileValidator::isTDSTerrainFile() has to be expanded to the function to
analyze the targets position and the terrain files position to determine
whether it is a affected tile.</span><o:p></o:p></p>
<p style='text-indent:-18.0pt'><span lang=EN-US style='font-size:11.0pt;
color:#1F497D'>2.</span><span lang=EN-US style='font-size:7.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Discover why the
tiles edges are bended down.</span><o:p></o:p></p>
<p style='text-indent:-18.0pt'><span lang=EN-US style='font-size:11.0pt;
color:#1F497D'>3.</span><span lang=EN-US style='font-size:7.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Discover what
the “crosslike modification area” causes.</span><o:p></o:p></p>
<p style='text-indent:-18.0pt'><span lang=EN-US style='font-size:11.0pt;
color:#1F497D'>4.</span><span lang=EN-US style='font-size:7.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Discover what
the spotlike terrain adaption causes.</span><o:p></o:p></p>
<p style='text-indent:-18.0pt'><span lang=EN-US style='font-size:11.0pt;
color:#1F497D'>5.</span><span lang=EN-US style='font-size:7.0pt;color:#1F497D'>
</span><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Finally enable
terrain modification for desired targets.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Well, nice milestones,
but… how the hell should I implement that? </span><span lang=EN-US
style='font-size:11.0pt;font-family:Wingdings;color:#1F497D'>J</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>For additional
communication possibilities: My Skype contact is “Torben.D”.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>BTW: I have also
started a thread in the OpenSceneGraph forum in the osgPlugin section.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Greetings from
Munich,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Torben</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-color:-moz-use-text-color -moz-use-text-color'>
<p><b><span style='font-size:10.0pt'>Von:</span></b><span style='font-size:
10.0pt'> <a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>
[mailto:<a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>]
<b>Im Auftrag von </b>Don Burns<br>
<b>Gesendet:</b> Samstag, 23. Mai 2009 21:13<o:p></o:p></span></p>
<div>
<div>
<p class=MsoNormal><span style='font-size:10.0pt'><br>
<b>An:</b> Torben Dannhauer<br>
<b>Cc:</b> <a href="mailto:osg-tds@andesengineering.com" target="_blank">osg-tds@andesengineering.com</a><br>
<b>Betreff:</b> Re: [osg-tds] osgTDS with coordinatesystemnode and large
geocentric Databases<o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<p> <o:p></o:p></p>
<p style='margin-bottom:12.0pt'>Hi Torben,<br>
<br>
Am I interpreting the four images you sent correctly? The first two
demonstrate the problem you are experiencing when applying TDS to a database
which is converted to .ive. The second two images are the result of
processing the original example case.<br>
<br>
Before we go much further, I should let you in on the fact that you are putting
the TDS through more paces than anyone has since it was released. This
will explain some of the difficulty you have with it. It is a great tool,
funded by an SBIR, and a key player in the documentation of OSG itself, but
neglected by the adopter themselves, as well as the osg community. I will
be using the code in the application that is being developed by my company now,
so I am glad to see it get exercised a bit.<o:p></o:p></p>
<div>
<p>On Sat, May 23, 2009 at 11:32 AM, Torben Dannhauer <<a
href="mailto:torben@dannhauer.info" target="_blank">torben@dannhauer.info</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Hi Don,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>at the moment i’m
deep diving in the code </span><span lang=EN-US style='font-size:11.0pt;
font-family:Wingdings;color:#1F497D'>J</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>i got it running,
but not as desired *<b>smile</b>*</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>First problem:</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>If I convert the terrain0.osg
from testcas1 into an .ive Model, there are problems.. the terrain is modified
for watertower and for house, but not for the line. Additinaly the terrain is
not smoothed by subdividing the triangles.</span><o:p></o:p></p>
</div>
</div>
<div>
<p>This is a mystery to me. There are multiple passes in processing
the terrain data. It would seem that the first pass is working, because
it is adding points to the terrain and modifying existing point on the
terrain. Subsequent passes are accomplished on the in-memory scene graph,
so a difference in file format should not be the reason for the difference in
behavior.<br>
<br>
Hm... another sanity check. Could you check the
"applyCorrectionFunction" and "doSubdivision" directives in
your TDS file? Also trace these in the code in TerrainProcessor.cpp.<br>
<br>
The other thing that occurs to me, is that you might want to double check the
"replaceDrawable" function for osg::Geode.<br>
<br>
Please keep digging on this.. I'll be happy to provide insight where I can.<o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Second problem: I
use a paged LOD Database in .ive format with a root file and all subtiles in a
folder. I can’t add all tiles to the .tds file which lie below a target. This
should happen automatically by the coordinates. But all tiles are now modified.</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p>:) . Yes, this looks like a bug. I would venture to guess that
the tiles are all relative to a local origin, and they get transformed by the
"parent" node or the pager. Thus, your targets are going to end
up hovering over all the tiles.<br>
<br>
I seem to recall this case as some unfinished work in the osgTDS project.
It was not in our requirements list, but was something we thought, but never
got to by the time we ran out of SBIR money and I moved on to other
things. So... enter community supported open source software.<br>
<br>
I think the fix to this is not too dificult. It simply means that you
will need to add a Transform parent to the target list, and apply the inverse
of the location of the paged tile when evaluating whether a target's space
intersects the tile. <o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>I attach
sample-screenshots for the first problem.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Thank you,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Torben</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>P.S:</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Up to now I called
it via: myapp.exe mytds.tds mydatabase.ive</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>--> the targets
mentioned in the .tds file are loaded by themselves. Have I to add them to my
console call additionally?</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-color:-moz-use-text-color'>
<p><b><span style='font-size:10.0pt'>Von:</span></b><span style='font-size:
10.0pt'> <a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>
[mailto:<a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>]
<b>Im Auftrag von </b>Don Burns<br>
<b>Gesendet:</b> Samstag, 23. Mai 2009 20:19<br>
<b>An:</b> Torben Dannhauer</span><o:p></o:p></p>
<div>
<div>
<p><span style='font-size:10.0pt'><br>
<b>Betreff:</b> Re: [osg-tds] osgTDS with coordinatesystemnode and large
geocentric Databases</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<p> <o:p></o:p></p>
<p style='margin-bottom:12.0pt'>Hi Torben,<br>
<br>
This is bringing back memories as I look through the code. I haven't
looked at it in a while. :)<br>
<br>
I suspect there may be something amiss in the regular expression evaluator.
I recall that Paul Martz added in the WinRegEx support because it was regex()
was lacking on windows.<br>
<br>
To test this, you might try returning "true" by some test of your own
(strcmp, or whatever) if you know the file is a terrain file you want deformed.
If it works with this change, then suspect the regex code. Since you said
you added files to your "Solution" I suspect you are developing on
Windows.<br>
<br>
-don<o:p></o:p></p>
<div>
<p>On Sat, May 23, 2009 at 8:59 AM, Torben Dannhauer <<a
href="mailto:torben@dannhauer.info" target="_blank">torben@dannhauer.info</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Hi Don, </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>thank you for your immediate
response! </span><span style='font-size:11.0pt;font-family:Wingdings;
color:#1F497D'>J</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Now i have the
osgTDs in my Solution integrated and I’m able to debug osgTDS.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>It seems that the
problem lies in TDSFileValidator::isTDSTerrainFile().</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>This function always
return false, therefore it is reasonable that no terrain adjustment is
performed.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Am I right that this
function only checks whether the filename is va,id in accordance to my
“FileNamePattern” ?</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>My Database is
paged, but TDSFileValidator::isTDSTerrainFile() return neither on my scenery
root file nor on one of the subtile file a “true”.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>My FileNamePattern
line is:</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>FileNamePattern=”*” </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>-> Is this the
right way to say osgTDS that he should check all loaded scenery files for
required adjustments?</span><o:p></o:p></p>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Thank you for your
help, </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Torben</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
</div>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-color:-moz-use-text-color'>
<p><b><span style='font-size:10.0pt'>Von:</span></b><span style='font-size:
10.0pt'> <a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>
[mailto:<a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>]
<b>Im Auftrag von </b>Don Burns<br>
<b>Gesendet:</b> Samstag, 23. Mai 2009 16:16</span><o:p></o:p></p>
<div>
<div>
<p><span style='font-size:10.0pt'><br>
<b>An:</b> Torben Dannhauer<br>
<b>Cc:</b> <a href="mailto:osg-tds@andesengineering.com" target="_blank">osg-tds@andesengineering.com</a><br>
<b>Betreff:</b> Re: [osg-tds] osgTDS with coordinatesystemnode and large
geocentric Databases</span><o:p></o:p></p>
</div>
</div>
</div>
<div>
<div>
<p> <o:p></o:p></p>
<p style='margin-bottom:12.0pt'>I wonder if the terrain is in some geometry
primitive that osgTDS doesn't understand, or something of the kind. I
would suggest walking through some code with the debugger. Specifically,
look at TerrainProcessor::_processGeode and TerrainProcessor::_processGeometry
in TerrainProcessor.cpp.<br>
<br>
-don<o:p></o:p></p>
<div>
<p>On Sat, May 23, 2009 at 7:01 AM, Torben Dannhauer <<a
href="mailto:torben@dannhauer.info" target="_blank">torben@dannhauer.info</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Hi Don,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Ok, regarding
osgEarth I got it, so lets refocus only on osgTDS.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>My scene graph logic
is a CoordinateSystemNode as root node, and as childs my geocentric earthmodel
and my other models.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>But for easier
learning a used a simple setup with the standart osgviewer program, just to
verify that osgTDS works with databases generated by VirtualPlanetBuilder.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>I have a flat
database which I generated with VirtualPlanetBuilder. (The Puget example
dataset)</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Additional I use the
house.osg from the osgTDS examples. I modified the transform matrix at the
beginning of the house.osg file, so the house appears not on the corner of my
scene, but inside my scene. Translation works because the house is visible in
my scene. I suppose it is far enough away from the edges.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Now there is no
warning like I mentioned below, but on the other hand there is also no terrain
modification, as if osgTDS wouldn’t be there.</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>The debug-Messages
at OSG_NOTIFY_LEVEL = INFO tells me he is triangulating something, but I can’t
see any effects.. </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Du you have an idea
what could be the problem?</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Thank you for your
help,</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'>Torben</span><o:p></o:p></p>
<p><span lang=EN-US style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;
border-color:-moz-use-text-color'>
<p><b><span style='font-size:10.0pt'>Von:</span></b><span style='font-size:
10.0pt'> <a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>
[mailto:<a href="mailto:burns.don@gmail.com" target="_blank">burns.don@gmail.com</a>]
<b>Im Auftrag von </b>Don Burns<br>
<b>Gesendet:</b> Freitag, 22. Mai 2009 18:44<br>
<b>An:</b> Torben Dannhauer<br>
<b>Cc:</b> <a href="mailto:osg-tds@andesengineering.com" target="_blank">osg-tds@andesengineering.com</a><br>
<b>Betreff:</b> Re: [osg-tds] osgTDS with coordinatesystemnode and large
geocentric Databases</span><o:p></o:p></p>
</div>
<div>
<div>
<p> <o:p></o:p></p>
<p style='margin-bottom:12.0pt'>Hi Torben,<o:p></o:p></p>
<div>
<p>On Fri, May 22, 2009 at 7:39 AM, Torben Dannhauer <<a
href="mailto:torben@dannhauer.info" target="_blank">torben@dannhauer.info</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p><span lang=EN-US>Hello,</span><o:p></o:p></p>
<p><span lang=EN-US> </span><o:p></o:p></p>
<p><span lang=EN-US>I discovered osgTDS for terrain modification and have some
trouble to get it working.</span><o:p></o:p></p>
<p><span lang=EN-US> </span><o:p></o:p></p>
<p><span lang=EN-US>I got the source, compiled it and integrated the files into
my OSG installation.</span><o:p></o:p></p>
<p><span lang=EN-US>osgTDS with the example data works great and has an
impressive output.</span><o:p></o:p></p>
<p><span lang=EN-US> </span><o:p></o:p></p>
<p><span lang=EN-US>Unfortunalety osgTDS seems not to work with my geocentric
database (WGS84) which I build with VirtualPlanetBuilder.</span><o:p></o:p></p>
<p><span lang=EN-US>During the application startup a message is displayed, that
the model is not or not completely over Terrain: “Terrain Deformation
Software: ERROR in Target Database Base definition: at least one
target is not completely over terrain.”</span><o:p></o:p></p>
</div>
</div>
<div>
<p><br>
SO you understand the historical implications, VPB is a newer product than
osgTDS, and osgTDS has not been kept up with advances in osg, which would
explain the difficulty you've had with integration. osgTDS is a community
supported project by design, so your work with it could be valuable in keeping
it up to snuff.<br>
<br>
The message you are getting is undoubtedly (I haven't looked at the code for
about two years), the result of your models being in a different coordinate
space than the terrain over which they are positioned. I would guess that
the solution is to use the same sort of coordinate node provided by OSG to
position your models.<br>
<br>
There may be another consideration, in that osgTDS makes some assumptions about
"which way is up", or more specifically, "which is the bottom of
the models", and may require some transformations to get things right....
(I'm not sure here, just guessing).<o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p><span lang=EN-US>I have read the Documentation but there are still some
beginner questions:</span><o:p></o:p></p>
<p style='margin-left:54.0pt;text-indent:-18.0pt'><span lang=EN-US>1.</span><span
lang=EN-US style='font-size:7.0pt'> </span><span
lang=EN-US>The osgTDS loader seems to load all targets mentioned in the .tds
file by himself. Is it possible to relocate this models in my scenery to their
right place and the terrain will always be corrected the right way?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p>I believe that we are on the same page here regarding my first
paragraph. You probably need to group your models under a coordinate
system node. However, you may also need to build the support for the
coordinate system node into the osgTDS traversers, as this node did not exist
when osgTDS was written. <o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p style='margin-left:54.0pt;text-indent:-18.0pt'><span lang=EN-US>2.</span><span
lang=EN-US style='font-size:7.0pt'> </span><span
lang=EN-US>How is the loading logic build? Which model/target is parent/child
of which other node, and at the end of the loading process, which node is
passed back to the application as “loaded model” ?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p><br>
There is nothing unique about osgTDS in the file loading. it works like
any other osg viewer in that all objects listed on the command line are grouped
under a group node which is then formed as part of the main scene graph.
This is not unique to osgTDS. The tds loader accepts a file named *.tds,
then uses the information therein to find the other components, which need to
preceed it on the command line. It then divides the scene graph into
"Terrain" and "Targets", manipulates the coordinates of the
terrain according to the position of the targets.<o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p style='margin-left:54.0pt;text-indent:-18.0pt'><span lang=EN-US>3.</span><span
lang=EN-US style='font-size:7.0pt'> </span><span
lang=EN-US>Is there any maximum or minimum distance up to which the terrain
will be corrected to “touch” the target?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p>The software is designed to always connect to the target's
"bottom", which is assumed to be coordinates of the "bottom
hull", formed by the coords with lowest "z" value. If you
want to alter the behavior, you can insert targets that are used for
manipulating the terrain, but not drawn. <o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p style='margin-left:54.0pt;text-indent:-18.0pt'><span lang=EN-US>4.</span><span
lang=EN-US style='font-size:7.0pt'> </span><span
lang=EN-US>Is it possible to use osgTDS for loading highdetail terrainmodels
into larger low-detail, and osgTDS will adapt the low-level model that there is
no z-fighting or things like that? Or is it better to use osgEarth for that
purpose?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p>I have no idea what osgEarth is. But yes, osgTDS does, in fact, adapt
the lower level model to the new set of coordinates. This allows you to
shape the surface of the terrain to your liking. <o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p style='margin-left:54.0pt;text-indent:-18.0pt'><span lang=EN-US>5.</span><span
lang=EN-US style='font-size:7.0pt'> </span><span
lang=EN-US>Is it possible to use osgTDS in combination with osgEarth? Both
projects seem to use a loader-plugin over osgDB.</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p><br>
Again, I have no idea what osgEarth is. osgDB and
"loader-plugin" however are not mutually exclusive. osgDB is
the framework by which osgTDS and other plugins work.<br>
<br>
-don <o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0cm 0cm 0cm 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<div>
<div>
<p style='margin-left:54.0pt'><span lang=EN-US> </span><o:p></o:p></p>
<p><span lang=EN-US>Thanks for your help,</span><o:p></o:p></p>
<p><span lang=EN-US> </span><o:p></o:p></p>
<p><span lang=EN-US>Torben</span><o:p></o:p></p>
<p><span lang=EN-US> </span><o:p></o:p></p>
</div>
</div>
<p style='margin-bottom:12.0pt'><br>
_______________________________________________<br>
osg-tds mailing list<br>
<a href="mailto:osg-tds@andesengineering.com" target="_blank">osg-tds@andesengineering.com</a><br>
<a href="http://andesengineering.com/mailman/listinfo/osg-tds" target="_blank">http://andesengineering.com/mailman/listinfo/osg-tds</a><o:p></o:p></p>
</blockquote>
</div>
<p> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p> <o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>