escript  Revision_
weipa.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2016 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 #ifndef __WEIPA_H__
18 #define __WEIPA_H__
19 
20 #ifndef VISIT_PLUGIN
21 #include <escript/DataTypes.h>
22 #endif
23 
24 #include <string>
25 #include <vector>
26 #include <map>
27 #include <boost/shared_ptr.hpp>
28 
29 #ifdef ESYS_MPI
30 #define WEIPA_HAVE_MPI 1
31 #endif
32 
33 #if WEIPA_HAVE_MPI
34 #include <mpi.h>
35 #endif
36 
37 #define WEIPA_DLL_API
38 
39 #ifdef _WIN32
40 # ifndef WEIPA_STATIC_LIB
41 # undef WEIPA_DLL_API
42 # ifdef WEIPA_EXPORTS
43 # define WEIPA_DLL_API __declspec(dllexport)
44 # else
45 # define WEIPA_DLL_API __declspec(dllimport)
46 # endif
47 # endif
48 #endif
49 
50 namespace weipa {
51 
52 class DataVar;
53 class DomainChunk;
54 class ElementData;
55 class EscriptDataset;
56 class NodeData;
57 
58 typedef std::vector<float> FloatVec;
59 typedef std::vector<int> IntVec;
60 typedef std::vector<std::string> StringVec;
61 typedef std::vector<float*> CoordArray;
62 typedef std::map<int, size_t> IndexMap;
63 
64 typedef boost::shared_ptr<DataVar> DataVar_ptr;
65 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
66 typedef boost::shared_ptr<ElementData> ElementData_ptr;
67 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
68 typedef boost::shared_ptr<NodeData> NodeData_ptr;
69 
70 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
71 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
72 
73 } // namespace weipa
74 
75 #endif // __WEIPA_H__
76 
boost::shared_ptr< const EscriptDataset > const_EscriptDataset_ptr
Definition: weipa.h:71
std::vector< float * > CoordArray
Definition: weipa.h:61
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:65
std::vector< std::string > StringVec
Definition: weipa.h:60
Definition: NodeData.h:26
Definition: DataVar.cpp:39
std::vector< int > IntVec
Definition: weipa.h:59
std::map< int, size_t > IndexMap
Definition: weipa.h:62
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:64
boost::shared_ptr< EscriptDataset > EscriptDataset_ptr
Definition: weipa.h:67
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:66
boost::shared_ptr< const DomainChunk > const_DomainChunk_ptr
Definition: weipa.h:70
std::vector< float > FloatVec
Definition: weipa.h:56
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:68