ESYS13  Revision_
DataFactory.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 #if !defined escript_DataFactory_20040721_H
00016 #define escript_DataFactory_20040721_H
00017 #include "system_dep.h"
00018 
00019 #include "AbstractDomain.h"
00020 #include "FunctionSpace.h"
00021 #include "Data.h"
00022 
00023 #include <boost/python/object.hpp>
00024 
00025 namespace escript {
00026 
00043 ESCRIPT_DLL_API Data
00044 Scalar(double value,
00045        const FunctionSpace& what=FunctionSpace(),
00046        bool expanded=false);
00047 
00053 ESCRIPT_DLL_API Data
00054 Vector(double value,
00055        const FunctionSpace& what=FunctionSpace(),
00056        bool expanded=false);
00057 
00058 ESCRIPT_DLL_API
00059 Data
00060 VectorFromObj(boost::python::object o,
00061     const FunctionSpace& what=FunctionSpace(),
00062     bool expanded=false);
00063 
00069 ESCRIPT_DLL_API Data
00070 Tensor(double value,
00071        const FunctionSpace& what=FunctionSpace(),
00072        bool expanded=false);
00073 
00074 ESCRIPT_DLL_API
00075 Data
00076 TensorFromObj(boost::python::object o,
00077     const FunctionSpace& what=FunctionSpace(),
00078     bool expanded=false);
00084 ESCRIPT_DLL_API Data
00085 Tensor3(double value,
00086         const FunctionSpace& what=FunctionSpace(),
00087         bool expanded=false);
00088 
00089 ESCRIPT_DLL_API
00090 Data
00091 Tensor3FromObj(boost::python::object o,
00092     const FunctionSpace& what=FunctionSpace(),
00093     bool expanded=false);
00094 
00100 ESCRIPT_DLL_API Data
00101 Tensor4(double value,
00102         const FunctionSpace& what=FunctionSpace(),
00103         bool expanded=false);
00104 
00105 ESCRIPT_DLL_API
00106 Data
00107 Tensor4FromObj(boost::python::object o,
00108     const FunctionSpace& what=FunctionSpace(),
00109     bool expanded=false);
00110 
00115 ESCRIPT_DLL_API Data 
00116 load(const std::string fileName,
00117      const AbstractDomain& domain);
00122 ESCRIPT_DLL_API bool
00123 loadConfigured();
00124 
00132 ESCRIPT_DLL_API Data
00133 convertToData(const boost::python::object& value,
00134               const FunctionSpace& what=FunctionSpace());
00135 
00136 
00137 } // end of namespace
00138 
00139 #endif