<div dir="auto">self is the first parameter to instance methods.  I don’t know about class methods.  My guess is you might want instance methods, but it’s your design.</div><div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Jan 15, 2025 at 10:37 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="blue" vlink="purple" style="word-wrap:break-word">
<div class="m_1069092523486413611WordSection1">
<p class="MsoNormal">John,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks for responding.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So in the case of the code below, would the instance method be the “def creator(cls):” method? If so, would I think do the following: “def creator(cls, self):”<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Or am I not understanding what you are saying?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks,</p></div></div><div lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word"><div class="m_1069092523486413611WordSection1"><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Aaron<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank">yottzumm@gmail.com</a>> <br>
<b>Sent:</b> Wednesday, January 15, 2025 10:12 AM<br>
<b>To:</b> Extensible 3D (X3D) Graphics public discussion <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>><br>
<b>Cc:</b> Bergstrom, Aaron <<a href="mailto:aaron.bergstrom@und.edu" target="_blank">aaron.bergstrom@und.edu</a>><br>
<b>Subject:</b> Re: [x3d-public] Question about a Python and x3d.py Error message<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Aaron, AFAIK, you need “self” as the first parameter in your instance methods (not functions, of course).  I don’t know about class methods.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">If you’re familiar with Java or C++, this is similar to “this”.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Wed, Jan 15, 2025 at 10:02 AM Bergstrom, Aaron via x3d-public <<a href="mailto:x3d-public@web3d.org" target="_blank">x3d-public@web3d.org</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<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>
<p class="MsoNormal">_______________________________________________<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" target="_blank">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</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>