Table of Contents

Commit 2015-07-31

Ceci est un commit de visualisation. Le code source a juste été compilé sur chaque station et la batterie n'a pas été lancée.

Modifications - Scalar/Vector Field

Afin de préparer mon prochain commit (affichage de champ vectoriel de contact), je suis repassé sur les classes gérant l'affichage des scalar/vector fields.

Au lieu d'utiliser la fonction SetScalars() ou SetVectors(), il est préférable de faire de cette manière là :

        if(!scalarData)
        {
            scalarData = vtkDoubleArray::New();
            scalarData->SetNumberOfComponents(1);
            scalarData->SetName("ScalarData");
        }
        
        Remplir scalarDate 
        
        scalarData->Modified();
        dataset->GetPointData()->AddArray(scalarData);
        //Cette méthode est plus flexible ! 
        dataset->GetPointData()->SetActiveScalars("ScalarData");

Comme ça, il est possible aisément de récupérer les valeurs scalaires ou vectorielles dans un autre contexte pour faire une colorMap par exemple.

Il faut savoir que les filtres VTK peuvent écraser des données de l'inputData pour insérer les valeurs calculées dans l'outputData. Par exemple, l'object vtkVectorNorm() travaille sur les vecteurs de l'inputData et écrase les valeurs scalaires de l'inputData pour insérer les normes des vecteurs. Dès lors, on se retrouve avec un outputData sans les valeurs scalaires initiales (que l'on désire garder pour faire une colorMap par exemple en aval du filtre).

Suite à cette modification là, j'ai pu enlever la classe d'affichage des valeurs de champ scalaire de contact.

Divers

J'ai structuré les fichiers d'option de la visualisation en fonction des widgets de la fenêtre BWIN. (VizOptionID.h et cpp, VizOptionSet.cpp)

C'est un peu plus clair !

Fichiers ajoutés/supprimés

[a]:
[r]:mtDrawables/ContactScalarFieldValuesLabel.cpp
[r]:mtDrawables/ContactScalarFieldValuesLabel.h

Tests ajoutés/supprimés

[r]:
[a]:

Gaëtan WAUTELET 2015/07/31