Hi, i've been trying to develop a Cython interface for a C++ graph cut
implementation.

I have one class named *GCOptimization* and a child class named *
GCoptimizationGeneralGraph* and except from the constructor all the others
methods belong to *GCOptimization. *Reading this thread (
http://wiki.cython.org/WrappingCPlusPlus) I found that I might have problems
calling those methods, actually i'm having "segmentation fault" problems and
I don't know if it is because i'm calling a method from a parent class or
something else.

for example, this is the class I defined (setDataCost method belongs to *
GCOptimization* not to* **GCoptimizationGeneralGraph)*

ctypedef struct c_GCoptimizationGeneralGraph "GCoptimizationGeneralGraph":
        void setDataCost(double *DataCost)

    c_GCoptimizationGeneralGraph *new_GCoptimizationGeneralGraph "new
GCoptimizationGeneralGraph" (int num_pixels,int num_labels)
    void del_newGCoptimizationGeneralGraph "delete"
(c_GCoptimizationGeneralGraph
*optimization)

cdef class GCoptimizationGeneralGraph:
    cdef c_GCoptimizationGeneralGraph *optimization
    def __new__(self, num_pixels, num_labels):
        self.optimization = new_GCoptimizationGeneralGraph(num_pixels,
num_labels)
    def __dealloc__(self):
        del_newGCoptimizationGeneralGraph(self.optimization)
    def setDataCost(self, dataCost):
        cdef double *temp = <double *>dataCost.data
        self.optimization.setDataCost(temp)

The question would be, could I have a problem with this? And in case I do,
how could I define the the parent/child relation in cython

Thanks,
Marco
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to