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