Upgrading from v6 to v7 is a version migration and even if the new code tried to be as much as possible backward compatible, several changes must be done manually in order for the upgraded database to work under the new version.
Although we recommend for sensitive big project to stay with the major version they were developed with, some maintenance policies encourage the use of the latest version. We will list here the main upgrade process we encountered from migrating v6 projects to v7.
|
The v6 green (KeyLoK) dongle, once upgraded to v7, will still be able to work with v6 versions, allowing the users to keep both versions running. With the new ioLock dongle, the v6 version is not accessible, but as this new dongle is only sent to new v7 users, the need of a v6 compatibility is void.
|
-
Scenarios with OSG terrains
-
Entities no more on terrain:
The OSG terrain locator needs now (and most of the time) to be centered according to the OSG terrain center and not the MAP center. Sometimes, both do match but if it does not, do the following process to match the MAP entity position and the corresponding OSG terrain position:
First, open the window. Select terrain on the list and click on 3 icon
Then, click on . A little window will appear on the top left desktop and will load the OSG terrain, then the window will fill the Center, Bottom-Left and Top-Right parameters, then close.
Now, press the to copy the Center values to the Terrain Offset values. You can cross check the result with the . If it does not match, try to use the Terrain or change the type until you have a correct match.
-
Compilation error: node_pat not found:
For this error, open the Entity Class
And in Declaration panel, add the following line: osg::PositionAttitudeTransform* node_pat;
Before, any integer could be used to mark the data pointer. Now, the UDataType enum must be used instead. See its definition in vtypes.h
unresolved external symbol "public: virtual void __thiscall HiAltCtrl::setUserCode(void)
To fix this, add in any Model Container the DataModel: Hi_AltCtrl (inside Controllers), then recompile
-
Scenarios with Motion{Goto|Slide|Follow}
The API move() for all these components have changed.
Before:
MotionGoto* mg = E:findMotionGoto();
mg->move(10); // m/s
Now:
MotionGoto* mg = E:findMotionGoto();
mg->setSpeed(10, _m_s);
mg->move();