Coin 3.1.3 Modifications - magic-lantern-studio/mle-documentation GitHub Wiki

This discussion outlines the modifications made to Kongsberg SIM's Coin library. These modifications were made to version 3.1.3 of the Coin3D library. Some modifications were also made to version 1.5.0 of the SoWin library.

Coin3D Modifications

  1. Added SoTransformer2Dragger.cpp to "src/draggers".
  2. Added SoTransformer2Dragger.h to "include/Inventor/draggers".
  3. Added Transformer2Dragger.iv to "data/draggerDefaults".
  4. Added Transformer2Dragger.h to "build/msvc8/data/draggerDefaults".
  5. Declared invalidateWorldConversionMatrices() method in SoDragger.h.
  6. Implemented InvalidateWorldConversionMatrices() method in SoDragger.cpp.
  7. Added copy of SoTransformer2Dragger.h to install-headers.bat script.
  8. Declared setSwitchValue(SoNode *node, const int which) method to SoTransformerDragger.h.
  9. Implemented setSwitchValue method to SoTransformerDragger.cpp.
  10. Added SoTransformer2Manip.h to "include/Inventor/manips".
  11. Added SoTransformer2Manip.cpp to "src/manips".
  12. Added copy of SoTransformer2Manip.h to install-headers.bat script.
  13. Modified SoDragger::initClasses() to add SoTransformer2Dragger::initClass() entry.
  14. Modified SoInteraction::init() to add SoTransformer2Manip::initClass() entry.
  15. Modified SoDragger::getPartToLocalMatrix() by adding the conditional "if (PRIVATE(this)->draggercache) {...}".

These modifcations are now available in the magiclantern branch in the new Coin3D Sourceforge project. Refer to https://sourceforge.net/p/coin3d/code/ci/magiclantern/tree/ for the source code.

SoWin Modifications

  1. Moved setSeekMode(SbBool enable) method in SoWinViewer.h from 'protected' to 'public'. This was done by modifying the template SoGuiViewer.h.in since SoWinViewer.h is generated via SoGuiViewer.h.in.
  2. Moved isSeekMode() method in SoWinViewer.h from 'protected' to 'public'. This was done by modifying the template SoGuiViewer.h.in since SoWinViewer.h is generated via SoGuiViewer.h.in.
  3. Added "static int haveIdleTasks(void)" to SoWin.h by modifying the SoGui.h.in template. SoWin.h is generated from SoGui.h.in.
  4. Added "static void doIdleTasks(void" to SoWin.h by modifying the SoGui.h.in template. SoWin.h is generated from SoGui.h.in.
  5. Implemented SoWin::haveIdleTasks() method in SoWin.cpp.
  6. Implemented SoWin::doIdleTasks() in SoWin.cpp.

There modifications are now available in the magiclantern branch in the new Coin3D-SoWin Sourceforge project. Refer to https://sourceforge.net/p/coin3d-sowin/code/ci/magiclantern/tree/ for the source code.