Hi Jason,
On Mon, Nov 24, 2008 at 10:37 AM, Robert Osfield
<[EMAIL PROTECTED]> wrote:
> At the top of the stack. I'll rebuild with debug symbols to see if
> this gives any more clues.
With debug the strack trace when I break is:
x00002aaaaab8c0f0 in bsp::VBSPGeometry::createDispSurface
(this=0x6a0090, [EMAIL PROTECTED], [EMAIL PROTECTED])
at /home/robert/OpenSceneGraph/src/osgPlugins/bsp/VBSPGeometry.cpp:325
325 while ((fabs(vertices[0].x() -
dispInfo.start_position.x()) > 0.1) ||
(gdb) where
#0 0x00002aaaaab8c0f0 in bsp::VBSPGeometry::createDispSurface
(this=0x6a0090, [EMAIL PROTECTED], [EMAIL PROTECTED])
at /home/robert/OpenSceneGraph/src/osgPlugins/bsp/VBSPGeometry.cpp:325
#1 0x00002aaaaab8cce9 in bsp::VBSPGeometry::addFace (this=0x6a0090,
faceIndex=4372) at
/home/robert/OpenSceneGraph/src/osgPlugins/bsp/VBSPGeometry.cpp:507
#2 0x00002aaaaab95f82 in bsp::VBSPReader::createScene (this=0x6269d0)
at /home/robert/OpenSceneGraph/src/osgPlugins/bsp/VBSPReader.cpp:870
#3 0x00002aaaaab97657 in bsp::VBSPReader::readFile (this=0x6269d0,
[EMAIL PROTECTED]) at
/home/robert/OpenSceneGraph/src/osgPlugins/bsp/VBSPReader.cpp:1087
The lines in question seem to be:
// Rotate the base coordinates for the surface until the first vertex
// matches the start position
while ((fabs(vertices[0].x() - dispInfo.start_position.x()) > 0.1) ||
(fabs(vertices[0].y() - dispInfo.start_position.y()) > 0.1) ||
(fabs(vertices[0].z() - dispInfo.start_position.z()) > 0.1))
{
temp = vertices[0];
vertices[0] = vertices[1];
vertices[1] = vertices[2];
vertices[2] = vertices[3];
vertices[3] = temp;
}
Without knowledge of the actual format/loader this looks like a
fragile loop to me.
To see if others get hit the same problems I've checked in svn/trunk
the new plugin, and we can debug it as a group.
Cheers,
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org