Hello Aron,

Aron Bierbaum wrote:
> While trying to compile OpenSG 2.0 I am getting a linker error
> complaining about an unresolved external symbol for
> OSG::TypedGeoVectorProperty. After backing out numerous revisions, I
> have isolated the problem to revision 705. I don't fully understand
> what is going wrong, but I think is the combination of the derived
> class specialization and the base class virtual method. I have
> attached a small example that shows the same error. It is also worth
> noting that I think it is a compiler bug because it compiles correctly
> with MSVC 8.0. In order to get around this I think we have two
> different choices, unless someone has a better idea.
> 
> 1) Rename the helper method GeoVectorProperty::setValue() to something
> else.
> 2) Make GeoVectorProperty::setValue() non-virtual.

AFAICT these two functions:
virtual void
GeoVectorProperty::getValue(Vec3f &val, const UInt32 index) const;

virtual void
GeoVectorProperty::setValue(const Vec3f &val, const UInt32 index);

can simply be removed, since they offer no advantage over the member
function templates. When the untyped geo properties are used, the data
can only be accessed through get/setGenericValue and one has to pay for
two conversions (first to MaxTypeT then to ExternalType).
So, could you try and remove these functions to see if that solves your
problem as well? Or am I overlooking something ?

        Thanks,
                Carsten


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to