vtkMRMLBrpRobotCommandNode.h

Go to the documentation of this file.
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

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1