Mesh::FeaturePythonPy Class Reference

The python export class for Feature. More...

#include <FeaturePythonPy.h>

Inheritance diagram for Mesh::FeaturePythonPy:
Mesh::MeshFeaturePy App::DocumentObjectPy App::PropertyContainerPy Base::PersistencePy Base::BaseClassPy Base::PyObjectBase

List of all members.

Public Types

typedef FeaturePointerType

Public Member Functions

PyObject_getattr (char *attr)
 GetAttribute implementation This method implements the retriavel of object attributes.
virtual PyObject_repr (void)
 _repr method Overide this method to return a string object with some invormation about the object.
int _setattr (char *attr, PyObject *value)
 SetAttribute implementation This method implements the seting of object attributes.
 FeaturePythonPy (Feature *pcObject, PyTypeObject *T=&Type)
PyObjectgetCustomAttributes (const char *attr) const
 getter method for special attributes (e.g. dynamic ones)
FeaturegetFeaturePtr (void) const
 getter for the object handled by this class
virtual PyParentObjectGetParents (void)
virtual PyTypeObject * GetType (void)
virtual int PyInit (PyObject *args, PyObject *k)
 PyInit method Overide this method to initialize a newly created instance of the class (Constuctor).
std::string representation (void) const
int setCustomAttributes (const char *attr, PyObject *obj)
 setter for special attributes (e.g. dynamic ones)
 ~FeaturePythonPy ()

Static Public Member Functions

static PyObjectPyMake (struct _typeobject *, PyObject *, PyObject *)

Static Public Attributes

static PyGetSetDef GetterSetter []
 Attribute structure of FeaturePythonPy.
static PyMethodDef Methods []
 Methods structure of FeaturePythonPy.
static PyParentObject Parents [] = { PARENTSMeshFeaturePythonPy }
static PyTypeObject Type
 Type structure of FeaturePythonPy.

callbacks and implementers for the python object methods



PyObjectaddProperty (PyObject *args)
 implementer for the addProperty() method
PyObjectsupportedProperties (PyObject *args)
 implementer for the supportedProperties() method
static PyObjectstaticCallback_addProperty (PyObject *self, PyObject *args)
 callback for the addProperty() method
static PyObjectstaticCallback_supportedProperties (PyObject *self, PyObject *args)
 callback for the supportedProperties() method

Detailed Description

The python export class for Feature.

Definition at line 20 of file Mod/Mesh/App/FeaturePythonPy.h.


Member Typedef Documentation

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 36 of file Mod/Mesh/App/FeaturePythonPy.h.


Constructor & Destructor Documentation

FeaturePythonPy::FeaturePythonPy ( Feature pcObject,
PyTypeObject *  T = &Type 
)

Definition at line 257 of file Mod/Mesh/App/FeaturePythonPy.cpp.

FeaturePythonPy::~FeaturePythonPy (  ) 

Definition at line 278 of file Mod/Mesh/App/FeaturePythonPy.cpp.


Member Function Documentation

PyObject * FeaturePythonPy::_getattr ( char *  attr  )  [virtual]

GetAttribute implementation This method implements the retriavel of object attributes.

If you want to implement attributes in your class, reimplement this method. You have to call the method of the base class. Note: if you reimplement _gettattr() in a inheriting class you need to call the method of the base class! Otherwise even the methods of the object will disapiear!

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 293 of file Mod/Mesh/App/FeaturePythonPy.cpp.

References Base::Console(), getCustomAttributes(), Methods, Base::Exception::ReportException(), and Base::Exception::what().

PyObject * FeaturePythonPy::_repr ( void   )  [virtual]

_repr method Overide this method to return a string object with some invormation about the object.

 PyObject *MeshFeaturePy::_repr(void)
 {
   std::stringstream a;
   a << "MeshFeature: [ ";
   a << "some realy important info about the object!";
   a << "]" << std::endl;
   return Py_BuildValue("s", a.str().c_str());
 }

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 285 of file Mod/Mesh/App/FeaturePythonPy.cpp.

References representation().

int FeaturePythonPy::_setattr ( char *  attr,
PyObject value 
) [virtual]

