Hello,
If you do a Computree core code update AND if you have created new items classes in your plugin, it could not compile anymore.
To solve it, go in the .h of each item class, and replace the following line :
CT_TYPE_IMPL_MACRO(CT_ItemClassName, CT_ParentClassName)
by :
CT_TYPE_IMPL_MACRO(CT_ItemClassName, CT_ParentClassName, Item name)
Item name can be any string (don't put quotes around it, it is a compiler macro), which you want to be displayed for describing this class in the GUI.
This change allow Computree to show an intelligible name for item classes instead of class names from the code.
If you use templated item classes, you can ask me for help or check how it is done in CT_Image2D class.
Best regards.
Alexandre Piboule.
English (le Français suit)¶
Hello,
We have changed the way dependencies are managed in Computree. Indeed:
- We found that the system with .ini files and running a script for build of .pri files was not intuitive, and often led to misuse.
- The number of optional dependent libraries increases quickly.
Therefore in the last update, .ini files and .pri creation script are no longer used.
Instead when installing Computree, we directly put .pri files containing paths of librairies.
LibName_default_path.pri files are provided by default (and must not be modified), and correspond to the standard paths used by libraries installers.
Otherwise, it is possible to make a copy and rename it LibName_user_path.pri, to specify custom paths (this files is versioned and can be changed at will).
The installation process for Windows has been updated accordingly: Code source et compilation
The following dependencies are currently available:
- OSG : Used by ComputreeGui only (OpenGL component)
- PCL : to use it in your plugin, add “MUST_USE_PCL = 1” (the plugin does not compile if PCL is absent) or “CHECK_CAN_USE_PCL = 1” (the plugin does compile even if PCL is absent) in the .pro file of your plugin.
- OpenCV : to use it in your plugin, add “MUST_USE_OPENCV = 1” (the plugin does not compile if OpenCV is absent) or “CHECK_CAN_USE_OPENCV = 1” (the plugin does compile even if OpenCV is absent) in the .pro file of your plugin.
- GDAL : to use it in your plugin, add “MUST_USE_GDAL = 1” (the plugin does not compile if GDAL is absent) or “CHECK_CAN_USE_GDAL = 1” (the plugin does compile even if GDAL is absent) in the .pro file of your plugin.
- GSL : to use it in your plugin, add “MUST_USE_GSL = 1” (the plugin does not compile if GSL is absent) or “CHECK_CAN_USE_GSL = 1” (the plugin does compile even if GSL is absent) in the .pro file of your plugin.
Best regards.
Alexandre Piboule.
Français¶
Bonjour,
Nous avons modifié la façon dont les dépendances sont gérés dans Computree. En effet :
- Nous avons constaté que le système avec des fichiers .ini et l’exécution du script de génération des .pri était non intuitive, et aboutissait souvent à une mauvaise utilisation.
- Le nombre de librairies dépendantes optionnelles augmente rapidement.
Par conséquent dans la dernière mise à jour les fichiers .ini et le script de création des .pri ne sont plus utilisés.
En lieu et place lors de l’installation on met directement des fichiers .pri contenant les chemins d’accès utiles à la dépendance.
Des fichiers NomDeLaLib_default_path.pri sont fournis par défaut (et ne doivent en aucun cas être modifiés), et correspondent aux chemins standard utilisés par les installeurs des librairies.
Sinon, il est possible d’en faire une copie nommée NomDeLaLib_user_path.pri afin de spécifier des chemins personnalisés (ce fichier, non versionné peut être modifié à volonté sur chaque poste).
La procédure d’installation sous Windows a été mise à jour en conséquence : Code source et compilation
Les dépendances suivantes sont actuellement disponibles :
- OSG : Utilisée par ComputreeGui uniquement (composant OpenGL)
- PCL : pour l’utiliser dans votre plugin, ajoutez “MUST_USE_PCL = 1” (le plugin ne compile pas si PCL est absent) ou “CHECK_CAN_USE_PCL = 1” (le plugin compile quand même si PCL est absent) au début du fichier .pro de votre plugin.
- OpenCv : pour l’utiliser dans votre plugin, ajoutez “MUST_USE_OPENCV = 1” (le plugin ne compile pas si OpenCV est absent) ou “CHECK_CAN_USE_OPENCV = 1” (le plugin compile quand même si OpenCV est absent) au début du fichier .pro de votre plugin.
- GDAL : pour l’utiliser dans votre plugin, ajoutez “MUST_USE_GDAL = 1” (le plugin ne compile pas si GDAL est absent) ou “CHECK_CAN_USE_GDAL = 1” (le plugin compile quand même si GDAL est absent) au début du fichier .pro de votre plugin.
- GSL : pour l’utiliser dans votre plugin, ajoutez “MUST_USE_GSL = 1” (le plugin ne compile pas si GSL est absent) ou “CHECK_CAN_USE_GSL = 1” (le plugin compile quand même si GSL est absent) au début du fichier .pro de votre plugin.
Cordialement.
Alexandre Piboule.
Bonjour,
En prévision de la future release, je viens de modifier l'organisation des plugins de base :
- Le plugin ONF a été créé et regroupe les étapes réalisées par l’ONF
- Le plugin ARTSFREE a été créé et regroupe les étapes réalisées par l’ENSAM (ARTS) (en dehors des étapes qui sont restées dans le plugin base bien sur)
- Du coup le plugin base a été très fortement allégé (étapes migrées dans plugin ONF), pour ne conserver que les readers, les exporters et les étapes très génériques de gestion. Les autres étapes et actions ont été transférées dans le plugin ONF.
- Du coup également, le plugin onfensamv2 a été supprimé, et son contenu transféré vers les plugins ONF et ARTSFREE
En terme de gestion de dépôts il faut donc :
Cordialement.
Alexandre Piboule.
Bonjour à tous,
la prochaine mise à jour de CompuTree va intégrer la librairie OpenSceneGraph en lieu et place de QGLViewer pour la visualisation 3D. Celle-ci permettra nous l’espérons de régler les problèmes de visualisation que beaucoup d’entre vous rencontre. De plus la fluidité de l’affichage est amélioré et le picking (qui demande encore des optimisations et quelques modifications mineures) n’est plus dépendant d’OpenGL donc ne devrai plus causer de problème en fonction des drivers de la carte graphique.
Plusieurs changements à prendre en compte dans cette mise à jour :
- Vos plugins ne seront pas impactés (vous n’avez pas à changer votre code) sauf si vous utilisiez l’octree pour le picking (je pense notamment à Fred Theveny), dans ce cas il faut repasser sur du picking normal à l’aide des méthodes de la GraphicsViewInterface “setSelectRegionWidth”, “setSelectRegionHeight”, “setSelectionMode” et “select(const QPoint& point)”
- Les includes permettant d’utiliser PCL, GDAL, OPENCV et OpenSceneGraph doivent être générés avant d’ouvrir le projet CompuTree ou vos plugins pour la première fois (ou si vous changer l’emplacement des librairies dans les fichiers use_XXX.ini). Pour les générés il faut lancer le script XXX_launchAllScripts.XXX dans le dossier “scripts” de computreev3
- Afin d’utiliser OpenSceneGraph simplement sans avoir à le compiler nous avons déposé dans l’onglet “Documents” sur http://rdinnovation.onf.fr/projects/computreedevtools/documents un fichier 7zip à décompresser dans “c:\Program Files” (pour les utilisateurs windows) . Pour les utilisateurs linux il faut malheureusement compilé OpenSceneGraph vous même pour le moment (voir http://trac.openscenegraph.org/projects/osg/wiki/Support/GettingStarted). J’essaierais de mettre une version compilé dans l’onglet “Documents” rapidement pour la dernière version d’Ubuntu. Si vous compilez vous même OpenSceneGraph il faut créer un fichier “use_osg.ini” dans le dossier “Computree3.0” contenant les chemins vers les dossiers d’OpenSceneGraph compilé, exemple :
“C:/opencv/build/include”
“C:/opencv/build/x64/vc12/lib”
Toujours mettre les guillemets et les slash dans le sens de l’exemple que vous soyer sur windows/linux/mac. Puis il vous suffit de lancer le script XXX_launchAllScripts.XXX dans le dossier “scripts” de computreev3 et ouvrir par la suite votre projet.
La prochaine mise à jour ne sera peut être pas exempt de bug donc attendez si vous souhaitez avoir une version stable.
Re-Bonjour,
Une autre modification qui a été intégrée récemment dans Computree concerne l’utilisation de la carte graphique.
Pour ne pas avoir de problème d’affichage, après un checkout ou une grosse update, il faut désormais exécuter le script situé dans le répertoire : computreev3/scripts (une version par système).
Ce script a deux fonctions :
- Copier des shaders graphiques dans le répertoire ComputreeInstall
- Générer les fichiers de traduction (pour cette partie le script doit être lancé depuis une invite de commande ayant dans le path lrelease et lupdate de Qt)
Cordialement.
Alexandre Piboule.
Bonjour,
Comme indiqué dans la précédente annonce, nous avons modifié Computree, pour gérer de façon transparente les points ayant des coordonnées à grand nombre de chiffres significatifs (typiquement lorsqu’ils sont dans une projection géographique).
Cette opération a aussi permis d’intégrer complètement la librairie de calcul matriciel Eigen dans Computree.
L’opération est terminée globalement (même si les tests continuent et qu’il y a quelques ajustements à la marge à prévoir dans les semaines à venir).
Les plugins doivent être adaptés pour pouvoir être compilés dans cette nouvelle version.
L'adaptation a été faite par mes soins pour les plugins suivants :
- Plugin AMAP - topo
- Plugin Base (PB)
- Plugin Generate (GEN)
- Plugin ToolKit (TK)
- Plugin ONF - ENSAM (OE)
- Plugin ONF - LSIS (OL)
- Plugin LVox (LVOX)
- Plugin Lerfob
Pour les plugins suivants, le travail reste à faire :
- Plugin AMAP - topo
- Plugin ComputeProfiles (Florentin : faut-il maintenir ce plugin ?)
- Plugin Geometree
- Plugin IFP - LSIS (IFP)
- Projet Kodama
Pour les développeurs de ces plugins, je suis à votre disposition pour :
- Soit prendre en charge moi-même les modifications (dans ce cas faire un commit et me le signaler, que je travailles bien sur la dernière version du code)
- Soit vous accompagner pour que vous fassiez les changements vous-même si vous préférez
N.B. : Des docs développeurs sont en cours de réalisation par Michaël Krebs : Gestion des points et Gestion de Maillages
Cordialement.
Alexandre Piboule.
Je vous incite à ne pas mettre à jour le dépôt Computreev3 pendant les deux semaines à venir.
En effet, nous sommes en train d’améliorer le système de gestion des offsets (coordonnées à grand nombre de chiffres significatifs) pour le rendre plus opérationnel.
Pendant cette période il risque d’y avoir des problèmes de compilation transitoires.
Je referai une annonce quand ce sera prêt, et je contacterai individuellement les développeurs de plugins potentiellement concernés par les modifications (peu d’impacts a priori).
Cordialement.
Alexandre Piboule.
Computree est compilable sous les environnements suivants :
- Windows 64 bits, compilateur MSVC 2013 express 64 bits
- Ubuntu 14.04
- Ubunut 12.04
Les plugins suivants ont également été testés/ mis à jour sur ces configurations et fonctionnent correctement :
- base
- onf ensam
- onf lsis
- toolkit
- generate
- lerfob
- lvox
Pour les autres plugins, il faut faire quelques corrections si vous utilisez des CT_Point (liées au passage à eigen pour les CT_Point) :
point.x ⇒ point(CT_Point::X) OU point(0)
point.getX() ⇒ point(CT_Point::X) OU point(0)
point.data [0] ⇒ point [0]
Par contre, la compilation en windows 32 bits, avec MinGW32, est impossible et risque de le rester un moment (problème de compatibilité entre Eigen + Qt et ce compilateur).
Les versions exécutables de Computree pour Windows 32 bits seront donc désormais compilées avec MSVC 2013 express 32 bits.
Cordialement.
Alexandre Piboule.
Bonjour,
Avec l’intégration d’Eigen, nous avons des problèmes de compilation de computree sous certains environnements.
Je vous incites donc à ne pas faire de mise à jour après le commit 201 du projet computreev3, en attendant que nous trouvions une solution.
A priori c’est un bug de MinGW32 (et peut-être gcc) quand on utilise simultanément Qt et Eigen...
L’erreur qu’on obtient à la compilation est la suivante : cc1plus.exe:-1: erreur : out of memory allocating ... bytes
La compilation devrait a priori être fonctionnelle avec les commits suivants :
computreev3 : 201
plugintoolkit : 31
plugingenerate : 30
pluginonfensam : 240
Je referai une annonce dès que j’ai du nouveau.
Désolé pour le dérangement.
Cordialement.
Alexandre Piboule.
Bonjour,
Je viens de déplacer le message de Frédéric de “Computree/Bug Report” vers “ComputreeDevTools/Compilation Problems”.
MERCI à tous de faire attention à poster les problèmes de Compil dans le forum de ComputreeDevTools et surtout pas dans celui de Computree.
Sinon, votre message arrive dans les boites mail de 60 utilisateurs qui ne compilent jamais Computree...
Merci d’avance.
Cordialement.
Alexandre Piboule.