1. 26 Aug, 2010 5 commits
  2. 25 Aug, 2010 1 commit
    • jcfr's avatar
      COMP: External_VTK - Now use branch "slicer-4.0" on github.com/Slicer/VTK -... · 416ae796
      jcfr authored
      COMP: External_VTK - Now use branch "slicer-4.0" on github.com/Slicer/VTK - Also updated code to work with VTK_IGNORE_BTX:ON
      
      slicer-4.0 is an integration branch containing all slicer specific changed
      and rebased on VTK master
      
      1) Change vtkFSIO to use "namespace" instead of "class"
      2) Use vtkPythonUtil functions
      3) vtkFSIO was causing problem with Tcl wrapping (python is working fine),
      vtkFSIO is now excluded using set_source_files_properties and WRAP_EXCLUDE property
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14684 3bd1e089-480b-0410-8dfb-8563597acbee
      416ae796
  3. 24 Aug, 2010 2 commits
  4. 23 Aug, 2010 1 commit
  5. 20 Aug, 2010 1 commit
  6. 19 Aug, 2010 5 commits
  7. 17 Aug, 2010 2 commits
  8. 16 Aug, 2010 7 commits
    • haehn's avatar
      BUG: Prevent assert to kill Slicer when Python is not enabled. · 6e8ff9c0
      haehn authored
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14592 3bd1e089-480b-0410-8dfb-8563597acbee
      6e8ff9c0
    • jcfr's avatar
      COMP: Added variable MRMLDisplayableManager_USE_PYTHON to MRMLDisplayableManager/CMakeLists.txt · 6473bcf1
      jcfr authored
      This later one allow to conditionally include the code associated with
      the scripted DisplayableManager.
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14589 3bd1e089-480b-0410-8dfb-8563597acbee
      6473bcf1
    • pieper's avatar
      ENH: expose access to the interactor style for the sliceview · 72415d64
      pieper authored
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14587 3bd1e089-480b-0410-8dfb-8563597acbee
      72415d64
    • millerjv's avatar
      edb365b0
    • jcfr's avatar
      STYLE: Change case of function signature from onMRML* to OnMRML* · 6b8d33a6
      jcfr authored
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14583 3bd1e089-480b-0410-8dfb-8563597acbee
      6b8d33a6
    • jcfr's avatar
      ENH: Added vtkMRMLScriptedDisplayableManager class · b0944f48
      jcfr authored
      Since it's not possible to derive a VTK class in python (and for that same
      reason rely on polymorphism), the vtkMRMLScriptedDisplayableManager C++
      class is a "proxy" allowing to interface a DisplayableManager written in python.
      
      A scripted DisplayableManager should expose the following methods:
         - Create
         - GetMRMLSceneEventsToObserve
         - ProcessMRMLEvents
         - RemoveMRMLObservers
         - UpdateFromMRML
         - OnInteractorStyleEvent
         - OnMRMLDisplayableNodeModifiedEvent
      
      In addition to register vtk class names, the MRMLDisplayableManager factory
      can now register scripted displayableManager represented by a path
      to a python script ending with ".py".
      
      qSlicerLayoutManager now provide method setScriptedDisplayableManagerDirectory
      allowing to set from which directory the scripted displayableManager
      should be "sourced" from.
      Similarly, the code in qMRMLSliceWidget and qMRMLThreeDView allowing to
      register the displayableManager have been factored out into a method named:
       - registerDisplayableManagers(const QString& scriptedDisplayableManagerDirectory);
      
      
      Below are more details explaining how a scripted displayable manager could
      be implemented:
       The constructor has one parameter named 'parent' corresponding to the associated instance of
       vtkScriptedDisplayableManager in the C++ world.
      
       The python methods listed above corresponds to the implementation of the virtual method
       available in vtkScriptedDisplayableManager.
      
       The only exception is the virtual method SetMRMLSceneInternal, the python class only needs to
       implement the method GetMRMLSceneEventsToObserve. This later one just return a list of integer
       representing the eventid to observe.
      
       It's also possible to access the API of the associated C++ instance using the self.Parent
       For example:
         self.Parent.RemoveInteractorStyleObservableEvent(26) # vtkCommand::MouseWheelForwardEvent
      
       Make also sure NOT to call the corresponding C++ method from it's python equivalent, it will
       result in an infinite loop.
       The following statement will likely lead to an unstable state:
          def Create(self): self.Parent.Create()
      
       If a a method isn't implemented, the following syntax should be used:
         def Create(self): pass
      
       NOTE
         Ideally, a DisplayableManager should deal only with MRMLNodes. Incriminated code should
       be moved either in the DisplayableManager itself, in the associated MRML Node or
       in a MRMLNode helper class.
      
       TODO
         While porting existing code, to overcome this problem, the following need to be done:
           - DisplayableManager abstract base class should have a reference to the current MRMLApplicationLogic
          - The MRMLApplicationLogic should contain a map of logics
          - The list of logic internally used by the qSlicerLayoutManager should be removed and
           the list from the MRMLApplicationLogic used instead.
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14581 3bd1e089-480b-0410-8dfb-8563597acbee
      b0944f48
    • jcfr's avatar
      BUG: Add virtual method onMRML{View,Slice}NodeModifiedEvent to... · 36491c4e
      jcfr authored
      BUG: Add virtual method onMRML{View,Slice}NodeModifiedEvent to vtkMRMLAbstract{ThreeD,Slice}ViewDisplayableManager
      
      These methods could be overloaded by DisplayableManager to re-act upon a modified
      event of the associated DisplayableNode (either a MRMLView node or a slicer view node)
      
      That should fix the crash happening after the MRML view node name was updated in the
      MRML node inspector of the Data module.
      
      git-svn-id: http://svn.slicer.org/Slicer4/trunk@14577 3bd1e089-480b-0410-8dfb-8563597acbee
      36491c4e
  9. 12 Aug, 2010 1 commit
  10. 11 Aug, 2010 1 commit
  11. 10 Aug, 2010 6 commits
  12. 09 Aug, 2010 4 commits
  13. 08 Aug, 2010 1 commit
  14. 07 Aug, 2010 3 commits