This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/freestyle/intern/python/Convert.cpp
Maxime Curioni 96e52b09da soc-2008-mxcurioni: Reimplemented the Freestyle Python API's files to be correctly used as classes and not submodules. Added and integrated object lifecycle functions (__new__, __alloc__, __repr__) for the previous classes: BinaryPredicate0D, BinaryPredicate1D, Id, Interface0D, Interface1D. All of these classes were tested within Blender's Python interpreter with simple test cases and their getter/setters were corrected.
Interface0DIterator was modified to allow BPy_Interface1D to be instantiated: verticesBegin(), verticesEnd(), pointsBegin(float) and pointsEnd(float) are not pure virtual functions anymore. If they are called directly from  BPy_Interface1D (instead of its subclasses), an error message is displayed.
2008-07-15 01:07:19 +00:00

64 lines
1.8 KiB
C++

#include "Convert.h"
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////////////////
static char M_Convert_doc[] = "The Blender.Freestyle.Convert utility submodule";
/*----------------------Freestyle module method def----------------------------*/
struct PyMethodDef M_Convert_methods[] = {
// {"testOutput", ( PyCFunction ) Freestyle_testOutput, METH_NOARGS, "() - Return Curve Data name"},
{NULL, NULL, 0, NULL}
};
//-------------------MODULE INITIALIZATION--------------------------------
PyObject *Convert_Init( void )
{
return Py_InitModule3( "Blender.Freestyle.Convert", M_Convert_methods, M_Convert_doc );
}
//-------------------------------------------------------------------------
PyObject *PyBool_from_bool( bool b ){
// SWIG_From_bool
return PyBool_FromLong( b ? 1 : 0);
}
PyObject *Vector_from_Vec2f( Vec2f vec ) {
float vec_data[2]; // because vec->_coord is protected
vec_data[0] = vec.x(); vec_data[1] = vec.y();
return newVectorObject( vec_data, 2, Py_NEW);
}
PyObject *Vector_from_Vec3f( Vec3f vec ) {
float vec_data[3]; // because vec->_coord is protected
vec_data[0] = vec.x(); vec_data[1] = vec.y(); vec_data[2] = vec.z();
return newVectorObject( vec_data, 3, Py_NEW);
}
PyObject *Vector_from_Vec3r( Vec3r vec ) {
float vec_data[3]; // because vec->_coord is protected
vec_data[0] = vec.x(); vec_data[1] = vec.y(); vec_data[2] = vec.z();
return newVectorObject( vec_data, 3, Py_NEW);
}
PyObject *BPy_Id_from_Id( Id id ) {
BPy_Id *py_id;
py_id = (BPy_Id *) Id_Type.tp_new( &Id_Type, 0, 0 );
py_id->id->setFirst( id.getFirst() );
py_id->id->setSecond( id.getSecond() );
return (PyObject *)py_id;
}
///////////////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
}
#endif