/usr/src/WrapITK/Tcl/TCLGetInterp.i is in libinsighttoolkit3-dev 3.20.1+git20120521-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | // TODO: How much of this is useful anyway?
%module(directors="1") SwigExtras
%include "typemaps.i"
%include "carrays.i"
%array_functions(unsigned long, ULArray);
%array_functions(long, LArray);
%array_functions(int, IArray);
%array_functions(float, FArray);
%array_functions(double, DArray);
%array_class(unsigned long, ULArrayClass);
%array_class(long, LArrayClass);
%array_class(int, IArrayClass);
%array_class(float, FArrayClass);
%array_class(double, DArrayClass);
#ifdef SWIGTCL
Tcl_Interp* GetInterp(Tcl_Interp* interp);
%{
Tcl_Interp* GetInterp(Tcl_Interp* interp)
{
return interp;
}
%}
#endif
// Create swig version of std::list with
// a specialization for std::string.
// This is because list<std::string> is used
// in the wrapper interface of ITK and for java
// this creates SWIGTYPE_p_*.java files that are
// too big for windows file systems. But if the
// class is wrapped, the shorter name StringList is used.
%{
#include <list>
%}
namespace std {
template<class T> class list {
public:
list();
unsigned int size() const;
bool empty() const;
void clear();
void push_back(std::string x);
};
template<> class list<std::string> {
// add specialized typemaps here
public:
list();
unsigned int size() const;
bool empty() const;
void clear();
void push_back(std::string x);
%extend {
std::string get(int i)
{
std::list<std::string>::iterator j = self->begin();
while(i)
{
j++;
i--;
}
return *j;
}
}
};
}
/* See wrap_SwigExtras.cxx. */
%include stl.i
%template(StringVector) std::vector<std::string>;
%template(StringList) std::list<std::string>;
#ifdef SWIGJAVA
%feature("director") itkJavaCommand;
%{
#include "itkJavaCommand.h"
%}
// import fake itk command
// because itkCommand will be wrapped elsewhere by cableswig
%import "itkCommand.i"
// create an itkJavaCommand that has an Execute method that
// can be overriden in java, and used as an itkCommand
class itkJavaCommand : public itkCommand
{
public:
virtual void Execute();
};
%pragma(java) jniclasscode=%{
static { InsightToolkit.itkbase.LoadLibrary("BaseJava"); }
%}
#endif
|