00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMatlabEngineInterface.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2009 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 00019 -------------------------------------------------------------------------*/ 00020 00049 #ifndef __vtkMatlabEngineInterface_h 00050 #define __vtkMatlabEngineInterface_h 00051 00052 #include "vtkObject.h" 00053 00054 class vtkArray; 00055 class vtkDataArray; 00056 class vtkMatlabEngineSingleton; 00057 class vtkMatlabMexAdapter; 00058 00059 class VTK_GRAPHICS_EXPORT vtkMatlabEngineInterface : public vtkObject 00060 { 00061 00062 public: 00063 00064 static vtkMatlabEngineInterface *New(); 00065 00066 vtkTypeMacro(vtkMatlabEngineInterface, vtkObject ); 00067 void PrintSelf(ostream& os, vtkIndent indent); 00068 00070 int EngineOpen(); 00071 00074 int EvalString(const char* string); 00075 00078 int PutVtkDataArray(const char* name, vtkDataArray* vda); 00079 00083 vtkDataArray* GetVtkDataArray(const char* name); 00084 00087 int PutVtkArray(const char* name, vtkArray* vda); 00088 00091 vtkArray* GetVtkArray(const char* name); 00092 00095 int OutputBuffer(char* p, int n); 00096 00099 int SetVisibleOn(); 00100 00102 int SetVisibleOff(); 00103 00104 protected: 00105 00106 vtkMatlabEngineInterface(); 00107 ~vtkMatlabEngineInterface(); 00108 00109 00110 private: 00111 00112 vtkMatlabEngineInterface(const vtkMatlabEngineInterface&); // Not implemented. 00113 void operator=(const vtkMatlabEngineInterface&); // Not implemented. 00114 00115 vtkMatlabEngineSingleton* meng; 00116 vtkMatlabMexAdapter* vmma; 00117 00118 }; 00119 00120 #endif 00121