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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
/////////////////////////////////////////////////////////////
// //
// Copyright (c) 2003-2011 by The University of Queensland //
// Earth Systems Science Computational Centre (ESSCC) //
// http://www.uq.edu.au/esscc //
// //
// Primary Business: Brisbane, Queensland, Australia //
// Licensed under the Open Software License version 3.0 //
// http://www.opensource.org/licenses/osl-3.0.php //
// //
/////////////////////////////////////////////////////////////
#include <boost/version.hpp>
#include <boost/python.hpp>
#include "Python/esys/lsm/FieldSaverPrmsPy.h"
namespace esys
{
namespace lsm
{
FieldSaverPrmsPy::FieldSaverPrmsPy(
const std::string &fieldName,
const std::string &fileName,
const std::string &fileFormat,
int beginTimeStep,
int endTimeStep,
int timeStepIncr
) :
m_fieldName(fieldName),
m_fileName(fileName),
m_fileFormat(fileFormat),
m_beginTimeStep(beginTimeStep),
m_endTimeStep(endTimeStep),
m_timeStepIncr(timeStepIncr)
{
}
using boost::python::arg;
void exportFieldSaverPrms()
{
// Check that Boost 1.34.0 or higher is being used.
// If so, disable auto-generation of C++ signatures for Epydoc
// (which stumbles over indentation in the auto-generated strings).
#if ((BOOST_VERSION / 100000 >= 1) \
&& (BOOST_VERSION / 100 % 1000 >= 34)) \
|| (BOOST_VERSION / 100000 >= 2)
boost::python::docstring_options no_autogen(true,false);
#endif
boost::python::class_<FieldSaverPrmsPy>(
"FieldSaverPrms",
"Base class for parameters related to saving model data.",
boost::python::init<
const std::string &,
const std::string &,
const std::string &,
int,
int,
int
>(
(
arg("fieldName"),
arg("fileName"),
arg("fileFormat"),
arg("beginTimeStep"),
arg("endTimeStep"),
arg("timeStepIncr")
),
"Base class for field saver parameters.\n"
"@type fieldName: string\n"
"@kwarg fieldName: Name of a data-field.\n"
"@type fileName: string\n"
"@kwarg fileName: Name of the file where the data is saved.\n"
"@type fileFormat: string\n"
"@kwarg fileFormat: Format of the data which is saved to file.\n"
"@type beginTimeStep: int\n"
"@kwarg beginTimeStep: Time step when first data is saved.\n"
"@type endTimeStep: int\n"
"@kwarg endTimeStep: Time step when last data is saved.\n"
"@type timeStepIncr: int\n"
"@kwarg timeStepIncr: Number of time steps between data saves.\n"
)
)
.def(
"getFieldName",
&FieldSaverPrmsPy::getFieldName,
boost::python::return_value_policy<
boost::python::copy_const_reference
>(),
"Returns name of save field.\n"
"@rtype: string\n"
"@return: Field name\n"
)
.def(
"getFileName",
&FieldSaverPrmsPy::getFileName,
boost::python::return_value_policy<
boost::python::copy_const_reference
>(),
"Returns name of file where data is to be saved.\n"
"@rtype: string\n"
"@return: File name.\n"
)
.def("getFileFormat",
&FieldSaverPrmsPy::getFileFormat,
boost::python::return_value_policy<
boost::python::copy_const_reference
>(),
"Returns format of saved data.\n"
"@rtype: string\n"
"@return: Name of saved data format."
)
.def(
"getBeginTimeStep",
&FieldSaverPrmsPy::getBeginTimeStep,
"Returns time step when data is first saved.\n"
"@rtype: int\n"
"@return: Time step."
)
.def(
"getEndTimeStep",
&FieldSaverPrmsPy::getEndTimeStep,
"Returns time step when data is last saved.\n"
"@rtype: int\n"
"@return: Time step."
)
.def(
"getTimeStepIncr",
&FieldSaverPrmsPy::getTimeStepIncr,
"Returns number of time steps between data saves.\n"
"@rtype: int\n"
"@return: number of time steps."
)
;
}
}
}
|