New method not available from python

I’ve added a new method to GraphicOutput class. It is included in libdisplay.in. But when I try to use it from python it says that object has no such attribute
Is there anything special I have to do?

In C++, class-methods have these prefixes:

public:

private:

protected:

Interrogate adds a fourth category:

PUBLISHED:

Which is actually a macro that expands into “public:”. But when interrogate scans the header file, it sees PUBLISHED as a request to export the method to python.

Yes, I know that. I’ve placed method in PUBLISHED section. It must be something else…

Go ahead and paste the entire class definition, including your method, into a CODE block here in the forum. Maybe I can see the problem.

There are additional restrictions on what kinds of functions can be exported to Python. For instance, Python cannot see any method that includes an object type it knows nothing about. It also cannot see any method that passes primitive types by reference, e.g. foo(int &x) or foo(int *x), since Python doesn’t have a pass-by-reference ability for primitive types. Finally, Python cannot see methods that pass a C-style array, because a Python list is really nothing like a C-style array.

David

Actually, it was something completely different. I had two builds of Panda installed. One was from Panda installer and second was built from sources (with my changes). The problem was that python was referencing the first build…