Meta.package

ChannelUI

class lxu.meta.package.ChannelUI

The base class for ChannelUI metaclass. It only has a couple of methods so often this class itself is all that’s needed.

item_enabled(item, message)
item_icon(item)

MetaInterface

class lxu.meta.package.MetaInterface

The interface meta node is a sub-interface for an object or server of the same guid.

add(sub)

Add another meta object as a child of this one.

alloc()

Return the signature for this metaclass. Depends on type.

dump(prefix)

Output the contents of the meta node tree with indenting.

find_any(type, guid, miss)

Find a node with matching type/guid, searching first inside this node but searching higher up the tree until somthing matches.

find_sub(type, guid)

Find first node with a matching type/guid under this node.

flatten()

Return this meta and all sub-metas in a list.

get_ifcs(guid)

Get the list of interfaces matching the given guid under this node. The list is returned as tuples: ((class, meta), …)

init_ifcs(guid)

Initialize the _sub_ifcs attribute as a list of interfaces. If no guid is given we use the metaclass guid itself.

pre_init()

Do any self-modification or other steps before initialization. Return true as long as there is more to do.

test(type, guid)

Test this meta node against a type and guid and return true for match. All testing allows for type or guid to be None for wildcard.

MetaServer

class lxu.meta.package.MetaServer

