00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00017
00018 #ifndef __vtkMRMLViewNode_h
00019 #define __vtkMRMLViewNode_h
00020
00021 #include "vtkMRML.h"
00022 #include "vtkMRMLNode.h"
00023
00024 class VTK_MRML_EXPORT vtkMRMLViewNode : public vtkMRMLNode
00025 {
00026 public:
00027 static vtkMRMLViewNode *New();
00028 vtkTypeMacro(vtkMRMLViewNode,vtkMRMLNode);
00029 void PrintSelf(ostream& os, vtkIndent indent);
00030
00031
00033
00034
00035 virtual vtkMRMLNode* CreateNodeInstance();
00036
00039 virtual void ReadXMLAttributes( const char** atts);
00040
00043 virtual void WriteXML(ostream& of, int indent);
00044
00045
00048 virtual void Copy(vtkMRMLNode *node);
00049
00052 virtual const char* GetNodeTagName();
00053
00056 vtkGetMacro (Active, int );
00057 virtual void SetActive(int);
00058
00063 vtkGetMacro(Visibility, int);
00064 virtual void SetVisibility ( int );
00065
00068 vtkGetMacro(BoxVisible, int);
00069 virtual void SetBoxVisible ( int );
00070
00071
00074 vtkGetMacro(AxisLabelsVisible, int);
00075 virtual void SetAxisLabelsVisible ( int );
00077
00080 vtkGetMacro (FiducialsVisible, int );
00081 virtual void SetFiducialsVisible ( int );
00083
00084 vtkGetMacro (FiducialLabelsVisible, int );
00085 virtual void SetFiducialLabelsVisible ( int );
00086
00089 vtkGetMacro(FieldOfView, double);
00090 vtkSetMacro(FieldOfView, double);
00091
00094 vtkGetMacro(LetterSize, double);
00095 vtkSetMacro(LetterSize, double);
00096
00099 vtkGetVector3Macro (BackgroundColor, double);
00100 virtual void SetBackgroundColor ( double *color );
00102
00105 vtkGetMacro (AnimationMode, int );
00106 virtual void SetAnimationMode ( int );
00108
00110 vtkGetMacro (ViewAxisMode, int );
00111 vtkSetMacro (ViewAxisMode, int );
00112
00115 vtkGetMacro ( SpinDirection, int );
00116 vtkSetMacro ( SpinDirection, int );
00117
00120 vtkGetMacro ( SpinDegrees, double );
00121 vtkSetMacro ( SpinDegrees, double );
00122
00123 vtkGetMacro ( RotateDegrees, double );
00124 vtkSetMacro ( RotateDegrees, double );
00125
00128 vtkGetMacro ( AnimationMs, int );
00129 vtkSetMacro ( AnimationMs, int );
00130
00133 vtkGetMacro ( RockLength, int );
00134 vtkSetMacro ( RockLength, int );
00135
00138 vtkGetMacro ( RockCount, int );
00139 vtkSetMacro ( RockCount, int );
00140
00143 vtkGetMacro ( StereoType, int );
00144 virtual void SetStereoType ( int );
00146
00149 vtkGetMacro (RenderMode, int );
00150 virtual void SetRenderMode ( int );
00152
00153
00155 enum
00156 {
00157 RotateAround = 0,
00158 LookFrom
00159 };
00160
00162 enum
00163 {
00164 PitchUp = 0,
00165 PitchDown,
00166 RollLeft,
00167 RollRight,
00168 YawLeft,
00169 YawRight
00170 };
00171
00173 enum
00174 {
00175 NoStereo = 0,
00176 RedBlue,
00177 Anaglyph,
00178 CrystalEyes,
00179 Interlaced
00180 };
00181
00183 enum
00184 {
00185 Perspective = 0,
00186 Orthographic
00187 };
00188
00190 enum
00191 {
00192 Off = 0,
00193 Spin,
00194 Rock
00195 };
00196
00198 enum
00199 {
00200 AnimationModeEvent = 19001,
00201 RenderModeEvent,
00202 StereoModeEvent,
00203 VisibilityEvent,
00204 BackgroundColorEvent,
00205 ActiveModifiedEvent,
00206 GraphicalResourcesCreatedEvent
00207 };
00208
00209
00210
00211 protected:
00212 vtkMRMLViewNode();
00213 ~vtkMRMLViewNode();
00214 vtkMRMLViewNode(const vtkMRMLViewNode&);
00215 void operator=(const vtkMRMLViewNode&);
00216
00217
00218 int FiducialsVisible;
00219 int FiducialLabelsVisible;
00220 int BoxVisible;
00221 int AxisLabelsVisible;
00222 double FieldOfView;
00223 double LetterSize;
00224 double BackgroundColor[3];
00225
00228 int AnimationMode;
00229 int SpinDirection;
00230 double SpinDegrees;
00231 int AnimationMs;
00232
00235 int RockLength;
00236 int RockCount;
00237
00241 double RotateDegrees;
00242
00245 int StereoType;
00246
00249 int RenderMode;
00250
00254 int ViewAxisMode;
00255
00258 int Active;
00259
00262 int Visibility;
00263
00266 virtual void RemoveActiveFlagInScene();
00267 };
00268
00269 #endif