[Pkg-osg-devel] openscenegraph-3.3.1-1 for debian

Markus Wanner markus at bluegap.ch
Thu May 22 17:46:57 UTC 2014


Alberto,

On 05/22/2014 02:03 PM, Alberto Luaces wrote:
> That developer release is not so far away from the stable, as you have
> experienced

I just started flightgear and checked the plain appears on the runway. I
didn't even take off.

> Anyway, as you surely have noticed, a new NMU for 3.2.1 was issued, so
> that version is going to stay longer among us :)

Yes, thanks, I noticed. I'll test current simgear and flightgear
packages, but expect them to continue to work.

> We plan instead to release 3.3.1 as an experimental version 

Cool, thanks.

> in order to
> see how it fits with the reverse dependencies and ease the transition
> process, although I am fairly sure that there will be no problems with
> that.

With osg 3.3.1, simgear failed to compile with one error:

$WD/simgear.git/simgear/scene/material/EffectCullVisitor.cxx: In copy
constructor ‘simgear::EffectCullVisitor::EffectCullVisitor(const
simgear::EffectCullVisitor&)’:
$WD/simgear.git/simgear/scene/material/EffectCullVisitor.cxx:44:10:
error: type ‘osg::Referenced’ is not a direct or virtual base of
‘simgear::EffectCullVisitor’
     osg::Referenced(rhs),

I "solved" that by simply patching away the first constructor invocation:

--- a/simgear/scene/material/EffectCullVisitor.cxx
+++ b/simgear/scene/material/EffectCullVisitor.cxx
@@ -40,7 +40,6 @@
 }

 EffectCullVisitor::EffectCullVisitor(const EffectCullVisitor& rhs) :
-    osg::Referenced(rhs),
     CullVisitor(rhs)
 {
 }


This one-line-fix made simgear compile against osg 3.3.1.

I'm kind of surprised this compiled, before. The documentation [0] for
3.2.0 states that osg::Referenced is a parent of CullVisitor. And the
sources of current osg seem to indicate the same. Calling both
constructors seems weird to me...

>From current 3.2.0~rc1 sources, the copy constructor for CullVisitor reads:

CullVisitor::CullVisitor(const CullVisitor& rhs):
    Referenced(true),
    NodeVisitor(rhs),
    ...

I.e. it also calls *two* super-class constructors (one being the super
class of the other). However, I didn't find a copy constructor for
NodeVisitor at all... so maybe I'm somehow looking at the wrong files.

In 3.3.1, NodeVisitor well has a copy constructor defined.

Comments?

Regards

Markus Wanner


[0]: osgUtil::CullVisitor Class Reference (3.2.0)
http://trac.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00185.html




More information about the Pkg-osg-devel mailing list