Hi Dirk,

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

sorry, for being slow here, but why are the member function templates:

template <class ExternalTypeT>
GeoVectorProperty::setValue(const ExternalTypeT &val, const UInt32 index);

(and similar for getValue) not sufficient to cover the Vec3f case as 
well. Or do the Vec3f functions have to behave differently ?

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

Ah, I think I have introduced a red herring by mentioning the 
get/setGenericValue functions, these are protected and virtual and used 
to implement the member template functions. We could make them public, 
but I don't think it is necessary. Is the heat in my room affecting my 
thinking here? ;)

        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