COMP: Update Slicer packaging code to support CMake 3.0

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23186 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Fix unused variable in vtkMRMLNode::PrintSelf

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23187 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Remove unused composite node "Grid" attribute

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23188 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Remove unused Set/Get*Opacity method from slice logic

Following the introduction of the composite node (r175) that is able to
store the opacity information, these methods originally introduced
by r129 are now redundant and unused.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23189 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Re-factor and rename some of MRMLReference tests

This commit add convenience function allowing to systematically test
the different cases.

It also renames test functions to better represent the purpose of the
test:
  TestAddReferenceNodeID ->  TestSetAndObserveNodeReferenceID
  TestReferenceNodeNoObservers -> TestSetNodeReferenceID

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23190 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Simplify MRMLReferences using smart pointers

* Use of smart pointer in vtkMRMLReference allows us to remove
the complicated code manually managing the calls to Register/UnRegister

* function "SetNthNodeReferenceID" and "SetAndObserveNthNodeReferenceID"
have been updated to have similar code (at the exception of the
code setting the observation events). The second will consist in factoring
code common code to avoid code duplication.

* SetNthNodeReferenceID/SetAndObserveNthNodeReferenceID have also
been fixed to work properly in case the reference doesn't exist
and referencedNodeID is null.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23191 3bd1e089-480b-0410-8dfb-8563597acbee
BUG: Fix behavior of "Set(AndObserve)NthNodeReference" function

This commit now ensures that if a reference is set to position N,
it can later be obtain given N.

The issue is illustrated below:

 SetNthNodeReferenceID("MyRole", /* n= */ 1, "ID2")
 GetNthNodeReferenceID("MyRole", /* n= */ 1)  => return NULL
 GetNthNodeReferenceID("MyRole", /* n= */ 0)  => return "ID2"

 => Getting reference N=1 should return ID2

For reference, the proposed change has also been discussed on the mailing
list. See [1]

[1] http://slicer-devel.65872.n3.nabble.com/MRML-References-update-proposal-tt4031425.html

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23192 3bd1e089-480b-0410-8dfb-8563597acbee
STYLE: Better readability of MRML node reference function

This basically improve the readabitliy of the code by changing:

  (*referencedNodesIt) -> reference
  references[n] -> reference

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23193 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: Update CTK projects to include include directories tweaks

$ git shortlog 8a17c216..fdc47ec --no-merges
Jean-Christophe Fillion-Robin (5):
      Simplify system and remove variable CTK_BASE_INCLUDE_DIRS
      Do not set unused CMake build function parameter INCLUDE_DIRECTORIES
      Fix ctkSimplePythonShell build error supporting optional dependencies
      Fix export of CTKTesting include directories
      Fix build of ctkQtTesting application and  CTKConfig include directory export.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23194 3bd1e089-480b-0410-8dfb-8563597acbee