VTK
|
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 "vtkFiltersMatlabModule.h" 00053 #include "vtkObject.h" 00054 00055 class vtkArray; 00056 class vtkDataArray; 00057 class vtkMatlabEngineSingleton; 00058 class vtkMatlabMexAdapter; 00059 00060 class VTKFILTERSMATLAB_EXPORT vtkMatlabEngineInterface : public vtkObject 00061 { 00062 00063 public: 00064 00065 static vtkMatlabEngineInterface *New(); 00066 00067 vtkTypeMacro(vtkMatlabEngineInterface, vtkObject ); 00068 void PrintSelf(ostream& os, vtkIndent indent); 00069 00071 int EngineOpen(); 00072 00075 int EvalString(const char* string); 00076 00079 int PutVtkDataArray(const char* name, vtkDataArray* vda); 00080 00084 vtkDataArray* GetVtkDataArray(const char* name); 00085 00088 int PutVtkArray(const char* name, vtkArray* vda); 00089 00092 vtkArray* GetVtkArray(const char* name); 00093 00096 int OutputBuffer(char* p, int n); 00097 00100 int SetVisibleOn(); 00101 00103 int SetVisibleOff(); 00104 00105 protected: 00106 00107 vtkMatlabEngineInterface(); 00108 ~vtkMatlabEngineInterface(); 00109 00110 00111 private: 00112 00113 vtkMatlabEngineInterface(const vtkMatlabEngineInterface&); // Not implemented. 00114 void operator=(const vtkMatlabEngineInterface&); // Not implemented. 00115 00116 vtkMatlabEngineSingleton* meng; 00117 vtkMatlabMexAdapter* vmma; 00118 00119 }; 00120 00121 #endif