OOF2: The Manual
Name
PropertyOutput — Compute Property-dependent data on a Mesh
C++ Synopsis
#include "engine/IO/propertyoutput.h"class PropertyOutput {const std::string& name() const;
double getFloatParam(char* name) const;
int getIntParam(char* name) const;
std::string getStringParam(char* name) const;
std::string getEnumParam(char* name) const;
std::string getRegisteredParamName(char* name) const;
}
Description
PropertyOutput
objects are created by
the OOF2 Output
machinery when computing Property
-dependent
output quantities. The objects are passed as arguments to
Property::output()
.
They should never be explicitly created by the authors of
OOF2 extensions, so the constructor syntax isn't discussed
here.
The role of the PropertyOutput
class is
simply to inform the Property
of which
output quantity it's supposed to compute.
Methods
const std::string& name() const
This returns the name of the
PropertyOutput
, as specified in its
PropertyOutputRegistration
.
In many cases, this is all that the
Property
needs to know in order to
compute the desired quantities.
double getFloatParam(char *name) const
If the PropertyOutputRegistration
for this PropertyOutput
included a
floating point parameter (FloatParameter
),
then the value of that parameter can be retrieved by calling
getFloatParam
. The argument is the
name of the parameter. If the parameter can't be found,
getFloatParam
will throw an
exception which will be caught when control returns to the
Python interpreter.
The argument to getFloatParam
is a
char*
instead of a std::string
because that's what the Python API functions expect to see.
int getIntParam(char *name) const
getIntParam
is just like getFloatParam
,
but it fetches the value of a IntParameter
.
std::string getStringParam(char *name) const
getStringParam
is just like getFloatParam
,
but it fetches the value of a StringParameter
.
std::string getEnumParam(char *name) const
getEnumParam
is just like getFloatParam
,
but it fetches the value of a EnumParameter
.
Actually, it technically returns the
name of the value, since the value is a
Python object.
std::string getRegisteredParamName(char *name) const
getRegisteredParamName
is just like
getEnumParam
,
but for RegisteredParameter
parameters. The parameter's value is a RegisteredClass
object. getRegisteredParamName
calls the object's name()
function
and returns the result.