00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00040 #ifndef _vtkIceTContext_h
00041 #define _vtkIceTContext_h
00042
00043 #include "vtkObject.h"
00044
00045 class vtkMultiProcessController;
00046
00047 class vtkIceTContextOpaqueHandle;
00048
00049 class VTK_EXPORT vtkIceTContext : public vtkObject
00050 {
00051 public:
00052 vtkTypeRevisionMacro(vtkIceTContext, vtkObject);
00053 static vtkIceTContext *New();
00054 virtual void PrintSelf(ostream &os, vtkIndent indent);
00055
00057
00060 virtual void SetController(vtkMultiProcessController *controller);
00061 vtkGetObjectMacro(Controller, vtkMultiProcessController);
00063
00065 virtual void MakeCurrent();
00066
00068 virtual void CopyState(vtkIceTContext *src);
00069
00071 virtual int IsValid();
00072
00073 protected:
00074 vtkIceTContext();
00075 ~vtkIceTContext();
00076
00077 vtkMultiProcessController *Controller;
00078
00079 private:
00080 vtkIceTContext(const vtkIceTContext &);
00081 void operator=(const vtkIceTContext &);
00082
00083 vtkIceTContextOpaqueHandle *Context;
00084 };
00085
00086 #endif //_vtkIceTContext_h
00087