<p dir="ltr">Hi Bill,</p>
<p dir="ltr">thanks a lot for your suggestion, which confirmed that the subset of VTK libs that I identified was really the minimum possible subset considering the VTK classes I am using (maybe I can remove just vtkViewsCore - still need to check - but in any case it takes just a few KBs).</p>

<p dir="ltr">Is there really no other way to further reduce this footprint?</p>
<p dir="ltr">Thanks and best regards,</p>
<p dir="ltr">Marco Sambin<br>
</p>
<div class="gmail_quote">Il giorno 08/ago/2013 16:43, &quot;Bill Lorensen&quot; &lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt; ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div>I made a small c++include file that included the class names you said you use.</div><div>Then I ran Utilities/Maintenance/WhatModulesVTK.py on that file.</div><div><br></div>When you configure your app, try. <div>

<div>find_package(VTK COMPONENTS</div><div>  vtkCommonCore</div><div>  vtkCommonDataModel</div><div>  vtkIOImage</div><div>  vtkImagingCore</div><div>  vtkInteractionWidgets</div><div>  vtkRenderingAnnotation</div><div>  vtkRenderingCore</div>

<div>  vtkRenderingOpenGL</div><div>)</div></div><div><br></div><div>This does not include Java stuff. You&#39;ll need to add that.<br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Thu, Aug 8, 2013 at 10:21 AM, Marco Sambin <span dir="ltr">&lt;<a href="mailto:m.sambin@gmail.com" target="_blank">m.sambin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Hi all.<div><div>I beg your pardon in advance for my long email post...</div><div><br><div>I am using VTK from a Java Web Start application I&#39;ve written.</div><div><br></div><div>In order to support a possibly trouble-free deployment for my web users, I am packaging vtk.jar and the related VTK native libraries into signed JAR files, to be passed as external resources through the JNLP descriptor, differentiating these resources based on OS and architecture (32-bit/64-bit, Windows/Mac/Linux).</div>


<div><br></div><div>Now, considering that my application is a Java Web Start application which may be used also through low-bandwidth Internet links, I am trying to minimize the footprint of VTK, in particular by trying to reduce the number of VTK native libraries to include.</div>


<div><br></div><div>Currently in my application I make direct use of the following VTK classes:</div><div><br></div><div><div>vtkImageData</div><div>vtkImageReader2</div><div>vtkDataArray</div><div>vtkUnsignedShortArray</div>


<div>vtkUnsignedCharArray</div><div>vtkCanvas</div><div>vtkImagePlaneWidget</div><div>vtkImageReslice</div><div>vtkOrientationMarkerWidget</div><div>vtkAnnotatedCubeActor</div><div>vtkRenderer</div><div>vtkCamera</div><div>


vtkGenericRenderWindowInteractor</div></div><div><br></div><div>I&#39;ve built VTK on Win 64-bit platform through Visual Studio 2010 (starting from CMake), enabling th &quot;VTK_Group_Imaging&quot;, &quot;VTK_Group_Rendering&quot;, &quot;VTK_Group_StandAlone&quot; and &quot;VTK_WRAP_JAVA&quot; CMake options.</div>


<div><br></div><div>Checking the dependencies of each produced .dll file with the DependencyWalker utility, I&#39;ve ended up with the following &quot;minimal&quot; list of required DLLs for my application:</div><div><br>


</div><div><div>vtkalglib-6.0.dll</div><div>vtkCommonComputationalGeometry-6.0.dll</div><div>vtkCommonComputationalGeometryJava.dll</div><div>vtkCommonCore-6.0.dll</div><div>vtkCommonCoreJava.dll</div><div>vtkCommonDataModel-6.0.dll</div>


<div>vtkCommonDataModelJava.dll</div><div>vtkCommonExecutionModel-6.0.dll</div><div>vtkCommonExecutionModelJava.dll</div><div>vtkCommonMath-6.0.dll</div><div>vtkCommonMathJava.dll</div><div>vtkCommonMisc-6.0.dll</div><div>


