Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkMRMLAbstractLogic.h File Reference
#include <vtkObserverManager.h>
#include <vtkCommand.h>
#include <vtkObject.h>
#include "vtkMRMLLogicExport.h"
Include dependency graph for vtkMRMLAbstractLogic.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vtkMRMLAbstractLogic
 Superclass for MRML logic classes. More...
 

Macros

#define vtkIsObservedMRMLNodeEventMacro(node, event)
 
#define vtkObserveMRMLNodeEventsMacro(node, events)
 
#define vtkObserveMRMLNodeMacro(node)
 
#define vtkSetAndObserveMRMLNodeEventsMacro(node, value, events)
 
#define vtkSetAndObserveMRMLNodeMacro(node, value)
 Set and observe a MRML node. Replace the existing value of node with value. Unobserve the old node and observe the ModifiedEvent of the new. When the new node is modified, vtkMRMLAbstractLogic::ProcessMRMLNodesEvents is called which propagate the call to vtkMRMLAbstractLogic::OnMRMLNodeModified(vtkMRMLNode*) automatically.
 
#define vtkSetMRMLNodeMacro(node, value)
 
#define vtkUnObserveMRMLNodeMacro(node)
 

Macro Definition Documentation

◆ vtkIsObservedMRMLNodeEventMacro

#define vtkIsObservedMRMLNodeEventMacro ( node,
event )
Value:
( \
this->GetMRMLNodesObserverManager()->GetObservationsCount(node, event) != 0 \
)

Definition at line 115 of file vtkMRMLAbstractLogic.h.

◆ vtkObserveMRMLNodeEventsMacro

#define vtkObserveMRMLNodeEventsMacro ( node,
events )
Value:
{ \
this->GetMRMLNodesObserverManager()->AddObjectEvents ( (node), (events) ); \
};

Definition at line 101 of file vtkMRMLAbstractLogic.h.

◆ vtkObserveMRMLNodeMacro

#define vtkObserveMRMLNodeMacro ( node)
Value:
{ \
this->GetMRMLNodesObserverManager()->ObserveObject( (node) ); \
};

Definition at line 93 of file vtkMRMLAbstractLogic.h.

◆ vtkSetAndObserveMRMLNodeEventsMacro

#define vtkSetAndObserveMRMLNodeEventsMacro ( node,
value,
events )
Value:
{ \
vtkObject *_oldNode = (node); \
this->GetMRMLNodesObserverManager()->SetAndObserveObjectEvents( \
vtkObjectPointer(&(node)), (value), (events)); \
vtkObject *_newNode = (node); \
if (_oldNode != _newNode) \
{ \
this->Modified(); \
} \
};
#define vtkObjectPointer(xx)

Definition at line 80 of file vtkMRMLAbstractLogic.h.

◆ vtkSetAndObserveMRMLNodeMacro

#define vtkSetAndObserveMRMLNodeMacro ( node,
value )
Value:
{ \
vtkObject *_oldNode = (node); \
this->GetMRMLNodesObserverManager()->SetAndObserveObject( \
vtkObjectPointer(&(node)), (value)); \
vtkObject *_newNode = (node); \
if (_oldNode != _newNode) \
{ \
this->Modified(); \
} \
};

Set and observe a MRML node. Replace the existing value of node with value. Unobserve the old node and observe the ModifiedEvent of the new. When the new node is modified, vtkMRMLAbstractLogic::ProcessMRMLNodesEvents is called which propagate the call to vtkMRMLAbstractLogic::OnMRMLNodeModified(vtkMRMLNode*) automatically.

Note
Can't be used with objects other than vtkMRMLNodes
void vtkMRMLMyLogic::SetMyNode(vtkMRMLNode* newNode)
{
vtkSetAndObserveMRMLNodeMacro(this->MyNode, newNode);
this->OnMRMLNodeModified(this->MyNode);
}
Abstract Superclass for all specific types of MRML nodes.
#define vtkSetAndObserveMRMLNodeMacro(node, value)
Set and observe a MRML node. Replace the existing value of node with value. Unobserve the old node an...
See also
vtkMRMLAbstractLogic::ProcessMRMLNodesEvents(), vtkMRMLAbstractLogic::OnMRMLNodeModified()

Definition at line 66 of file vtkMRMLAbstractLogic.h.

◆ vtkSetMRMLNodeMacro

#define vtkSetMRMLNodeMacro ( node,
value )
Value:
{ \
vtkObject *_oldNode = (node); \
this->GetMRMLNodesObserverManager()->SetObject( \
vtkObjectPointer(&(node)), (value)); \
vtkObject *_newNode = (node); \
if (_oldNode != _newNode) \
{ \
this->Modified(); \
} \
};

Definition at line 36 of file vtkMRMLAbstractLogic.h.

◆ vtkUnObserveMRMLNodeMacro

#define vtkUnObserveMRMLNodeMacro ( node)
Value:
{ \
this->GetMRMLNodesObserverManager()->RemoveObjectEvents ( (node) ); \
};

Definition at line 108 of file vtkMRMLAbstractLogic.h.