escript Revision_
weipa.h
Go to the documentation of this file.
1
2/*****************************************************************************
3*
4* Copyright (c) 2003-2020 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-2017 by Centre for Geoscience Computing (GeoComp)
14* Development from 2019 by School of Earth and Environmental Sciences
15**
16*****************************************************************************/
17
18#ifndef __WEIPA_H__
19#define __WEIPA_H__
20
21#ifndef VISIT_PLUGIN
22#include <escript/DataTypes.h>
23#endif
24
25#include <string>
26#include <vector>
27#include <map>
28#include <boost/shared_ptr.hpp>
29
30#ifdef ESYS_MPI
31#define WEIPA_HAVE_MPI 1
32#endif
33
34#if WEIPA_HAVE_MPI
35#include <mpi.h>
36#endif
37
38#define WEIPA_DLL_API
39
40#ifdef _WIN32
41# ifndef WEIPA_STATIC_LIB
42# undef WEIPA_DLL_API
43# ifdef WEIPA_EXPORTS
44# define WEIPA_DLL_API __declspec(dllexport)
45# else
46# define WEIPA_DLL_API __declspec(dllimport)
47# endif
48# endif
49#endif
50
51namespace weipa {
52
53class DataVar;
54class DomainChunk;
55class ElementData;
56class EscriptDataset;
57class NodeData;
58
59typedef std::vector<float> FloatVec;
60typedef std::vector<int> IntVec;
61typedef std::vector<std::string> StringVec;
62typedef std::vector<float*> CoordArray;
63typedef std::map<int, size_t> IndexMap;
64
65typedef boost::shared_ptr<DataVar> DataVar_ptr;
66typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
67typedef boost::shared_ptr<ElementData> ElementData_ptr;
68typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
69typedef boost::shared_ptr<NodeData> NodeData_ptr;
70
71typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
72typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
73
74} // namespace weipa
75
76#endif // __WEIPA_H__
77
Definition: DataVar.cpp:51
std::vector< float > FloatVec
Definition: weipa.h:59
std::vector< std::string > StringVec
Definition: weipa.h:61
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:67
boost::shared_ptr< EscriptDataset > EscriptDataset_ptr
Definition: weipa.h:68
std::vector< int > IntVec
Definition: weipa.h:60
boost::shared_ptr< const EscriptDataset > const_EscriptDataset_ptr
Definition: weipa.h:72
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:66
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:69
std::vector< float * > CoordArray
Definition: weipa.h:62
std::map< int, size_t > IndexMap
Definition: weipa.h:63
boost::shared_ptr< const DomainChunk > const_DomainChunk_ptr
Definition: weipa.h:71
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:65