Hi,
I tried migrating some of my Rhino 5 Plug-ins to Rhino 6…used the migrator.exe - it worked fine…but the builds give me hundreds of errors. So without going into specifics for now, I would have a general question…is it possible that so many classes and functions have changed in Rhino 6 SDK? If yes that is it…have to find new solutions for every method that changed…and it will probably take me at least a week per plug-in to migrate them
But I would just like to know (somehow) if that is it…because maybe all of those methods and classes still exist in the same form but the problem is somewhere else…I will just give you couple of examples to start the conversation…
CRhinoUiEdit - not a recognized class anymore
Problems with Annotations…
error C2065: ‘CRhinoAngularDimension’: undeclared identifier (this is the case with most Dimension classes)
error C2065: ‘CRhinoRadialDimension’: undeclared identifier
CRhinoAnnotationLeader not recognized
Some problems with the meshes - I guess some members became private…:
error C2248: ‘ON_MeshParameters::m_mesher’: cannot access private member declared in class 'ON_MeshParameters’
error C2248: ‘ON_MeshParameters::m_grid_amplification’: cannot access private member declared in class 'ON_MeshParameters’
error C2248: ‘ON_MeshParameters::m_grid_max_count’: cannot access private member declared in class ‘ON_MeshParameters’
Some functions have changed?
error C2664: ‘ON_Brep *RhinoCreateEdgeSrf(int,const ON_Curve **)’: cannot convert argument 2 from ‘ON_NurbsCurve [3]’ to ‘const ON_Curve **’
I guess this was deprecated and now removed:
error C2039: ‘FindLayer’: is not a member of 'CRhinoLayerTable’
error C2039: ‘m_layer_id’: is not a member of 'CRhinoLayer’
error C2039: ‘m_parent_layer_id’: is not a member of ‘ON_Layer’
And a huge bulk of the problems comes from the Conduit…and rhinosdkdisplayconduit.h
CRhinoDisplayConduit
error C2039: ‘IsEnabled’: is not a member of ‘CConduitPreview’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(161): error C2011: ‘CRhinoDisplayConduit’: ‘class’ type redefinition
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(65): error C2011: ‘CSupportChannels’: ‘struct’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(55): note: see declaration of 'CSupportChannels’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(113): warning C4005: ‘CHANNELS_SUPPORTED’: macro redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(100): note: see previous definition of 'CHANNELS_SUPPORTED’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(139): error C2011: ‘EConduitNotifiers’: ‘enum’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(118): note: see declaration of 'EConduitNotifiers’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(161): error C2011: ‘CRhinoDisplayConduit’: ‘class’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(142): note: see declaration of 'CRhinoDisplayConduit’
1>x:\triangle\proarch\develop\rhino\plug-ins\free\eve_explode\eve_explode_r6\ConduitPreview.h(5): error C2504: ‘CRhinoDisplayConduit’: base class undefined
1>ConduitPreview.cpp
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(65): error C2011: ‘CSupportChannels’: ‘struct’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(55): note: see declaration of 'CSupportChannels’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(113): warning C4005: ‘CHANNELS_SUPPORTED’: macro redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(100): note: see previous definition of 'CHANNELS_SUPPORTED’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(139): error C2011: ‘EConduitNotifiers’: ‘enum’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(118): note: see declaration of 'EConduitNotifiers’
1>c:\program files (x86)\rhino 5.0 x64 sdk\inc\rhinosdkdisplayconduit.h(161): error C2011: ‘CRhinoDisplayConduit’: ‘class’ type redefinition
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(142): note: see declaration of 'CRhinoDisplayConduit’
1>x:\triangle\proarch\develop\rhino\plug-ins\free\eve_explode\eve_explode_r6\ConduitPreview.h(5): error C2504: ‘CRhinoDisplayConduit’: base class undefined
1>ConduitPreview.cpp(6): error C2027: use of undefined type 'CSupportChannels’
1>c:\program files\rhino 6 sdk\inc\RhinoSdkDisplayConduit.h(55): note: see declaration of 'CSupportChannels’
1>ConduitPreview.cpp(6): error C2065: ‘SC_PREDRAWOBJECTS’: undeclared identifier
1>ConduitPreview.cpp(6): error C2065: ‘SC_CALCBOUNDINGBOX’: undeclared identifier
1>ConduitPreview.cpp(6): error C2614: ‘CConduitPreview’: illegal member initialization: ‘CRhinoDisplayConduit’ is not a base or member
1>ConduitPreview.cpp(27): error C2027: use of undefined type ‘CSupportChannels’
I am also getting some errors from opennurbs…but I am not sure what that is about…and it does not appear in the Output:
And I realize that there is a problem with the Dialogs…I am not seeing the CDialog…which I assume comes from removing the dependence from MFC?