00001 /*=auto========================================================================= 00002 00003 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved. 00004 00005 See Doc/copyright/copyright.txt 00006 or http://www.slicer.org/copyright/copyright.txt for details. 00007 00008 Program: 3D Slicer 00009 Module: $RCSfile: vtkMRMLBrpRobotCommandNode.h,v $ 00010 Date: $Date: 2006/03/19 17:12:28 $ 00011 Version: $Revision: 1.6 $ 00012 00013 =========================================================================auto=*/ 00014 // .NAME vtkMRMLBrpRobotCommandNode - MRML node to represent BRP Prostate Robot 00015 // .SECTION Description 00016 // 00017 00018 #ifndef __vtkMRMLBrpRobotCommandNode_h 00019 #define __vtkMRMLBrpRobotCommandNode_h 00020 00021 00022 #include "vtkProstateNavWin32Header.h" 00023 00024 #include "vtkPolyData.h" 00025 00026 #include "vtkMRML.h" 00027 #include "vtkMRMLScene.h" 00028 #include "vtkMRMLNode.h" 00029 00030 #include <string> 00031 #include <queue> 00032 00033 class vtkCallbackCommand; 00034 class vtkSphereSource; 00035 00036 class VTK_PROSTATENAV_EXPORT vtkMRMLBrpRobotCommandNode : public vtkMRMLNode 00037 { 00038 public: 00039 static vtkMRMLBrpRobotCommandNode *New(); 00040 vtkTypeMacro(vtkMRMLBrpRobotCommandNode,vtkMRMLNode); 00041 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00044 //-------------------------------------------------------------------------- 00045 // MRMLNode methods 00046 //-------------------------------------------------------------------------- 00047 00048 virtual vtkMRMLNode* CreateNodeInstance(); 00049 00050 // Description: 00051 // Get node XML tag name (like Volume, Model) 00052 virtual const char* GetNodeTagName() {return "BrpRobotCommand";}; 00053 00054 protected: 00055 vtkMRMLBrpRobotCommandNode(); 00056 ~vtkMRMLBrpRobotCommandNode(){}; 00057 vtkMRMLBrpRobotCommandNode(const vtkMRMLBrpRobotCommandNode&); 00058 void operator=(const vtkMRMLBrpRobotCommandNode&); 00059 00060 00061 public: 00062 void SetZFrameTransformNodeID(const char* name); 00063 const char* GetZFrameTransformNodeID() { return this->ZFrameTransformNodeID.c_str(); }; 00064 void SetTargetTransformNodeID(const char* name); 00065 const char* GetTargetTransformNodeID() { return this->TargetTransformNodeID.c_str(); }; 00066 00067 void PushOutgoingCommand(const char* name); 00068 const char* PopOutgoingCommand(); 00069 void PushIncomingCommand(const char* name); 00070 const char* PopIncomingCommand(); 00071 00072 int SwitchStep(const char* step); 00073 00074 protected: 00075 //BTX 00076 std::string ZFrameTransformNodeID; 00077 std::string TargetTransformNodeID; 00078 00079 std::queue<std::string> InCommandQueue; 00080 std::queue<std::string> OutCommandQueue; 00081 std::string InCommand; 00082 std::string OutCommand; 00083 00084 std::map<std::string,std::string> StepToCommandMap; 00085 00086 //ETX 00087 00088 }; 00089 00090 #endif
1.6.1