Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLClipModelsNode.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: 3D Slicer
9  Module: $RCSfile: vtkMRMLClipModelsNode.h,v $
10  Date: $Date: 2006/03/19 17:12:28 $
11  Version: $Revision: 1.6 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLClipModelsNode_h
16 #define __vtkMRMLClipModelsNode_h
17 
18 #include "vtkMRMLNode.h"
19 
26 class VTK_MRML_EXPORT vtkMRMLClipModelsNode : public vtkMRMLNode
27 {
28 public:
29  static vtkMRMLClipModelsNode *New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
33  //--------------------------------------------------------------------------
35  //--------------------------------------------------------------------------
36 
37  vtkMRMLNode* CreateNodeInstance() override;
38 
41  void ReadXMLAttributes( const char** atts) override;
42 
45  void WriteXML(ostream& of, int indent) override;
46 
50 
53  const char* GetNodeTagName() override {return "ClipModels";}
54 
58  vtkGetMacro(ClipType, int);
59  vtkSetMacro(ClipType, int);
60 
61  enum
62  {
63  ClipIntersection = 0,
64  ClipUnion = 1
65  };
66 
70  vtkGetMacro(RedSliceClipState, int);
71  vtkSetMacro(RedSliceClipState, int);
72 
76  vtkGetMacro(YellowSliceClipState, int);
77  vtkSetMacro(YellowSliceClipState, int);
78 
82  vtkGetMacro(GreenSliceClipState, int);
83  vtkSetMacro(GreenSliceClipState, int);
84 
85  enum
86  {
87  ClipOff = 0,
88  ClipPositiveSpace = 1,
89  ClipNegativeSpace = 2,
90  };
91 
95  typedef enum
96  {
97  Straight = 0,
100  } ClippingMethodType;
101 
102  vtkGetMacro(ClippingMethod, ClippingMethodType);
103  vtkSetMacro(ClippingMethod, ClippingMethodType);
104 
105  //Convert between enum and string
106  static int GetClippingMethodFromString(const char* name);
107  static const char* GetClippingMethodAsString(ClippingMethodType id);
108 
109 protected:
111  ~vtkMRMLClipModelsNode() override;
113  void operator=(const vtkMRMLClipModelsNode&);
114 
115  int ClipType;
116 
120 
122 
123 
124 };
125 
126 #endif
MRML node to represent three clipping planes.
virtual void ReadXMLAttributes(const char **atts)
void operator=(const vtkMRMLNode &)
ClippingMethodType ClippingMethod
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
virtual void WriteXML(ostream &of, int indent)
void PrintSelf(ostream &os, vtkIndent indent) override
#define vtkMRMLCopyContentMacro(thisClassName)
Definition: vtkMRMLNode.h:142
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167