File: avtGGCMFileFormat.h

package info (click to toggle)
paraview 4.0.1-1~bpo70%2B1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy-backports
  • size: 526,572 kB
  • sloc: cpp: 2,284,430; ansic: 816,374; python: 239,936; xml: 70,162; tcl: 48,295; fortran: 39,116; yacc: 5,466; java: 3,518; perl: 3,107; lex: 1,620; sh: 1,555; makefile: 932; asm: 471; pascal: 228
file content (83 lines) | stat: -rw-r--r-- 2,878 bytes parent folder | download | duplicates (6)
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
73
74
75
76
77
78
79
80
81
82
83
// ************************************************************************* //
//                            avtGGCMFileFormat.h                           //
// ************************************************************************* //

#ifndef AVT_GGCM_FILE_FORMAT_H
#define AVT_GGCM_FILE_FORMAT_H

#include <avtMTSDFileFormat.h>

#include <vector>

class DBOptionsAttributes;
class vtkRectilinearGrid;

// ****************************************************************************
//  Class: avtGGCMFileFormat
//
//  Purpose:
//      Reads in GGCM files as a plugin to VisIt.
//
//  Programmer: tfogal -- generated by xml2avt
//  Creation:   Thu Jun 1 13:38:54 PST 2006
//
// ****************************************************************************

class avtGGCMFileFormat : public avtMTSDFileFormat
{
  public:
                       avtGGCMFileFormat(const char *, DBOptionsAttributes *);
    virtual           ~avtGGCMFileFormat();

    //
    // This is used to return unconvention data -- ranging from material
    // information to information about block connectivity.
    //
    // virtual void      *GetAuxiliaryData(const char *var, const char *type,
    //                                     int timestep, void *args, 
    //                                     DestructorFunction &);
    //

    //
    // If you know the times and cycle numbers, overload this function.
    // Otherwise, VisIt will make up some reasonable ones for you.
    //
    // virtual void        GetCycles(std::vector<int> &);
    // virtual void        GetTimes(std::vector<double> &);
    //

    virtual int            GetNTimesteps(void);

    virtual const char    *GetType(void)   { return "GGCM"; };
    virtual void           FreeUpResources(void); 

    virtual vtkDataSet    *GetMesh(int, const char *);
    virtual vtkDataArray  *GetVar(int, const char *);
    virtual vtkDataArray  *GetVectorVar(int, const char *);

    /** how VisIt gives subset contract info, to be used later */
    virtual void RegisterDataSelections(
                 const std::vector<avtDataSelection_p> &sels,
                 std::vector<bool> *selectionsApplied);


  protected:
    virtual void           PopulateDatabaseMetaData(avtDatabaseMetaData *, int);

    private:
        unsigned int dim[3]; /**< 3d field dimensions */
        char *fn_grid;       /**< grid filename, derived from data filename */

        /** subset contract information */
        std::vector<avtDataSelection_p> selList;
        std::vector<bool> *selsApplied;
        float min[3];    /**< minimums for {x,y,z} dimensions */
        float max[3];    /**< maximums for {x,y,z} dimensions */
        bool restricted; /**< should we obey min[],max[]? */

    private:
        /** reads selList && selsApplied to create a domain / area of data to
         * read in. */
        void SetupDomain();
};
#endif