vtkCommonMiscJava.dll</div><div>vtkCommonSystem-6.0.dll</div><div>vtkCommonSystemJava.dll</div><div>vtkCommonTransforms-6.0.dll</div><div>vtkCommonTransformsJava.dll</div><div>vtkDICOMParser-6.0.dll</div><div>vtkexpat-6.0.dll</div>


<div>vtkFiltersCore-6.0.dll</div><div>vtkFiltersCoreJava.dll</div><div>vtkFiltersExtraction-6.0.dll</div><div>vtkFiltersExtractionJava.dll</div><div>vtkFiltersGeneral-6.0.dll</div><div>vtkFiltersGeneralJava.dll</div><div>


vtkFiltersGeometry-6.0.dll</div><div>vtkFiltersGeometryJava.dll</div><div>vtkFiltersHybrid-6.0.dll</div><div>vtkFiltersHybridJava.dll</div><div>vtkFiltersModeling-6.0.dll</div><div>vtkFiltersModelingJava.dll</div><div>vtkFiltersSources-6.0.dll</div>


<div>vtkFiltersSourcesJava.dll</div><div>vtkFiltersStatistics-6.0.dll</div><div>vtkFiltersStatisticsJava.dll</div><div>vtkfreetype-6.0.dll</div><div>vtkftgl-6.0.dll</div><div>vtkImagingColor-6.0.dll</div><div>vtkImagingColorJava.dll</div>


<div>vtkImagingCore-6.0.dll</div><div>vtkImagingCoreJava.dll</div><div>vtkImagingFourier-6.0.dll</div><div>vtkImagingFourierJava.dll</div><div>vtkImagingGeneral-6.0.dll</div><div>vtkImagingGeneralJava.dll</div><div>vtkImagingHybrid-6.0.dll</div>


<div>vtkImagingHybridJava.dll</div><div>vtkImagingSources-6.0.dll</div><div>vtkImagingSourcesJava.dll</div><div>vtkInteractionImage-6.0.dll</div><div>vtkInteractionImageJava.dll</div><div>vtkInteractionStyle-6.0.dll</div>


<div>vtkInteractionStyleJava.dll</div><div>vtkInteractionWidgets-6.0.dll</div><div>vtkInteractionWidgetsJava.dll</div><div>vtkIOCore-6.0.dll</div><div>vtkIOCoreJava.dll</div><div>vtkIOImage-6.0.dll</div><div>vtkIOImageJava.dll</div>


<div>vtkIOXMLParser-6.0.dll</div><div>vtkIOXMLParserJava.dll</div><div>vtkjpeg-6.0.dll</div><div>vtkmetaio-6.0.dll</div><div>vtkpng-6.0.dll</div><div>vtkRenderingAnnotation-6.0.dll</div><div>vtkRenderingAnnotationJava.dll</div>


<div>vtkRenderingCore-6.0.dll</div><div>vtkRenderingCoreJava.dll</div><div>vtkRenderingFreeType-6.0.dll</div><div>vtkRenderingFreeTypeJava.dll</div><div>vtkRenderingFreeTypeOpenGL-6.0.dll</div><div>vtkRenderingFreeTypeOpenGLJava.dll</div>


<div>vtkRenderingOpenGL-6.0.dll</div><div>vtkRenderingOpenGLJava.dll</div><div>vtkRenderingVolume-6.0.dll</div><div>vtkRenderingVolumeJava.dll</div><div>vtkRenderingVolumeOpenGL-6.0.dll</div><div>vtkRenderingVolumeOpenGLJava.dll</div>


<div>vtksys-6.0.dll</div><div>vtktiff-6.0.dll</div><div>vtkViewsCore-6.0.dll</div><div>vtkViewsCoreJava.dll</div><div>vtkWrappingJava-6.0.dll</div><div>vtkzlib-6.0.dll</div></div><div><br></div><div>In  &quot;MinSizeRel&quot; build configuration, this means more than 25 megabytes of DLLs.</div>


<div>Can this result be improved somehow? I mean, can I somehow decrease the total size/number of required VTK native libraries, considering the set of VTK classes I am using?</div></div></div><div><br></div><div>Thank you in advance for any hint/suggestion you may provide.</div>


<div>Best regards,</div><div><br></div><div>Marco</div><div><br></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div>
</blockquote></div>