SetAttribute implementation This method implements the seting of object attributes.

If you want to implement attributes in your class, reimplement this method. You have to call the method of the base class.

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 361 of file Mod/Mesh/App/FeaturePythonPy.cpp.

References Base::Console(), Base::Exception::ReportException(), setCustomAttributes(), and Base::Exception::what().

PyObject * FeaturePythonPy::addProperty ( PyObject args  ) 
PyObject * FeaturePythonPy::getCustomAttributes ( const char *  attr  )  const
Feature * FeaturePythonPy::getFeaturePtr ( void   )  const

getter for the object handled by this class

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 420 of file Mod/Mesh/App/FeaturePythonPy.cpp.

References Base::PyObjectBase::_pcTwinPointer.

Referenced by addProperty(), getCustomAttributes(), and setCustomAttributes().

virtual PyParentObject* Mesh::FeaturePythonPy::GetParents ( void   )  [inline, virtual]

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 28 of file Mod/Mesh/App/FeaturePythonPy.h.

virtual PyTypeObject* Mesh::FeaturePythonPy::GetType ( void   )  [inline, virtual]

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 27 of file Mod/Mesh/App/FeaturePythonPy.h.

int FeaturePythonPy::PyInit ( PyObject ,
PyObject  
) [virtual]

PyInit method Overide this method to initialize a newly created instance of the class (Constuctor).

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 270 of file Mod/Mesh/App/FeaturePythonPy.cpp.

PyObject * FeaturePythonPy::PyMake ( struct _typeobject *  ,
PyObject ,
PyObject  
) [static]

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 262 of file Mod/Mesh/App/FeaturePythonPy.cpp.

std::string FeaturePythonPy::representation ( void   )  const

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 37 of file Mod/Mesh/App/FeaturePythonPyImp.cpp.

Referenced by _repr().

int FeaturePythonPy::setCustomAttributes ( const char *  attr,
PyObject obj 
)

setter for special attributes (e.g. dynamic ones)

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 102 of file Mod/Mesh/App/FeaturePythonPyImp.cpp.

References App::PropertyContainer::getDynamicPropertyByName(), getFeaturePtr(), Base::BaseClass::setPyObject(), and Base::Exception::what().

Referenced by _setattr().

PyObject * FeaturePythonPy::staticCallback_addProperty ( PyObject self,
PyObject args 
) [static]
PyObject * FeaturePythonPy::staticCallback_supportedProperties ( PyObject self,
PyObject args 
) [static]
PyObject * FeaturePythonPy::supportedProperties ( PyObject args  ) 

Member Data Documentation

PyGetSetDef FeaturePythonPy::GetterSetter [static]
Initial value:
 {
    {NULL, NULL, NULL, NULL, NULL}              
}

Attribute structure of FeaturePythonPy.

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 25 of file Mod/Mesh/App/FeaturePythonPy.h.

PyMethodDef FeaturePythonPy::Methods [static]
Initial value:
 {
    {"addProperty",
        (PyCFunction) staticCallback_addProperty,
        METH_VARARGS,
        "addProperty(string, string) -- Add a generic property.\nThe first argument specifies the type, the second the\nname of the property.\n         "
    },
    {"supportedProperties",
        (PyCFunction) staticCallback_supportedProperties,
        METH_VARARGS,
        "A list of supported property types"
    },
    {NULL, NULL, 0, NULL}               
}

Methods structure of FeaturePythonPy.

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 24 of file Mod/Mesh/App/FeaturePythonPy.h.

Referenced by _getattr().

PyParentObject FeaturePythonPy::Parents = { PARENTSMeshFeaturePythonPy } [static]

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 26 of file Mod/Mesh/App/FeaturePythonPy.h.

PyTypeObject FeaturePythonPy::Type [static]

Type structure of FeaturePythonPy.

Reimplemented from Mesh::MeshFeaturePy.

Definition at line 23 of file Mod/Mesh/App/FeaturePythonPy.h.


The documentation for this class was generated from the following files:

Generated on Wed Nov 23 19:02:20 2011 for FreeCAD by  doxygen 1.6.1