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