00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMatlabEngineInterface.h,v $ 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 00046 #ifndef __vtkMatlabEngineInterface_h 00047 #define __vtkMatlabEngineInterface_h 00048 00049 #include "vtkObject.h" 00050 00051 class vtkArray; 00052 class vtkDataArray; 00053 class vtkMatlabEngineSingleton; 00054 class vtkMatlabMexAdapter; 00055 00056 class VTK_GRAPHICS_EXPORT vtkMatlabEngineInterface : public vtkObject 00057 { 00058 00059 public: 00060 00061 static vtkMatlabEngineInterface *New(); 00062 00063 vtkTypeRevisionMacro(vtkMatlabEngineInterface, vtkObject ); 00064 void PrintSelf(ostream& os, vtkIndent indent); 00065 00067 int EngineOpen(); 00068 00071 int EvalString(const char* string); 00072 00075 int PutVtkDataArray(const char* name, vtkDataArray* vda); 00076 00080 vtkDataArray* GetVtkDataArray(const char* name); 00081 00084 int PutVtkArray(const char* name, vtkArray* vda); 00085 00088 vtkArray* GetVtkArray(const char* name); 00089 00092 int OutputBuffer(char* p, int n); 00093 00096 int SetVisibleOn(); 00097 00099 int SetVisibleOff(); 00100 00101 protected: 00102 00103 vtkMatlabEngineInterface(); 00104 ~vtkMatlabEngineInterface(); 00105 00106 00107 private: 00108 00109 vtkMatlabEngineInterface(const vtkMatlabEngineInterface&); // Not implemented. 00110 void operator=(const vtkMatlabEngineInterface&); // Not implemented. 00111 00112 vtkMatlabEngineSingleton* meng; 00113 vtkMatlabMexAdapter* vmma; 00114 00115 }; 00116 00117 #endif 00118