Gyoto
|
Class template to implement parts of the Gyoto::Object API. More...
#include <GyotoPython.h>
Public Member Functions | |
Object (const Object &o) | |
virtual void | set (std::string const &key, Value val) |
virtual void | set (Property const &p, Value val) |
virtual void | set (Property const &p, Value val, std::string const &unit) |
virtual Value | get (std::string const &key) const |
Value | get (Property const &p, std::string const &unit) const |
Value | get (Property const &p) const |
virtual int | setParameter (std::string name, std::string content, std::string unit) |
virtual void | fillElement (Gyoto::FactoryMessenger *fmp) const |
void | setParameters (Gyoto::FactoryMessenger *fmp) |
virtual std::string | module () const |
Return module_. | |
virtual void | module (const std::string &) |
Set module_ and import the Python module. | |
virtual std::string | inlineModule () const |
Return inline_module_. | |
virtual void | inlineModule (const std::string &) |
Set inline_module_ and import the Python module. | |
virtual std::string | klass () const |
Retrieve class_. | |
virtual void | klass (const std::string &c) |
Set class_ and instantiate the Python class. | |
virtual std::vector< double > | parameters () const |
Retrieve parameters_. | |
virtual void | parameters (const std::vector< double > &) |
Set parameters_ and send them to pInstance_. | |
virtual bool | hasPythonProperty (std::string const &key) const |
virtual void | setPythonProperty (std::string const &key, Value val) |
virtual Value | getPythonProperty (std::string const &key) const |
virtual int | pythonPropertyType (std::string const &key) const |
Protected Attributes | |
std::string | module_ |
Name of the Python module that holds the class. | |
std::string | inline_module_ |
Python source code for module that holds the class. | |
std::string | class_ |
Name of the Python class that we want to expose. | |
std::vector< double > | parameters_ |
Parameters that this class needs. | |
PyObject * | pModule_ |
Reference to the python module once it has been loaded. | |
PyObject * | pInstance_ |
Reference to the python instance once it has been instantiated. | |
PyObject * | pProperties_ |
Reference to the properties member. | |
PyObject * | pSet_ |
Reference to the (optional) Set method. | |
PyObject * | pGet_ |
Reference to the (optional) Get method. | |
Class template to implement parts of the Gyoto::Object API.
|
virtualinherited |
Return inline_module_.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Set inline_module_ and import the Python module.
Side effects:
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Retrieve class_.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Set class_ and instantiate the Python class.
Sets pInstance_.
This generic implementation takes care of the common ground, but does not set 'this' or call parameters(parameters_). Therefore, all the derived classes should reimplement this method and at least call Python::Base::klass(c) and parameters(parameters_). Between the two is the right moment to check that the Python class implements the required API and to cache PyObject* pointers to class methods.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Return module_.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Set module_ and import the Python module.
Side effects:
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Retrieve parameters_.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
virtualinherited |
Set parameters_ and send them to pInstance_.
The parameters are sent to the class instance using the setitem method with numerical keys.
Reimplemented in Gyoto::Spectrum::Python, Gyoto::Metric::Python, Gyoto::Astrobj::Python::Standard, and Gyoto::Astrobj::Python::ThinDisk.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |