Dirk Reiners wrote:
>       Hi Carsten,
> 
> Carsten Neumann wrote:
>>> 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 ?
> 
> Well, those are in there for backwards compatibility, so if possible I would 
> like to keep them as they are... On the other hand, I don't really want to 
> start 
> finding workarounds for MS compiler bugs again, those tend to get messy. :(
> 
> I see two options:
> 
> 1. Break backwards compatibility. In that case all the options above are 
> possible, but IMHO the best is just removing them.
> 2. Discontinue MSVC 7.1.
> 
> 2. feels a little heavy, as I think there are still a lot of people with 
> VS.NET 
> 2003 out there. Given that the result will be compile errors

Technically, it's a linker error. Visual C++ gets confused and thinks that
OSG::TypedGeoVectorProeprty<T>::setValue<U>() and getValue<U>() are supposed
to be virtual, and for some reason, it tries to export them from the DLL
even though there are no specializations for either of those functions to
export.

> and that it's 
> fairly easy to replace the removed methods by get/setGenericValue I'm not too 
> opposed to 2, unless somebody has a better idea.

Using the names get/setGenericValue() in OSG::GeoIntegralProperty are what
allow that case to link correctly.

 -Patrick


-- 
Patrick L. Hartling
VP Engineering, Infiscape Corp.
http://www.infiscape.com/

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
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