Slicer  4.11
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
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