<br>-snip from David-<br><font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">My familiarity with Titan is nil, but "git blame" tells me that
the<br>
vtkMatlabMexAdapter.h has been in VTK since 2009-12-14. It should be<br>
built whenever VTK_USE_MATLAB_MEX is turned ON in CMake.</span></font><br>-end snip-<br><br>I searched my tree which includes vtk-5.4 source and there is no vtkMatlabMexAdapter.h file nor is there any text in files with "vtkMatlabMexAdapter". So I think this maybe new at least post 5.4 (the version I am using). Not sure why git is reporting this. I did not check git for when this was added to release. <br>
<br>A search for vtkMatlabMexAdapter in<br><a href="http://www.vtk.org/doc/release/5.4/html/classes.html">http://www.vtk.org/doc/release/5.4/html/classes.html</a><br>returns nada, zippo, nil, none, zero.<br><br>A search for vtkMatlabMexAdapter in<br>
<a href="http://www.vtk.org/doc/release/5.6/html/classes.html">http://www.vtk.org/doc/release/5.6/html/classes.html</a><br>returns ... ding ding ding we have a winner!<br><br>My familularity with Titan is also nil except for my little readings on the topic and this pdf if your interested <a href="http://titan.sandia.gov/media/Information_Visualization_in_VTK.pdf">http://titan.sandia.gov/media/Information_Visualization_in_VTK.pdf</a>. It's got pretty pictures :-)<br>
<br><a href="https://www.kitware.com/InfovisWiki/index.php/Main_Page">https://www.kitware.com/InfovisWiki/index.php/Main_Page</a><br><br>-snip from Thomas-<br><font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">I am the main developer of the Matlab Engine related code in VTK.<br>
<br>
Yes, vtkMatlabMexAdapter is the class you need to convert data from VTK
to the Matlab mxArray type and back again. This class will get
compiled when VTK_USE_MATLAB_MEX is turned on in the Cmake advanced
options of VTK. <br><br></span></font><font face="Calibri, Verdana, Helvetica, Arial"><span style="font-size: 11pt;">Are you are trying to build a Matlab mex program (shared library)
that takes input Matlab data and sends it to VTK, and then returns data
from VTK to Matlab?<br>
</span></font><br>-end snip-<br><br>Yes I am trying to build a Matlab mex program (shared library) that takes input from Matlab and sends to VTK. I have this somewhat working and I think I was able (I am currently verifying) to get this to work in 5.4 without the vtkMatlabMexAdapter, though this seems a much easier approach so I may very well upgrade to 5.6 and beyond. The code snipit that I currently somewhat have working with 5.4 is<br>
<br>-snip-<br>...<br><br> for (int i = 0; i < nrhs; i++)<br> {<br><br> if( mxGetNumberOfDimensions( prhs[i] ) != 3 )<br> {<br> mexErrMsgTxt("Render volume can only accept matrix of 3 dimensions");<br>
return;<br> }<br><br> // Get the dimensions<br> const mwSize* matDimensions = mxGetDimensions( prhs[i] );<br><br> y_dim = matDimensions[0];<br> x_dim = matDimensions[1];<br> z_dim = matDimensions[2];<br>
<br> mexPrintf( "y_dim = %d, x_dim = %d, z_dim = %d \n", y_dim, x_dim, z_dim );<br><br> // Get the data <br> volumeData = mxGetPr(prhs[i]);<br> }<br><br>...<br> vtkSmartPointer<vtkDoubleArray> vtkArray = vtkSmartPointer<vtkDoubleArray>::New();<br>
<br> vtkArray->SetVoidArray( (void *) volumeData, y_dim*x_dim*z_dim , 0);<br><br> vtkSmartPointer<vtkImageData> vtkImage = vtkSmartPointer<vtkImageData>::New();<br> <br> vtkImage->SetDimensions( numeric_cast<int>(y_dim) , numeric_cast<int>(x_dim), numeric_cast<int>(z_dim) );<br>
vtkImage->SetSpacing(1.0, 1.0, 1.0);<br> vtkImage->SetOrigin(0.0, 0.0, 0.0);<br><br> vtkImage->GetPointData()->SetScalars(vtkArray);<br><br> volumeMapper->SetInput( vtkImage );<br><br> // set the volume mapper.<br>
volume->SetMapper( volumeMapper );<br><br>-snip-<br><br>The term *somewhat* is defined there to mean: that I can see my volume, but it locks up Matlab and vtk render window. <br><br>Thanks David and Thomas for the input.<br>
<br>Brian<br><br>