The server meta node defines a plug-in server. The name and class guid must be specified, and the alloc() method (defined by the client, returns the server class. There is also a dictionary of server tags.

add(sub)

Add another meta object as a child of this one.

add_tag(key, value)
alloc()

Return the signature for this metaclass. Depends on type.

dump(prefix)

Output the contents of the meta node tree with indenting.

find_any(type, guid, miss)

Find a node with matching type/guid, searching first inside this node but searching higher up the tree until somthing matches.

find_sub(type, guid)

Find first node with a matching type/guid under this node.

flatten()

Return this meta and all sub-metas in a list.

get_ifcs(guid)

Get the list of interfaces matching the given guid under this node. The list is returned as tuples: ((class, meta), …)

init_ifcs(guid)

Initialize the _sub_ifcs attribute as a list of interfaces. If no guid is given we use the metaclass guid itself.

pre_init()

Do any self-modification or other steps before initialization. Return true as long as there is more to do.

set_username(base, key)
test(type, guid)

Test this meta node against a type and guid and return true for match. All testing allows for type or guid to be None for wildcard.

Meta_ChannelUI

class lxu.meta.package.Meta_ChannelUI

Metaclass for ChannelUI. This is added under a package and modifies it.

add(sub)

Add another meta object as a child of this one.

alloc()
dump(prefix)

Output the contents of the meta node tree with indenting.

find_any(type, guid, miss)

Find a node with matching type/guid, searching first inside this node but searching higher up the tree until somthing matches.

find_sub(type, guid)

Find first node with a matching type/guid under this node.

flatten()

Return this meta and all sub-metas in a list.

get_ifcs(guid)

Get the list of interfaces matching the given guid under this node. The list is returned as tuples: ((class, meta), …)

init_ifcs(guid)

Initialize the _sub_ifcs attribute as a list of interfaces. If no guid is given we use the metaclass guid itself.

pre_init()

Do any self-modification or other steps before initialization. Return true as long as there is more to do.

test(type, guid)

Test this meta node against a type and guid and return true for match. All testing allows for type or guid to be None for wildcard.

Meta_Package

class lxu.meta.package.Meta_Package

This is the metaclass for Packages. You allocate it with the server name and optional Package sub-class.

add(sub)

Add another meta object as a child of this one.

add_channelui(cls)

Add a ChannelIU class

add_tag(key, value)
alloc()

Internal method

dump(prefix)

Output the contents of the meta node tree with indenting.

find_any(type, guid, miss)

Find a node with matching type/guid, searching first inside this node but searching higher up the tree until somthing matches.

find_sub(type, guid)

Find first node with a matching type/guid under this node.

flatten()

Return this meta and all sub-metas in a list.

get_ifcs(guid)

Get the list of interfaces matching the given guid under this node. The list is returned as tuples: ((class, meta), …)

init_ifcs(guid)

Initialize the _sub_ifcs attribute as a list of interfaces. If no guid is given we use the metaclass guid itself.

pre_init()

Internal method

set_supertype(typename)

Set the supertype for this package, making it an item type. If the typename is omitted then this is a root type.

set_username(base, key)
test(type, guid)

Test this meta node against a type and guid and return true for match. All testing allows for type or guid to be None for wildcard.

Meta_ViewItem3D

class lxu.meta.package.Meta_ViewItem3D

Metaclass for ViewItem3D. This is added under a package and modifies it.

add(sub)

Add another meta object as a child of this one.

alloc()
dump(prefix)

Output the contents of the meta node tree with indenting.

enable_background()

Enable background drawing.

enable_test()

Enable alternate testing.

find_any(type, guid, miss)

Find a node with matching type/guid, searching first inside this node but searching higher up the tree until somthing matches.

find_sub(type, guid)

Find first node with a matching type/guid under this node.

flatten()

Return this meta and all sub-metas in a list.

get_ifcs(guid)

Get the list of interfaces matching the given guid under this node. The list is returned as tuples: ((class, meta), …)

init_ifcs(guid)

Initialize the _sub_ifcs attribute as a list of interfaces. If no guid is given we use the metaclass guid itself.

pre_init()

Do any self-modification or other steps before initialization. Return true as long as there is more to do.

set_world_space(world)

Set the package to draw in world space. Normally locators are drawn in their local coordinate space.

test(type, guid)

Test this meta node against a type and guid and return true for match. All testing allows for type or guid to be None for wildcard.

Package

class lxu.meta.package.Package

Base class for defining Packages. The client will subclass this base class, filling in the methods that they require. It’s then instantiated as a metaclass to be promoted to a server.

add()

Item added to scene – either on create or on delete undo.

after_load()

Item finished loading.

doomed()

Item final destroy.

initialize(super)

Initial package creation.

loading()

Item create on load.

newborn(item, flags)

Item initial creation.

parent_ok(parent)

Return true if the parent is valid.

remove()

Item removed from scene – either on delete or on create undo.

synth_name()

Return a synthetic name for the item when it has no other name.

ViewItem3D

class lxu.meta.package.ViewItem3D

The base class for ViewItem3D metaclass. This class controls how a package will appear in 3D.

draw(chanread, stroke, flags, color)

This method is called to draw the package in 3D, reading channels from the read object and drawing with the stroke object.

drawbg(chanread, stroke, color)

Background drawing can also be optionally done. This method has to be enabled with enable_background().

drawtest(chanread, stroke, flags, color)

Hit testing can be done by drawing a different stroke pattern. This method has to be enabled with enable_test()

impl_ChannelUI

class lxu.meta.package.impl_ChannelUI

Internal implementation class. Methods defer to client instance or attrdesc.

cui_DependencyByIndex(channelName, index)
cui_DependencyByIndexName(channelName, index)
cui_DependencyCount(channelName)
cui_Enabled(channelName, msg, item, chanRead)
cui_ItemEnabled(msg, item)
cui_ItemIcon(item)
cui_UIHints(channelName, hints)
cui_UIValueHints(channelName)
inherit(pkgimpl)

impl_Instance

class lxu.meta.package.impl_Instance

This class implements the PackageInstance using the client’s Package sub-class.

pins_Add()
pins_AfterLoad()
pins_Cleanup()
pins_Doomed()
pins_DupType()
pins_Initialize(item, super)
pins_Loading()
pins_Newborn(original, flags)
pins_Remove()
pins_SynthName()
pins_TestParent(item)

impl_Server

class lxu.meta.package.impl_Server

This class implements the Package server using a local version of the client’s Package sub-class.

pkg_Attach()
pkg_CollectItems(collection, mode)
pkg_PostLoad(scene)
pkg_SetupChannels(addChan)
pkg_TestInterface(guid)

impl_ViewItem3D

class lxu.meta.package.impl_ViewItem3D
inherit(pkgimpl)
vitm_Draw(chanRead, strokeDraw, sflags, itemColor)
vitm_DrawBackground(chanRead, strokeDraw, itemColor)
vitm_HandleChannel(handleIndex)
vitm_HandleCount()
vitm_HandleMotion(handleIndex)
vitm_HandlePositionToValue(handleIndex, position)
vitm_HandleValueToPosition(handleIndex, chanValue)
vitm_Test(chanRead, strokeDraw, sflags, itemColor)
vitm_WorldSpace()

meta_Instance

class lxu.meta.package.meta_Instance

This is an internal metaclass object for the package instance. It just passes the client instance class as _icls, and the interfaces as _sub_ifcs.