<div dir="auto">Aaron, AFAIK, you need “self” as the first parameter in your instance methods (not functions, of course).  I don’t know about class methods.</div><div dir="auto"><br></div><div dir="auto">If you’re familiar with Java or C++, this is similar to “this”.</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Jan 15, 2025 at 10:02 AM Bergstrom, Aaron via x3d-public <<a href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="m_-3404282210171103160WordSection1">
<p class="MsoNormal">I need help troubleshooting a x3d.py error message.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">In developing a Python version of the Rawkee X3D exporter plugin for Maya, I am attempting to create nodes that inherit from both the Maya Python API 2.0 and x3d.py<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">As such, I have a question about python and multiple class inheritance, and an error I am seeing. Admittedly, I am not the strongest Python programmer.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I am getting the following error when I execute the Python code in Maya, and I’m pretty sure I do not of the __init__() function setup correctly.<u></u><u></u></p>
<p style="margin:0in"><u></u> <u></u></p>
<p style="margin:0in"># Error: TypeError: file C:\Users\<a href="http://user.name" target="_blank">user.name</a>\AppData\Roaming\Python\Python311\site-packages\x3d\x3d.py line 14984: Scene.hasChild() missing 1 required positional argument: 'self' #<u></u><u></u></p>
<p style="margin:0in"><u></u> <u></u></p>
<p style="margin:0in">Can anyone with some Python experience give me an idea of what I am doing wrong here?<u></u><u></u></p>
<p style="margin:0in"><u></u> <u></u></p>
<p style="margin:0in">Here is the code:<u></u><u></u></p>
<p style="margin:0in">#################################################################<u></u><u></u></p>
<p class="MsoNormal">import x3d<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">import maya.api.OpenMaya as aom<u></u><u></u></p>
<p class="MsoNormal">import maya.api.OpenMayaUI as aomui<u></u><u></u></p>
<p class="MsoNormal">import maya.api.OpenMayaRender as aomr<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"># import xmltodict<u></u><u></u></p>
<p class="MsoNormal"># import json<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">class X3DScene (aom.MPxNode, x3d.Scene):<u></u><u></u></p>
<p class="MsoNormal">    TYPE_NAME    = "Scene"<u></u><u></u></p>
<p class="MsoNormal">    TYPE_ID      = aom.MTypeId(0x00108FFF)<u></u><u></u></p>
<p class="MsoNormal">    PROFILE_TYPE = "Full"<u></u><u></u></p>
<p class="MsoNormal">    VERSION      = "4.0"<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">    def __init__(self):<u></u><u></u></p>
<p class="MsoNormal">        super(X3DScene, self).__init__()<u></u><u></u></p>
<p class="MsoNormal">        <u></u><u></u></p>
<p class="MsoNormal">    @classmethod<u></u><u></u></p>
<p class="MsoNormal">    def creator(cls):<u></u><u></u></p>
<p class="MsoNormal">        return X3DScene()<u></u><u></u></p>
<p class="MsoNormal">        <u></u><u></u></p>
<p class="MsoNormal">    @classmethod<u></u><u></u></p>
<p class="MsoNormal">    def initialize(cls):<u></u><u></u></p>
<p class="MsoNormal">        cls.x3dDoc = x3d.X3D(profile=cls.PROFILE_TYPE, version=cls.VERSION)<u></u><u></u></p>
<p class="MsoNormal">        cls.x3dDoc.Scene = cls<u></u><u></u></p>
<p class="MsoNormal">        #######################################################<u></u><u></u></p>
<p class="MsoNormal">        # Test dump to make sure the class works as expected<u></u><u></u></p>
<p class="MsoNormal">        #print(json.dumps(xmltodict.parse(cls.x3dDoc.XML()), indent=4))<u></u><u></u></p>
<p class="MsoNormal">        print(cls.x3dDoc.XML())<u></u><u></u></p>
</div>
</div>

_______________________________________________<br>
x3d-public mailing list<br>
<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a><br>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" rel="noreferrer" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
</blockquote></div></div>