Browse Source

rm mexStream.h

Former-commit-id: 69d53d9e2711657faa5744ea5a62f6fcde44d60c
Alec Jacobson 10 years ago
parent
commit
7e5979596d
1 changed files with 0 additions and 54 deletions
  1. 0 54
      include/igl/matlab/mexStream.h

+ 0 - 54
include/igl/matlab/mexStream.h

@@ -1,54 +0,0 @@
-// This file is part of libigl, a simple c++ geometry processing library.
-// 
-// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
-// 
-// This Source Code Form is subject to the terms of the Mozilla Public License 
-// v. 2.0. If a copy of the MPL was not distributed with this file, You can 
-// obtain one at http://mozilla.org/MPL/2.0/.
-#ifndef IGL_MEX_STREAM_H
-#define IGL_MEX_STREAM_H
-#include <iostream>
-namespace igl
-{
-  // http://stackoverflow.com/a/249008/148668
-  
-  // Class to implement "cout" for mex files to print to the matlab terminal
-  // window.
-  //
-  // Insert at the beginning of mexFunction():
-  //  MexStream mout;
-  //  std::streambuf *outbuf = std::cout.rdbuf(&mout); 
-  //  ...
-  //  ALWAYS restore original buffer to avoid memory leak problems in matlab
-  //  std::cout.rdbuf(outbuf);
-  //
-  class MexStream : public std::streambuf
-  {
-    public:
-    protected:
-      inline virtual std::streamsize xsputn(const char *s, std::streamsize n); 
-      inline virtual int overflow(int c = EOF);
-  }; 
-}
-
-// Implementation 
-#include <mex.h>
-#include <cstdio>
-inline std::streamsize igl::MexStream::xsputn(
-  const char *s, 
-  std::streamsize n) 
-{
-  mexPrintf("%.*s",n,s);
-  mexEvalString("drawnow;"); // to dump string.
-  return n;
-}
-
-inline int igl::MexStream::overflow(int c) 
-{
-    if (c != EOF) {
-      mexPrintf("%.1s",&c);
-      mexEvalString("drawnow;"); // to dump string.
-    }
-    return 1;
-}
-#endif