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 :

Compréhension du format VTk et VTU


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Février 2010
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 80
    Points : 58
    Points
    58
    Par défaut Compréhension du format VTk et VTU
    Pour un projet, je dois créer un programme qui écrit au format vtu (vtk en XML unstructuredGrid).

    J'ai commencé à faire un petit exemple de code qui fonctionne plus ou moins.
    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
    #include <vtkCellArray.h>
    #include <vtkPoints.h>
    #include <vtkXMLUnstructuredGridWriter.h>
    #include <vtkUnstructuredGrid.h>
    #include <vtkSmartPointer.h>
     
    #include <iostream>
     
    using namespace std;
    int main ( int argc, char *argv[] )
    {
      //Je crée les points de mon maillage
      vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New();
      for ( unsigned int i = 0; i < 5; i=i+2 )
        {
          for (unsigned int j = 0 ;j < 3; j=j+2)
          {
            for (unsigned int k = 0 ;k < 3 ;k=k+2)
            {
              points->InsertNextPoint ( i, j, k );
            }
          }
        }
     
       for ( unsigned int i = 4; i <6 ; i++ )
        {
          for (unsigned int j = 0 ;j < 2; j++)
          {
            for (unsigned int k = 0 ;k < 2 ; k++)
            {
              cout<<"i "<<i<<" j "<<j<<" k "<<k<<endl; 
              if (i == 4 && j == 0 && k== 0)
              {
                printf("ici\n");
              }
              else
              {
              points->InsertNextPoint ( i, j, k );
              }
            }
          }
        }
     
      //Je crée mon objet unstructuredGrid
      vtkSmartPointer<vtkUnstructuredGrid> unstructuredGrid = vtkSmartPointer<vtkUnstructuredGrid>::New();
      //Je crée mes cellules
      vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New();
      static vtkIdType cell[3][8]={{0,4,6,2,1,5,7,3},{4,8,10,6,5,9,11,7},{8,15,17,13,12,16,18,14}};
      cells->InsertNextCell(8,cell[0]);
      cells->InsertNextCell(8,cell[1]);
      cells->InsertNextCell(8,cell[2]);
     
      //Je mets mes points et mes cellules
      unstructuredGrid->SetPoints(points);
      unstructuredGrid->SetCells(12,cells);
     
     
      //Je crée l 'objet unstructuredgrid xml et j'écris le fichier
      vtkSmartPointer<vtkXMLUnstructuredGridWriter> writer = vtkSmartPointer<vtkXMLUnstructuredGridWriter>::New();
      writer->SetFileName("test.vtu");
      writer->SetInput(unstructuredGrid);
     
      writer->SetDataModeToAscii();
     
      writer->Write();
     
      return EXIT_SUCCESS;
    }
    J'obtiens le fichier suivant (voir pièce jointe). Je voudrais supprimer les lignes 4 et 5 du fichier vtu.
    <PointData> </PointData>
    <CellData> </CellData>
    Comment faire ?

    Et je voudrais pouvoir nommer mon tableau à la ligne 7 par Points.

    <DataArray type="Float32" Name="Array 0x9803b90" NumberOfComponents="3" format="ascii"
    Merci
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Format VTK (binaire)
    Par Heimdall dans le forum API graphiques
    Réponses: 1
    Dernier message: 30/04/2011, 16h12
  2. [ VTK / ParaView] Hiérarchie dans un fichier - format MultiBlock
    Par pbarrere dans le forum API graphiques
    Réponses: 2
    Dernier message: 28/06/2010, 12h46
  3. VTK et SGL avec C++ pour manipuler le format VRML ( maillage 3D et Texture)
    Par wafa_b dans le forum Développement 2D, 3D et Jeux
    Réponses: 22
    Dernier message: 19/01/2009, 18h30
  4. Réponses: 3
    Dernier message: 16/06/2008, 18h15
  5. Comment enregistrer dans un format texte compréhensible
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/08/2007, 12h35

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