<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Julian Ibarz &#187; Bibliothèque</title>
	<atom:link href="https://blog.developpez.com/tanek/pcategory/informatique/bibliotheque/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/tanek</link>
	<description></description>
	<lastBuildDate>Sun, 08 Feb 2009 23:27:29 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>CxxTest et CMake</title>
		<link>https://blog.developpez.com/tanek/p7195/informatique/title_118</link>
		<comments>https://blog.developpez.com/tanek/p7195/informatique/title_118#comments</comments>
		<pubDate>Sun, 08 Feb 2009 23:25:05 +0000</pubDate>
		<dc:creator><![CDATA[tanek]]></dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[CMake]]></category>
		<category><![CDATA[CxxTest]]></category>
		<category><![CDATA[Informatique]]></category>
		<category><![CDATA[Tests Unitaires]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Je n&#8217;ai jamais réellement fait de test unitaire en C++ voir dans n&#8217;importe quel langage du tout et je commence de plus en plus à réutiliser des codes que je fais il y a souvent très longtemps, je les retouche et je rajoute un bug et j&#8217;ai à chaque fois du mal à l&#8217;identifier (obligé de retester les fonctions une par une, re faire du code de test que j&#8217;avais parfois déjà fais, etc.). Bref [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je n&rsquo;ai jamais réellement fait de test unitaire en C++ voir dans n&rsquo;importe quel langage du tout et je commence de plus en plus à réutiliser des codes que je fais il y a souvent très longtemps, je les retouche et je rajoute un bug et j&rsquo;ai à chaque fois du mal à l&rsquo;identifier (obligé de retester les fonctions une par une, re faire du code de test que j&rsquo;avais parfois déjà fais, etc.). Bref si vous aussi vous êtes dans ma situation, que vous cherchez une solution pour aller plus vite, vous avez sûrement déjà entendu parlé des tests unitaires et des frameworks disponibles en C++ pour automatiser tout ça. Si ce n&rsquo;est pas le cas je vous conseille d&rsquo;aller lire cet article qui propose une comparaison des frameworks les plus connus :<br />
<a href="http://gamesfromwithin.com/?p=29"><br />
Dan Crevier&rsquo;s Blog : A comparison of C++ unit testing frameworks (en anglais)</a></p>
<p>Après l&rsquo;avoir lu, vous faites comme moi confiance à l&rsquo;auteur et choisissez la bibliothèque CxxTest et essayez de l&rsquo;intégrer dans votre application. Si vous aussi vous utilisez CMake comme outil de construction, vous aurez remarqué que l&rsquo;intégration de CxxTest est plus que sommaire, je vous propose donc une solution plus complète.</p>
<p><span id="more-7"></span></p>
<p>Nous allons supposer que vous avez organisé vos fichiers comme suit :</p>
<ul>
<li>dossier src : contient toutes les sources ainsi que vos headers ;</li>
<li>dossier test : va contenir vos tests unitaires ;</li>
<li>dossier build : contiendra le fichier généré par CxxTest (il est très important que le dossier existe).</li>
</ul>
<p>Voici maintenant un build minimaliste avec quelques commentaires pour vous expliquer son fonctionnement :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cmake_minimum_required(VERSION 2.6) &nbsp;<br />
&nbsp;<br />
#Configuration du projet &nbsp;<br />
project(mon-projet) &nbsp;<br />
set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE}) &nbsp;<br />
&nbsp;<br />
# Va permettre de pouvoir trouver Find &nbsp;<br />
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} &quot;.&quot;) &nbsp;<br />
&nbsp;<br />
# Fait la liaison avec la bibliothèque CxxTest &nbsp;<br />
FIND_PACKAGE(CxxTest REQUIRED) &nbsp;<br />
SET(CXXTEST_USE_PYTHON 1) &nbsp;<br />
&nbsp;<br />
file( &nbsp;<br />
&nbsp; GLOB_RECURSE &nbsp;<br />
&nbsp; source_files &nbsp;<br />
&nbsp; src/*.cpp &nbsp;<br />
&nbsp; src/*.hpp &nbsp;<br />
&nbsp;) &nbsp;<br />
&nbsp;<br />
&nbsp;<br />
file( &nbsp;<br />
&nbsp; GLOB_RECURSE &nbsp;<br />
&nbsp; test-files &nbsp;<br />
&nbsp; test/*.hpp &nbsp;<br />
&nbsp;) &nbsp;<br />
&nbsp;<br />
&nbsp;<br />
# Unit testing &nbsp;<br />
ENABLE_TESTING() &nbsp;<br />
CXXTEST_ADD_TEST(unit-test build/mon-test-unitaire.cpp ${test-files}) &nbsp;<br />
&nbsp;<br />
add_executable( &nbsp;<br />
&nbsp; test-unit &nbsp;<br />
&nbsp; build/mon-test-unitaire.cpp &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
add_library( &nbsp;<br />
&nbsp; lib-mon-projet STATIC &nbsp;<br />
&nbsp; ${source_files} &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
add_executable(mon-projet &nbsp;<br />
&nbsp; src/main.cc &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
include_directories( &nbsp;<br />
&nbsp; &quot;src&quot; &nbsp;<br />
&nbsp; &quot;.&quot; #Nécessaire pour CxxTest &nbsp;<br />
&nbsp; ${CXXTEST_INCLUDE_DIR} &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
#Configuration de l'édition de liens &nbsp;<br />
target_link_libraries( &nbsp;<br />
&nbsp; test-unit &nbsp;<br />
&nbsp; lib-mon-projet &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
target_link_libraries( &nbsp;<br />
&nbsp; mon-projet &nbsp;<br />
&nbsp; lib-mon-projet &nbsp;<br />
)</div></div>
<p>Tout d&rsquo;abord vous aurez besoin du fichier FindCxxTest.cmake que j&rsquo;ai repiqué d&rsquo;<a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Modules/FindCxxTest.cmake?root=CMake&#038;view=markup">ici</a> et &laquo;&nbsp;amélioré&nbsp;&raquo;. Ma version se trouve <a href="http://prologia.svn.sourceforge.net/viewvc/prologia/iupsi/ter/FindCxxTest.cmake?view=markup">ici</a>.</p>
<p>Pourquoi l&rsquo;avoir modifié ? Et bien parce que la version normale suppose que notre programme test n&rsquo;ait pas besoin de l&rsquo;ensemble de notre projet pour fonctionner or normalement quand vous faites un test unitaire sur une classe très importante, vous aurez besoin de la définition de presque toutes vos classes. La version normale ne vous permet pas cela.</p>
<p>Comment alors faire pour linker notre test unitaire à notre programme ? La première chose serait de faire un exécutable contenant toutes les sources de notre projet sauf le fichier contenant la fonction main (main.cc) :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">add_executable( &nbsp;<br />
&nbsp; test-unit &nbsp;<br />
&nbsp; build/bspline.cpp &nbsp;<br />
&nbsp; ${source_files} &nbsp;<br />
) &nbsp;<br />
&nbsp;<br />
add_executable(mon-projet &nbsp;<br />
&nbsp; src/main.cc &nbsp;<br />
&nbsp; ${source_files} &nbsp;<br />
)</div></div>
<p>Vous comprenez au passage pourquoi j&rsquo;ai décidé de prendre l&rsquo;extension main.cc au lieu de cpp, quand je fais ma liste de sources :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">file( &nbsp;<br />
&nbsp; GLOB_RECURSE &nbsp;<br />
&nbsp; source_files &nbsp;<br />
&nbsp; src/*.cpp &nbsp;<br />
&nbsp; src/*.hpp &nbsp;<br />
&nbsp;)</div></div>
<p>Je prends ainsi automatiquement toutes les sources de mon projet sauf le fichier main.cc&#8230;</p>
<p>Le problème avec cette solution est qu&rsquo;elle va faire compiler tous nos fichiers deux fois (une fois pour test-unit et une autre fois pour mon-projet. Pour éviter cela il suffit de faire une bibliothèque statique temporaire et de la linker aux deux comme proposé dans ma solution ; ainsi les fichiers ne seront compilés qu&rsquo;une fois.</p>
<p>Et voilà, l&rsquo;intégration est terminée ! On peut sûrement amélioré tout ceci et je vous encourage à me contacter si vous avez trouvé quelque chose de plus élégant :).</p>
<p><em>Attention : </em>Bien sûr je suppose que vous avez mis dans les variables d&rsquo;environnements le dossier d&rsquo;include de CxxTest et le dossier racine pour trouver les scripts python. Voici comment c&rsquo;est chez moi :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">export PATH=$PATH:/home/tanek/Logiciels/cxxtest <br />
export CMAKE_INCLUDE_PATH=$CMAKE_INCLUDE_PATH:/home/tanek/Logiciels/cxxtest/cxxtest</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Découverte de CUDA</title>
		<link>https://blog.developpez.com/tanek/p7109/informatique/raytracer/decouverte_de_cuda</link>
		<comments>https://blog.developpez.com/tanek/p7109/informatique/raytracer/decouverte_de_cuda#comments</comments>
		<pubDate>Fri, 23 Jan 2009 00:27:25 +0000</pubDate>
		<dc:creator><![CDATA[tanek]]></dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[CUDA]]></category>
		<category><![CDATA[raytracer]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Cela faisait plusieurs mois que j&#8217;étais attiré par la technologie CUDA et ses possibilités. Je me suis donc lancé pendant les vacances de Noël à faire un raytracer en temps réel (comprendre par là plus de 24 images par seconde) en utilisant CUDA. CUDA et les ray-tracers Je m&#8217;étais déjà fait les dents sur un mini-raytracer en Java en suivant l&#8217;excellentissime tutoriel de LeGreg et j&#8217;étais arrivé aux performances de 700ms sur un simple rendu [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Cela faisait plusieurs mois que j&rsquo;étais attiré par la technologie CUDA et ses possibilités. Je me suis donc lancé pendant les vacances de Noël à faire un raytracer en temps réel (comprendre par là plus de 24 images par seconde) en utilisant CUDA.</p>
<p><span id="more-5"></span></p>
<p><strong>CUDA et les ray-tracers</strong></p>
<p>Je m&rsquo;étais déjà fait les dents sur un mini-raytracer en Java en suivant l&rsquo;excellentissime <a href="http://www.massal.net/article/raytrace/page1.html">tutoriel</a> de <a href="http://blog.developpez.com/legreg">LeGreg</a> et j&rsquo;étais arrivé aux performances de 700ms sur un simple rendu de 3 sphères avec une lumière en gérant les réflexions. Et comme d&rsquo;habitude, une fois le principe compris, je ne le finis pas et décida de passer à autre chose.</p>
<p>Mais, quelques mois plus tard, en lisant sur le forum <a href="http://ompf.org/forum/">ompf</a> (soi-dit en passant : une des meilleurs sources d&rsquo;informations pour le lancer de rayon en général) que certaines personnes avaient réussi à faire des raytracers en temps réel en CUDA. Là, la mouche me pique et je décide moi aussi d&rsquo;en faire un.</p>
<p>J&rsquo;ai donc commencé à me renseigner sur CUDA et 3 jours après j&rsquo;avais mes 3 boules sur l&rsquo;écran avec un rendu à 40 fps. Voici le résultat :</p>
<p><img src="http://ftp-developpez.com/julian-ibarz/blog/img/raytracing.png" alt="Capture d'écran du raytracer" title="Capture d'écran du raytracer" /></p>
<p>J&rsquo;étais donc satisfait : sans vraiment trop essayer d&rsquo;optimiser, j&rsquo;obtenais des performances bien meilleures que si je les avais faites sur un simple CPU (en sachant qu&rsquo;on peut faire beaucoup mieux). De plus, j&rsquo;ai été agréablement surpris par la transparence de CUDA et sa prise en main rapide.</p>
<p><strong>CUDA et le C++ (oui, oui&#8230; vous avez bien lu)</strong></p>
<p>Mais je ne me suis pas arrêté là, j&rsquo;ai décidé de pousser le compilateur nvcc jusqu&rsquo;à ses derniers retranchements après avoir découvert la bibliothèque <a href="http://code.google.com/p/stdcuda/">stdcuda</a> qui utilise CUDA avec du langage C++ et des templates ! En effet, officiellement, CUDA supporte le langage C avec quelques extensions dans les fonctions qui seront exécutées dans la carte graphique.</p>
<p>Que Nenni ! CUDA supporte en fait presque tout le C++ mis à part le polymorphisme (en effet, à cause de l&rsquo;architecture GPU, c&rsquo;est très difficile de faire du polymorphisme). Vous pouvez donc utiliser presque toute la puissance du C++ notamment la surcharge des opérateurs (j&rsquo;aime mes classes Real3 et Matrix4 dans mon code CUDA&#8230;) ce qui permet de simplifier énormément votre code et de le factoriser au maximum sans rien perdre en performance. Néanmoins, CUDA étant jeune, j&rsquo;ai réussi à faire planter le compilateur sur certains bouts de code et il faut avouer que parfois les messages d&rsquo;erreurs qu&rsquo;il nous renvoie sont carrément inutiles ou nous font chercher au mauvais endroit, ce qui est encore pire.</p>
<p><strong>CUDA et la non-édition de liens (oui, oui&#8230; là aussi vous avez bien lu :D)</strong></p>
<p>Dernier soucis et pas des moindres, CUDA ne supporte pas l&rsquo;édition de liens à la compilation. Vous ne pourrez donc pas séparer votre code en plusieurs fichiers .cu (vous pouvez par contre avoir autant de fichiers de déclarations que vous voulez) ou alors vous devrez vous assurer de tous les inclure dans un seul fichier (workaround dégueulasse, mais workaround qui fonctionne)&#8230; C&rsquo;est bien dommage mais je pense que dans les prochaines versions cette limitation sera corrigée, il n&rsquo;y a pas de raison.</p>
<p>En résumé : essayez CUDA ! Ce ne sera pas une perte de temps !</p>
<p><strong>Récupération du code source</strong></p>
<p>Vous pouvez récupérer le code source <a href="http://gitorious.org/projects/personal-julian-ibarz/repos/mainline">ici</a>. Ou essayez une de ces commandes :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">git clone git://gitorious.org/personal-julian-ibarz/mainline.git <br />
git clone http://git.gitorious.org/personal-julian-ibarz/mainline.git</div></div>
<p>Il y a également un viewer de source par navigateur web sur le site web.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDE pour Qt en C++</title>
		<link>https://blog.developpez.com/tanek/p6770/informatique/langage/c/ide_pour_qt_en_c</link>
		<comments>https://blog.developpez.com/tanek/p6770/informatique/langage/c/ide_pour_qt_en_c#comments</comments>
		<pubDate>Mon, 10 Nov 2008 19:10:29 +0000</pubDate>
		<dc:creator><![CDATA[tanek]]></dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Il est dépriment de voir à quel point les IDE libres pour le langage C++ sont si peu avancés. En tout cas pas au point d&#8217;égaler les IDEs Netbeans et Eclipse pour Java. Néanmoins, il existe maintenant des plug-ins C/C++ pour Netbeans et Eclipse et bien que celui de Netbeans ne soit pas encore très avancé (la complétion ne marche pas encore très bien), celui d&#8217;Eclipse est beaucoup plus stable (bien que la complétion des [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il est dépriment de voir à quel point les IDE libres pour le langage C++ sont si peu avancés. En tout cas pas au point d&rsquo;égaler les IDEs Netbeans et Eclipse pour Java. Néanmoins, il existe maintenant des plug-ins C/C++ pour Netbeans et Eclipse et bien que celui de Netbeans ne soit pas encore très avancé (la complétion ne marche pas encore très bien), celui d&rsquo;Eclipse est beaucoup plus stable (bien que la complétion des classes génériques n&rsquo;ait pas l&rsquo;air de fonctionner). Il permet de faire du refactoring notamment renommer une classe, une variable, etc. ou de savoir dans quelles parties du code une méthode/fonction est utilisée, toute ces choses qui font augmenter la productivité et facilitent la vie du programmeur.</p>
<p>Et pour ceux qui utilisent Qt, il existe même un add-on pour importer un projet .pro automatiquement et faire pleins d&rsquo;autres choses. Seulement cela ne marche pas avec les dernières versions de logiciels et vous avez peut-être rencontré cette erreur :</p>
<blockquote><p>
Unable to satisfy dependency from com.trolltech.qtcpp.feature.feature.group 1.4.3 to requiredCapability: org.eclipse.equinox.p2.iu/com.trolltech.qtcpp.linux.x86/[4.4.1,4.4.1].</p></blockquote>
<p>Nous allons voir comment résoudre ce problème.</p>
<p><span id="more-4"></span></p>
<p>Tout d&rsquo;abord je vous réfère à la documentation existante pour installer la dernière version :</p>
<p>http://labs.trolltech.com/blogs/2007/07/11/develop-qt-applications-in-eclipse</p>
<p>Ensuite une fois que vous avez fait tout ce qu&rsquo;il faut, lors de l&rsquo;activation du plugin Qt, l&rsquo;intégration plante avec le message d&rsquo;erreur donné précédemment. Le problème vient du fait qu&rsquo;il attend la version 4.4.1 de com.trolltech.qtcpp.linux.x86 alors que si vous allez dans votre répertoire de eclipse vous trouverez la version 4.4.2 (eclipse/plugins/com.trolltech.qtcpp.linux.x86_4.4.2). Pour se faire, il suffit de modifier le fichier eclipse/features/com.trolltech.qtcpp.feature_1.4.3/feature.xml et de lui dire que ce n&rsquo;est pas la version 4.4.1 qu&rsquo;il doit attendre mais la 4.4.2 et le tour est joué !</p>
<p>Voici la modification à faire :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp;&lt;plugin <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id=&quot;com.trolltech.qtcpp.linux.x86&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;os=&quot;linux&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ws=&quot;gtk&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;arch=&quot;x86&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;download-size=&quot;0&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;install-size=&quot;0&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;version=&quot;4.4.1&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fragment=&quot;true&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unpack=&quot;false&quot;/&gt; <br />
&nbsp;<br />
&nbsp; &nbsp;&lt;plugin <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id=&quot;com.trolltech.qtcpp.linux.x86_64&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;os=&quot;linux&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ws=&quot;gtk&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;arch=&quot;x86_64&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;download-size=&quot;0&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;install-size=&quot;0&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;version=&quot;4.4.1&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fragment=&quot;true&quot; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unpack=&quot;false&quot;/&gt;</div></div>
<p>Dans version changer la valeur 4.4.1 en 4.4.2.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction à VTK</title>
		<link>https://blog.developpez.com/tanek/p6210/informatique/bibliotheque/vtk/introduction_a_vtk</link>
		<comments>https://blog.developpez.com/tanek/p6210/informatique/bibliotheque/vtk/introduction_a_vtk#comments</comments>
		<pubDate>Fri, 15 Aug 2008 21:28:08 +0000</pubDate>
		<dc:creator><![CDATA[tanek]]></dc:creator>
				<category><![CDATA[VTK]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;en profite de l&#8217;ouverture de ce blog pour vous informer de la mise à jour de mon article sur la bibliothèque scientifique VTK. Au programme la compilation de VTK avec mingw sous windows et quelques corrections d&#8217;orthographe. Je vous rappelle le liens : http://julian-ibarz.developpez.com/tutoriels/jeux/introduction-VTK/ Bonne lecture ! PS : J&#8217;hésite à faire un article sur l&#8217;utilisation de VTK en Java. Si cela vous intéresse n&#8217;hésitez pas à me contacter pour me motiver ;).]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;en profite de l&rsquo;ouverture de ce blog pour vous informer de la mise à jour de mon article sur la bibliothèque scientifique VTK. Au programme la compilation de VTK avec mingw sous windows et quelques corrections d&rsquo;orthographe. Je vous rappelle le liens :</p>
<p>http://julian-ibarz.developpez.com/tutoriels/jeux/introduction-VTK/</p>
<p>Bonne lecture !</p>
<p>PS : J&rsquo;hésite à faire un article sur l&rsquo;utilisation de VTK en Java. Si cela vous intéresse n&rsquo;hésitez pas à me contacter pour me motiver ;).</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortie de jCAE 0.16</title>
		<link>https://blog.developpez.com/tanek/p6255/informatique/bibliotheque/sortie_de_jcae_0_16</link>
		<comments>https://blog.developpez.com/tanek/p6255/informatique/bibliotheque/sortie_de_jcae_0_16#comments</comments>
		<pubDate>Fri, 22 Aug 2008 18:34:47 +0000</pubDate>
		<dc:creator><![CDATA[tanek]]></dc:creator>
				<category><![CDATA[Bibliothèque]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Je vous annonce la version 0.16 de jCAE parce que c&#8217;est moi qui l&#8217;ait faite en grande partie pendant mon stage chez EADS :D. jCAE est un environnement codé en Java pour des applications de CAO. Il est distribué sous la licence libre LGPL. Il propose un logiciel de maillage et de visualisation de CAOs ainsi qu&#8217;un binding Java de la célèbre librairie C++ OpenCascade. Il est utilisé par les équipes de Recherche &#38; Développement [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je vous annonce la version 0.16 de <a href="http://jcae.sourceforge.net">jCAE</a> parce que c&rsquo;est moi qui l&rsquo;ait faite en grande partie pendant mon stage chez EADS :D.</p>
<p>jCAE est un environnement codé en Java pour des applications de CAO. Il est distribué sous la licence libre LGPL. Il propose un logiciel de maillage et de visualisation de CAOs ainsi qu&rsquo;un binding Java de la célèbre librairie C++ <a href="http://www.opencascade.org/">OpenCascade</a>. Il est utilisé par les équipes de Recherche &amp; Développement de EADS notamment pour faire de la simulation acoustique et électromagnétique.</p>
<p>Le plus gros du travail a été sa migration vers la bibliothèque <a href="http://www.vtk.org">VTK</a> qui permet de corriger certains bugs et de rajouter certaines fonctionnalités demandées.</p>
<p>Voici les nouveautés en détail :</p>
<ul>
<li>Remplacement de Java3D par VTK.</li>
<li>Sélection dans l&rsquo;arbre qui met en surbrillance la géométrie dans la vue 3D.
</li>
<li>Sélection des faces, patchs et points pour les CAOs.
</li>
<li>Sélection des triangles dans les maillages.
</li>
<li>Rajout de bindings occjava pour importer des labels dans les fichiers STEP.
</li>
<li>Sélection par rectangle élastique dans la vue 3D.
</li>
<li>Migration vers Netbeans 6.1.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
