escript  Revision_4925
DataFactory.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2014 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
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 
18 #if !defined escript_DataFactory_20040721_H
19 #define escript_DataFactory_20040721_H
20 
21 #ifdef BADPYTHONMACROS
22 // This hack is required for BSD/OSX builds with python 2.7
23 // (and possibly others). It must be the first include.
24 // From bug reports online it seems that python redefines
25 // some c macros that are functions in c++.
26 // c++ doesn't like that!
27 #include <Python.h>
28 #undef BADPYTHONMACROS
29 #endif
30 
31 
32 #include "system_dep.h"
33 
34 #include "AbstractDomain.h"
35 #include "FunctionSpace.h"
36 #include "Data.h"
37 
38 #include <boost/python/object.hpp>
39 
40 namespace escript {
41 
58 ESCRIPT_DLL_API Data
59 Scalar(double value,
60  const FunctionSpace& what=FunctionSpace(),
61  bool expanded=false);
62 
68 ESCRIPT_DLL_API Data
69 Vector(double value,
70  const FunctionSpace& what=FunctionSpace(),
71  bool expanded=false);
72 
74 Data
75 VectorFromObj(boost::python::object o,
76  const FunctionSpace& what=FunctionSpace(),
77  bool expanded=false);
78 
84 ESCRIPT_DLL_API Data
85 Tensor(double value,
86  const FunctionSpace& what=FunctionSpace(),
87  bool expanded=false);
88 
90 Data
91 TensorFromObj(boost::python::object o,
92  const FunctionSpace& what=FunctionSpace(),
93  bool expanded=false);
99 ESCRIPT_DLL_API Data
100 Tensor3(double value,
101  const FunctionSpace& what=FunctionSpace(),
102  bool expanded=false);
103 
105 Data
106 Tensor3FromObj(boost::python::object o,
107  const FunctionSpace& what=FunctionSpace(),
108  bool expanded=false);
109 
115 ESCRIPT_DLL_API Data
116 Tensor4(double value,
117  const FunctionSpace& what=FunctionSpace(),
118  bool expanded=false);
119 
121 Data
122 Tensor4FromObj(boost::python::object o,
123  const FunctionSpace& what=FunctionSpace(),
124  bool expanded=false);
125 
130 ESCRIPT_DLL_API Data
131 load(const std::string fileName,
132  const AbstractDomain& domain);
137 ESCRIPT_DLL_API bool
139 
147 ESCRIPT_DLL_API Data
148 convertToData(const boost::python::object& value,
149  const FunctionSpace& what=FunctionSpace());
150 
151 
152 } // end of namespace
153 
154 #endif
Data Tensor4(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.
Definition: DataFactory.cpp:147
bool loadConfigured()
returns true if the load funtion is configured.
Definition: DataFactory.cpp:423
Data Tensor3FromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:123
Data Tensor4FromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:156
Data convertToData(const boost::python::object &value, const FunctionSpace &what)
Tries to convert value into a Data object on FunctionSpace what. If value is already a Data object...
Definition: DataFactory.cpp:433
Data Vector(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing vector data-points. ie: rank 1 data-points.
Definition: DataFactory.cpp:46
Data Tensor3(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.
Definition: DataFactory.cpp:114
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:181
Data Scalar(double value, const FunctionSpace &what, bool expanded)
A collection of factory functions for creating Data objects which contain data points of various shap...
Definition: DataFactory.cpp:35
Data TensorFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:90
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:64
Data Tensor(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor datapoints. ie: rank 2 data-points.
Definition: DataFactory.cpp:79
Data VectorFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:55