Description:This is our root metaClass which almost all other cgmMetaClasses are descendants of. It itself is a subclass of r9Meta.MetaClass and thus inherits all functions added to the core Red9 metaclass

Superclass : r9Meta.MetaClass
Subclass:  cgmObject, cgmObjectSet
Location: cgm.core.cgm_Meta.cgmNode


  • node (string)- Node to initialize
  • name (string) -Name for the node
  • nodeType– (string) – type of node to create if it doesn’t exist
  • setClass – (bool) – whether to set the mClass attribute on initialization


  • p_referencePrefix– (getReferencePrefix ) – get the reference prefix
  • p_nameBase – clean name string
  • p_nameLong – node long name
  • p_nameShort – node short name
  • p_parent – get/set parent of an object (set only currently on cgmObject)

What are the differences between a cgmMeta.cgmNode and a r9Meta.MetaClass

  • Many added functions
  • msgList handling
  • connectChild/Children/Parent nodes — we wanted a different connection type than the one red9 used. Ours is objChild.msgHook → objHolder.msgAttr. If memory serves, red9s is objChild.msgAttr → objHolder.msgAttr.
  • Component mode ability – ability to say metaClass a vertice or ep
  • Message handling in general – we allow for message like storage of attributes and not just nodes
  • Access to the insanity of the NameFactory and all the wonders therein. See cgmObject for examples.

Message Treatment – We have some extra message tools…

Component Use – One of the areas, where we differ is with component use. We can wrap cv’s,vertices, etc.

Properties – We’ve added some properties to our metaclass for easy call/set ability.

msgLists – This is our answer to the frustration with how multiMessage attrs work in maya when you need lists to be intact.

Other calls – A sampling of other calls…