IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

affichage NUAGEde point VTK c++


Sujet :

C++

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut affichage NUAGEde point VTK c++
    bonjour,

    j'essai d'afficher nuage de point avec c++/vtk
    je prend en entrée un fichier .obj dont je prends les sommets pour l'afficher

    j'ai réussi la compile de l'application mais po de nuage de points sur l'ecran

    voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    data->SetPoints(points);
    	fclose(datei);
    	fprintf(stdout,"\n\n");
     
    	vtkCellArray *polys = vtkCellArray::New();
    	int iNo = points->GetNumberOfPoints();
    	//cout <<"I:"<<iNo<<endl;
    	for (int i=0; i<iNo; i++) 
    	{
    		polys->InsertNextCell(1,&i);
    		//cout <<"pol"<<polys<<endl;
    	}
    	data->SetPolys(polys);
    	//cout <<"pol"<<data<<endl;
    	polys->Delete();
     
    	// Now we'll look at it.
    	vtkPolyDataMapper *pointsMapper = vtkPolyDataMapper::New();
    	pointsMapper->SetInput(data);
    	vtkActor *pointsActor = vtkActor::New();
    	pointsActor->SetMapper(pointsMapper);
    	pointsActor->GetProperty()->SetRepresentationToPoints();
    	pointsActor->GetProperty()->SetPointSize(20);
    	pointsActor->GetProperty()->SetColor(0.0,0.5,1.0);
    	//actor->GetProperty()->SetPointSize(20)
     
    	// The usual rendering stuff.
    	vtkCamera *camera = vtkCamera::New();
    	camera->SetPosition(1,1,1);
    	camera->SetFocalPoint(0,0,0);
     
    	vtkRenderer *renderer = vtkRenderer::New();
    	vtkRenderWindow *renWin = vtkRenderWindow::New();
    	renWin->AddRenderer(renderer);
     
    	vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    	iren->SetRenderWindow(renWin);
     
    	renderer->AddActor(pointsActor);
     
    	//renderer->AddActor(surfaceActor);
    	renderer->SetActiveCamera(camera);
    	renderer->GetActiveCamera()->SetFocalPoint(0, 0, 0);
    	renderer->GetActiveCamera()->SetPosition(1, 0, 0);
    	renderer->GetActiveCamera()->SetViewUp(0, 0, 1);
    	renderer->ResetCamera();
    	renderer->GetActiveCamera()->Azimuth(20);
    	renderer->GetActiveCamera()->Elevation(30);
    	renderer->GetActiveCamera()->Dolly(1.2);
    	renderer->ResetCameraClippingRange();
    	renderer->SetBackground(1,1,1);
     
    	renWin->SetSize(300,300);
     
    	// interact with data
    	renWin->Render();
    	iren->Start();
     
    	// Clean up
    	pointsMapper->Delete();
    	pointsActor->Delete();
    	points->Delete();
    	data->Delete();
    	camera->Delete();
    	renderer->Delete();
    	renWin->Delete();
    	iren->Delete();
     
    	return 0;
    }
    ou est la faute :?

  2. #2
    Membre actif
    Inscrit en
    Mai 2005
    Messages
    348
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 348
    Points : 281
    Points
    281
    Par défaut
    Salut,

    Je ne connais pas particulièrement VTK mais ça me rappelle des petits soucis habituels que j'ai rencontré quand je tentais d'afficher des objets 3D (objets, caméra...) .

    1) Est ce que la fenêtre dans laquelle les points doivent apparaitre s'affiche?
    2) Si oui, es tu sure que les points générés sont dans le champ de vision de la caméra?
    3) Pas besoin d'une source de lumière par hasard?

  3. #3
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Bonjour,

    Je vais surement dire une bétise, car j'ai de vagues souvenirs de VTK. J'ai l'impression que tu "delete" tout directement après l'affichage, donc c'est normal que tu ne voies rien. Ne serai-il pas plus judicieux de mettre les Delete() dans un destructeur ?
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

Discussions similaires

  1. affichage de point sur un graphique
    Par oliv27400 dans le forum MATLAB
    Réponses: 6
    Dernier message: 23/06/2010, 16h00
  2. Réponses: 13
    Dernier message: 03/11/2008, 23h56
  3. Réponses: 19
    Dernier message: 13/08/2008, 09h37
  4. affichage de points contenus dans un arbre
    Par cliquet dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 08/05/2008, 16h49
  5. Paramétrage de l'affichage de points et de lignes
    Par ecthelion dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/09/2006, 14h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo