Esempio n. 1
0
    def test_mClassConversion_r9(self):
        n1 = cgmMeta.cgmNode(name='test_setClass', nodeType='transform')
        self.assertEqual(type(n1), cgmMeta.cgmNode)

        n1 = r9Meta.convertMClassType(n1, 'cgmObject')
        self.assertEqual(type(n1), cgmMeta.cgmObject)

        n1 = r9Meta.convertMClassType(n1, 'cgmControl')
        self.assertEqual(type(n1), cgmMeta.cgmControl)

        n1 = r9Meta.convertMClassType(n1, 'MetaClass')
        self.assertEqual(type(n1), r9Meta.MetaClass)

        n1.delete()
Esempio n. 2
0
    def test_mClassConversion_cgm(self):
        _str_grp = mc.group(em=True)

        n1 = cgmMeta.cgmNode(_str_grp)
        n1 = r9Meta.convertMClassType(n1, 'cgmControl')

        self.assertEqual(type(n1), cgmMeta.cgmControl)

        n1 = cgmMeta.validateObjArg(n1.mNode, 'cgmObject', setClass=True)
        self.assertEqual(type(n1), cgmMeta.cgmObject)

        n1 = cgmMeta.validateObjArg(n1.mNode, 'cgmControl', setClass=True)
        self.assertEqual(type(n1), cgmMeta.cgmControl)

        n1.delete()
Esempio n. 3
0
o3  #...it's gonna reuturn as a MetaClass because it's mClass is unknown
cgmMeta.cgmNode(
    'invalidMClass'
)  #...I can also call it as a cgmNode with no issue because no valid mClass is set
o3.mClass = 'cgmNode'  #...if i set it's mClass to a known mClass however
r9Meta.MetaClass(
    'invalidMClass'
)  #...it's gonna now always return as a cgmNode as it's a valid mClass value

#...so, long story short. Manually changing a node's mClass attribute is not a reliable method of changing the type it instantiates to
#...The right way...

#r9's method
n3 = r9Meta.MetaClass(nodeType='network',
                      name='r9Convert')  #...let's make one via meta call
r9Meta.convertMClassType(
    n3, 'cgmNode')  #... This converts our node to a cgmNode type

#cgm's Method
cgmMeta.validateObjArg(
    n3.mNode, 'MetaClass', setLogLevel='debug'
)  #...this initially wont' change because our current class is a subclass of MetaClass, trust that this is a feature and not a bug
cgmMeta.validateObjArg(
    n3.mNode, 'MetaClass', setClass=True, setLogLevel='debug'
)  #...this pass will get it as we have our setClass flag on
cgmMeta.validateObjArg(
    n3.mNode, 'cgmNode', setClass=True,
    setLogLevel='info')  #...convert it back and get out of debug

#==============================================================================================
#>> Data storage
#==============================================================================================
Esempio n. 4
0
#...what if we give a node an unknown mClass?
mc.createNode('network', n = 'invalidMClass')#...let's make a null via cmd call
mc.addAttr ('invalidMClass', ln = 'mClass', dt = 'string')
mc.setAttr('invalidMClass.mClass','noIdea',type = 'string')
o3 = r9Meta.MetaClass('invalidMClass')#...and instantiating it
o3#...it's gonna reuturn as a MetaClass because it's mClass is unknown
cgmMeta.cgmNode('invalidMClass')#...I can also call it as a cgmNode with no issue because no valid mClass is set
o3.mClass = 'cgmNode'#...if i set it's mClass to a known mClass however
r9Meta.MetaClass('invalidMClass')#...it's gonna now always return as a cgmNode as it's a valid mClass value

#...so, long story short. Manually changing a node's mClass attribute is not a reliable method of changing the type it instantiates to 
#...The right way...

#r9's method
n3 = r9Meta.MetaClass(nodeType='network', name='r9Convert')#...let's make one via meta call
r9Meta.convertMClassType(n3,'cgmNode')#... This converts our node to a cgmNode type

#cgm's Method
cgmMeta.validateObjArg(n3.mNode,'MetaClass',setLogLevel = 'debug')#...this initially wont' change because our current class is a subclass of MetaClass, trust that this is a feature and not a bug
cgmMeta.validateObjArg(n3.mNode,'MetaClass',setClass = True, setLogLevel = 'debug')#...this pass will get it as we have our setClass flag on
cgmMeta.validateObjArg(n3.mNode,'cgmNode',setClass = True, setLogLevel = 'info')#...convert it back and get out of debug

#==============================================================================================
#>> Data storage
#==============================================================================================
mc.file(new=True,f=True)#...let's start with a clean file
#Go to the outliner and make sure DAG objects only is off

n1 = r9Meta.MetaClass(nodeType='network', name='r9Example')#...let's make one via meta call

#>>Json =========================================================================