Python 2.3 et VTK 4.2 sous Windows

Python 2.3 et VTK 4.2 sous Windows - Python - Programmation

Marsh Posté le 26-01-2004 à 23:38:44    

Hello,
quelqu'un arrive-t-il à utiliser VTK en Python sans avoir de plantage, en particulier avec wxPython ?
Si vous arrivez à exécuter sans pblm le script Python-2.3.3\Lib\site-packages\vtk_python\vtk\wx\wxVTKRenderWindow.py sur votre bécanne pouvez-vous me dire comment vous avez fait ?
Merci.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 26-01-2004 à 23:38:44   

Reply

Marsh Posté le 27-01-2004 à 00:46:04    

ché pas mais ça fonctionne au poil sous linux

Reply

Marsh Posté le 27-01-2004 à 02:30:11    

Voui je sais. VTK-Python a l'air assez délaissé sous Windows.
Je reprends un soft qui ne tourne que sous Linux mais théoriquement exécutable sous Windows : wxPython, VTK, C++ standard (mouai, enfin, à peu près standard).
Je suis à peu près arrivé à le porter, sauf qu'il plante quand on ferme l'application. Y'a pire, mais c'est gênant.
Je gratte je gratte, et pour l'instant j'en conclus que c'est wxPython et VTK qui cohabitent mal. J'ai fais mon petit wrapper et j'ai drois à une runtime exception : "pure virtual function call".
Je sais pas d'où ça vient...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 27-01-2004 à 02:33:37    

tu as tenté avec un debugger ? histoire au moins de savoir d'où ça vient ?

Reply

Marsh Posté le 27-01-2004 à 13:25:25    

J'ai carrément recompilé python en debug et exécuté depuis Visual. J'ai un plantage au nivo d'une décrémentation de référence mais avec la tone de macros j'ai pas trop trouvé, surtotu qu'après ça plante dans la lib standard au niveau des accès fichiers... Ca fleure bon le truc moisi. J'ai décidé d'abandonner l'approche par le bas et de tenter une approche par le haut = isoler le code Python qui plante. J'arrive à ne plus faire planter Python.exe mais il me déclenche une exception apel de function virtuelle pure. Va savoir laquelle (wxWindows, VTK ?).


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 27-01-2004 à 13:27:27    

passe à Linux
 
et n'exclus pas un bug du compilateur


Message édité par Taz le 27-01-2004 à 13:27:58
Reply

Marsh Posté le 29-01-2004 à 01:18:43    

lol, non je ne passe pas à Linux :p
Porter le soft sous Win fait partie du boulot.
J'ai enfin trouvé le bug (on m'a aidé), apparement c'est un problème avec OpenGL sous Windows. Y'en a qui disent que c'est la faute à OpenGL sous Windows, d'autres que c'est un bug dans le Win32RenderWindow de VTK.
Ce qui fait planter l'appli, c'est de détruire la fenetre VTK alors qu'elle possède des objets visualisés (et qu'elle se trouve à l'intérieur d'une autre fenêtre, une fenêtre wxWindows dans mon cas). Apparement y'a l'ordre de destruction qui va pas. Je sais pas exactement la cause, mais voici la solution : avant de détruire la fenêtre, il faut effacer tous les objets VTK qui sont visulisés.
Voici le bout de code que j'ai utilisé :

Code :
  1. renderers = self.wxVTKRenWin.GetRenderWindow().GetRenderers()
  2.         numRenderers = renderers.GetNumberOfItems()
  3.         renderers.InitTraversal()
  4.         for i in range(0,numRenderers):
  5.             renderer = renderers.GetNextItem()
  6.             renderer.RemoveAllProps()


 
Now ça marche. Ce problème est apparement en cours de résolution.
Voilou.
Merci pour ton aide.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 29-01-2004 à 01:36:40    

tu peux faire ça propre en paramètrant atexit et en faisant des del à tout va (meme del vtk)

Reply

Marsh Posté le 29-01-2004 à 15:51:07    

Dans le __del__ j'ai testé c'est déjà trop tard je crios.
Cela dit j'ai fais ça très vite car 1h après j'avais une démo...
Actuellement, c'est dans une fonction clean appelée dans le close juste avant le destroy. Je vais tester toutes les possibilités.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 15-03-2005 à 15:02:32    

HelloWorld a écrit :

Hello,
quelqu'un arrive-t-il à utiliser VTK en Python sans avoir de plantage, en particulier avec wxPython ?
Si vous arrivez à exécuter sans pblm le script Python-2.3.3\Lib\site-packages\vtk_python\vtk\wx\wxVTKRenderWindow.py sur votre bécanne pouvez-vous me dire comment vous avez fait ?
Merci.


 
Salut,  :hello:  
Moi aussi je tente désespérement de faire tourner sous Windows Xp vtk 4.2   wrapper en python(2.3) et afficher grâce à pygtk, mais impossible de faire tourner les exemples.  :??:  
Vaut-il le coup d'utiliser python enthought 2.3.3 qui inclut directement Vtk 4.2. Il serait bien possible que les wrappers pour python soit fiable.
 
Qu'en pensez?
Quelqu'un a-t-il essayé python enthought 2.3.3 et fait marcher vtk avec?
 
Merci de vos réponses  :jap:  
 
Mon erreur est la suivante.
j'ai mis à jour mon PATH de variables d'environnement avec %VTKDIR%\bin et créer le chemin VTKDIR.
PythonWin 2.3.4 (#53, Oct 18 2004, 20:35:07) [MSC v.1200 32 bit (Intel)] on win32.
Portions Copyright 1994-2004 Mark Hammond (mhammond@skippinet.com.au) - see 'Help/About PythonWin' for further copyright information.
Traceback (most recent call last):
  File "C:\Python23\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Program Files\vtk42\Wrapping\Python\vtkpython.py", line 7, in ?
    from vtk import *
  File "C:\Program Files\vtk42\Wrapping\Python\vtk\__init__.py", line 7, in ?
    from common import *
  File "C:\Program Files\vtk42\Wrapping\Python\vtk\common.py", line 9, in ?
    from vtkCommonPython import *
ImportError: DLL load failed: Le module spécifié est introuvable.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed