Package¶
LXe_INCOMPATIBLE_SCENE
ILxSceneEvalListener¶
-
class
ILxSceneEvalListener
¶ Public Functions
-
void
ChannelValue
(LXtObjectID self, LXtObjectID item, unsigned index)¶ The Scene Evaluation Listener sends events related to the evaluation of the scene. The ChannelValue change signals that a channel value has changed. This is called whenever any evaluated channel value changes.
-
void
ChannelPreValue
(LXtObjectID self)¶ It can be useful to know about a series of related evaluated channel changes. These functions wrap the ChannelValue method call to signal the start and end of a series of changes.
-
void
ChannelPostValue
(LXtObjectID self)¶
-
void
ILxSceneEvalListener1¶
-
class
ILxSceneEvalListener1
¶ Public Functions
-
void
ChannelValue
(LXtObjectID self, LXtObjectID item, unsigned index)¶ The Scene Evaluation Listener sends events related to the evaluation of the scene. Currently, this is only used for signaling changes to evaluated channel values, and is called any time an evaluated channel value changes.
-
void
ILxSceneItemListener1¶
-
class
ILxSceneItemListener1
¶ Public Functions
-
void
SceneCreate
(LXtObjectID self, LXtObjectID scene)¶ Version 1, used only by recoil. Should be removed for 601.
-
void
SceneDestroy
(LXtObjectID self, LXtObjectID scene)¶
-
void
SceneFilename
(LXtObjectID self, LXtObjectID scene, const char *filename)¶
-
void
SceneClear
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPreChange
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPostDelete
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemAdd
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemRemove
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemParent
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemChild
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemAddChannel
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemLocal
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemName
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemSource
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemPackage
(LXtObjectID self, LXtObjectID item)¶
-
void
ChannelValue
(LXtObjectID self, const char *action, LXtObjectID item, unsigned index)¶
-
void
ILxSceneItemListener2¶
-
class
ILxSceneItemListener2
¶ Public Functions
-
void
SceneCreate
(LXtObjectID self, LXtObjectID scene)¶
-
void
SceneDestroy
(LXtObjectID self, LXtObjectID scene)¶
-
void
SceneFilename
(LXtObjectID self, LXtObjectID scene, const char *filename)¶
-
void
SceneClear
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPreChange
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPostDelete
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemAdd
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemRemove
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemParent
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemChild
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemAddChannel
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemLocal
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemName
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemSource
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemPackage
(LXtObjectID self, LXtObjectID item)¶
-
void
ChannelValue
(LXtObjectID self, const char *action, LXtObjectID item, unsigned index)¶
-
void
LinkAdd
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶ Graph events, added in 501 SP1.
-
void
LinkRemBefore
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
LinkRemAfter
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
LinkSet
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
ChanLinkAdd
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkRemBefore
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkRemAfter
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkSet
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ILxSceneItemListener¶
-
class
ILxSceneItemListener
¶ Public Functions
-
void
SceneCreate
(LXtObjectID self, LXtObjectID scene)¶
-
void
SceneDestroy
(LXtObjectID self, LXtObjectID scene)¶
-
void
SceneFilename
(LXtObjectID self, LXtObjectID scene, const char *filename)¶
-
void
SceneClear
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPreChange
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemPostDelete
(LXtObjectID self, LXtObjectID scene)¶
-
void
ItemAdd
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemRemove
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemParent
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemChild
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemAddChannel
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemLocal
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemName
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemSource
(LXtObjectID self, LXtObjectID item)¶
-
void
ItemPackage
(LXtObjectID self, LXtObjectID item)¶
-
void
ChannelValue
(LXtObjectID self, const char *action, LXtObjectID item, unsigned index)¶
-
void
LinkAdd
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
LinkRemBefore
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
LinkRemAfter
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
LinkSet
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, LXtObjectID itemTo)¶
-
void
ChanLinkAdd
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkRemBefore
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkRemAfter
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ChanLinkSet
(LXtObjectID self, const char *graph, LXtObjectID itemFrom, unsigned chanFrom, LXtObjectID itemTo, unsigned chanTo)¶
-
void
ItemTag
(LXtObjectID self, LXtObjectID item)¶ Item Tag events, added in 901.
-
void
ItemRemoveChannel
(LXtObjectID self, LXtObjectID item)¶ User Channel events, added in 901. This function is triggered whenever a channel is removed. It is the opposite of the ItemAddChannel event.
-
void
ItemChannelName
(LXtObjectID self, LXtObjectID item, unsigned int index)¶ This function is triggered whenever the name or the username of a channel changes.
-
void
ItemChannelDefault
(LXtObjectID self, LXtObjectID item, unsigned int index)¶ This function is triggered whenever the default value of a channel is modified.
-
void
ItemChannelMinMax
(LXtObjectID self, LXtObjectID item, unsigned int index)¶ This function is triggered whenever the min/max of a channel is modified.
-
void
ItemChannelType
(LXtObjectID self, LXtObjectID item, unsigned int index)¶ This function is triggered whenever a channel type is modified.
-
void
ILxSceneLoaderTarget¶
-
class
ILxSceneLoaderTarget
¶ Public Functions
-
LxResult
SetRootType
(LXtObjectID self, const char *typeName)¶ Loading a scene sets the target info to the root item type and some flags.
-
LxResult
SetFlags
(LXtObjectID self, unsigned flags)¶
-
LxResult
ClearFlags
(LXtObjectID self, unsigned flags)¶
-
LxResult
LXtSceneTarget¶
-
struct
st_LXtSceneTarget
¶ The following structure is used to store data during cinema loading. The item type member indicates the root item type for the cinema, if any. For example, this might be CIT_MESH when loading objects or CIT_CLIP when loading images. When loading a cinema it is sometimes necessary for the cinema to be parented to another cinema.
-
LXf_SCENETARG_SUBCINE
¶ Flags are all initially clear, but can be set to indicate status of the load.
LXf_SCENETARG_NODEFAULTS
LXf_SCENETARG_CINECHANGED
LXf_SCENETARG_GONATIVE
ILxScene1¶
-
class
ILxScene1
¶ Public Functions
-
LxResult
Lookup
(LXtObjectID self, const char *id, void **ppvObj)¶ The ILxScene1 interface exposes a list of ILxItem1 objects, which can be accessed by name or index.
Lookup Lookup an item by unique identifier (!?)
ItemCount Count items of given type. If type is NULL, all items are counted.
ItemByIndex Lookup item by index
ItemByName Lookup item by name. Type is ignored.
NewItem Create a new item of the requested type.
-
int
ItemCount
(LXtObjectID self, const char *type)¶
-
LxResult
ItemByIndex
(LXtObjectID self, const char *type, unsigned int index, void **ppvObj)¶
-
LxResult
ItemByName
(LXtObjectID self, const char *type_is_ignored, const char *name, void **ppvObj)¶
-
LxResult
NewItem
(LXtObjectID self, const char *type, void **ppvObj)¶
-
void
GetMeta
(LXtObjectID self, void **xobj)¶ Metadata can do good stuff… presumably.
-
void
SetMeta
(LXtObjectID self, LXtObjectID xobj)¶
-
const char *
GetTag
(LXtObjectID self, LXtID4 type)¶ Scenes can be tagged.
-
void
SetTag
(LXtObjectID self, LXtID4 type, const char *tag)¶
-
LxResult
Setup
(LXtObjectID self, void **ppvObj)¶ This stuff remains opaque. NOTE: would be better to handle action through a separate interface defined in eval.
-
LxResult
Edit
(LXtObjectID self, void **ppvObj)¶
-
LxResult
Action
(LXtObjectID self, double time, void **ppvObj)¶
-
void
ListenAction
(LXtObjectID self, LXtObjectID xobj)¶
-
LxResult
LoadImage
(LXtObjectID self, const char *name, int *flags, LXtObjectID monitor, void **ppvObj)¶
-
LxResult
-
LXf_LOADIMG_SEARCH_PATHS
¶ Loading images requires some special tricks. They must be created as sub-cinemas, and in addition we want the option to ask the user for a replacement image, and to search along the system search paths. NOTE: this should be done through a service.
LoadImage Load the image specified by the path supplied. The two-way ‘flags’ argument should be set with the combination of LXf_LOADIMG_ flags specifying what steps may be taken to find the image. On successful return, the flags will be set to indicate what steps were actually taken, in this way the client can determine whether the image loaded differs from that specified due either to a user replacement, or to expansion to an absolute path.
LXf_LOADIMG_USER_REPLACE
ILxItem1¶
-
class
ILxItem1
¶ Public Functions
-
const char *
Type
(LXtObjectID self)¶ NOTE: perhaps access channel list through ILxAttributes interface. Could return default values.
FindXfrmChannel This returns an ILxItem1ID and channel index given a channel name. If the transform item does not yet exist, it will be created and returned. The client is is responsible for releasing the item.
-
LxResult
TestType
(LXtObjectID self, const char *type)¶
-
const char *
Ident
(LXtObjectID self)¶
-
const char *
GetTag
(LXtObjectID self, unsigned int tag)¶
-
void
SetTag
(LXtObjectID self, unsigned int type, const char *tag)¶
-
int
SubItemCount
(LXtObjectID self)¶
-
LxResult
SubItemByIndex
(LXtObjectID self, unsigned int index, void **ppvObj)¶
-
const char *
Name
(LXtObjectID self)¶
-
void
SetName
(LXtObjectID self, const char *name)¶
-
void
Root
(LXtObjectID self, void **ppvObj)¶
-
LxResult
Parent
(LXtObjectID self, void **ppvObj)¶
-
void
SetParent
(LXtObjectID self, LXtObjectID parent, int pos)¶
-
int
ChannelCount
(LXtObjectID self)¶
-
const char *
ChannelName
(LXtObjectID self, unsigned int index)¶
-
LxResult
ChannelIndex
(LXtObjectID self, const char *name, unsigned int *index)¶
-
LxResult
FindXfrmChannel
(LXtObjectID self, const char *name, unsigned int *index, void **ppvObj)¶
-
const char *
LXe_GRAPH_CYCLIC
ILxPackage¶
-
class
ILxPackage
¶ Public Functions
-
LxResult
SetupChannels
(LXtObjectID self, LXtObjectID addChan)¶ Packages are defined by a server interface that describes the channels for the package and adds instances to items. The SetupChannels() method is called once when the package is initialized to define the set of channels common to all item with this package. The Attach() method is called for each item to assign as the package is being attached, and should return an object implementing ILxPackageInstance.
-
LxResult
Attach
(LXtObjectID self, void **ppvObj)¶
-
LxResult
TestInterface
(LXtObjectID self, const LXtGUID *guid)¶
-
LxResult
PostLoad
(LXtObjectID self, LXtObjectID scene)¶
-
LxResult
CollectItems
(LXtObjectID self, LXtObjectID collection, unsigned mode)¶
-
LxResult
-
LXsPKG_SUPERTYPE
¶ Package servers can declare their supertype as a tag. The presense of this tag promotes a package to a full item type. For root types with no supertype the tag can be set to “.”.
-
LXsPKG_ITEMLIST_HIDE
¶ Package servers may define their own graphs. This is a string of graph names separated by semicolons. The name may also be followed by a plus-sign and any of these single letter flags:
i Item graph, the default.
c Channel graph, mutually-exclusive with item.
t Tree rules, enforces that all elements in the graph have a single ancestor.
a Acyclic rules, enforces that there are no cycles in the graph. Superset of tree.
N, X Copy rules. Normally when items are copied their links are copied too. If ‘N’ is set then no copying of links is done, and the owner of the graph is expected to manage the links themself. If ‘X’ is set then links are copied between members of a group copy, but not outside the group.
By default, the item list shows all locator items, but the LXsPKG_ITEMLIST_HIDE can be used to hide them from users. The LXsPKG_ITEMLIST_ATTRIBUTE tag can be used to include the item as an attribute of the parent’s item.
LXsPKG_ITEMLIST_ATTRIBUTE
LXsPKG_GRAPHS
-
LXsPKG_CREATECMD
¶ Item type packages can suppress the normal ability to create from scratch. If the item type requires a special command to create it, set this tag to “-“.
LXs_PKG_NODIRECTCREATE
-
LXsPKG_CONVERTCMD
¶ Item type packages can also suppress the ability to allow another type to convert to them. This is usually set in the same places as NODIRECTCREATE, but not always (e.g. static meshes)
LXs_PKG_DIRECTCONVERTOK
-
LXsPKG_IS_MASK
¶ Package servers can also be tagged as surface or mask item types. The presense of this tag is enough, the value has no meaning.
-
LXsPKG_SHADER_CONTEXT
¶ Package servers can also be tagged with their shader context. By default the context is the render item
-
LXsPKG_SHADER_NODE
¶ We can also tag the serves as shader nodes, this is generally the case for all textures and shader effects
-
LXsPKG_CREATE_INDIRECT
¶ Package servers can also be tagged as surface or mask item types. The presense of this tag is enough, the value has no meaning.
-
LXsPKG_IS_COREVOLUME
¶ Package servers can also be tagged as internal (core) MODO volumes to differentiate volumetric items from plugins and core. The presense of this tag is enough, the value has no meaning.
-
LXsPKG_NONEVALREAD
¶ Package servers can also be tagged as allowing reads of non-evaluated channels. When this tag is present for a surface item, the surface is allocated using the channel read for the current state if deformers are not enabled, and the current evaluation context if they are. Without the tag, surfaces will always be allocated for the current evaluation context. The presense of this tag is enough, the value has no meaning.
ILxAddChannel¶
-
class
ILxAddChannel
¶ Public Functions
-
LxResult
NewChannel
(LXtObjectID self, const char *name, const char *type)¶ Channels are added to packages using an IlxAddChannel interface. The NewChannel() method starts a channel definition, and the rest of the methods qualify it until the next channel is started.
-
LxResult
SetGradient
(LXtObjectID self, const char *inType)¶ If the base type for the channel is floating point, then the channel can be made a gradient by calling this function. The gradient will have the base type as output and this type as input.
-
LxResult
SetStorage
(LXtObjectID self, const char *stType)¶ If the base type for the channel is numeric then actions will be able to store animated values for it. Likewise string channels can also have values stored in the action, albeit constant. All other types are assumed to evaluation channels only that is their values are only set during evaluation, not stored in actions. Calling this method sets the storage type of the channel, which is the type of value to be stored in the action, and can be different from the evaluation type.
-
LxResult
SetVector
(LXtObjectID self, const char *vecType)¶ Setting the vector type to one of the LXsCHANVEC defines will cause this one channel definition to create multiple channels comprising the vector.
-
LxResult
SetDefault
(LXtObjectID self, double defFlt, int defInt)¶ Numeric defaults can be set easily with these two methods.
-
LxResult
SetDefaultVec
(LXtObjectID self, const double *defVec)¶
-
LxResult
SetHint
(LXtObjectID self, const LXtTextValueHint *hint)¶ Text hints are described in detail in their documentation. There is one important difference in handling min/max for angle channels (and only angle channels): they are specified as degrees*10000 instead of radians*10000. This allows for accurate representation of 45 degrees and similar angles. Other places that use text hints (like commands) have access to another mechanism to set min/max that is not yet available to channels, so they don’t require this special case.
-
LxResult
SetUserHint
(LXtObjectID self, const LXtTextValueHint *hint)¶
-
LxResult
SetDefaultObj
(LXtObjectID self, void **ppvObj)¶ Default values for non-numeric storage channels can also be set by getting the value object for the default.
-
void
SetInternal
(LXtObjectID self)¶ This marks the channel as internal, hiding it from the user.
-
LxResult
LXsCHANVEC_SCALAR
LXsCHANVEC_XY
LXsCHANVEC_XYZ
LXsCHANVEC_RGB
LXsCHANVEC_RGBA
LXsCHANVEC_UV
LXsCHANVEC_UVW
ILxAddChannel1¶
-
class
ILxAddChannel1
¶ This interface was retired in 10.2.
Public Functions
-
LxResult
NewChannel
(LXtObjectID self, const char *name, const char *type)¶
-
LxResult
SetGradient
(LXtObjectID self, const char *inType)¶
-
LxResult
SetStorage
(LXtObjectID self, const char *stType)¶
-
LxResult
SetVector
(LXtObjectID self, const char *vecType)¶
-
LxResult
SetDefault
(LXtObjectID self, double defFlt, int defInt)¶
-
LxResult
SetDefaultVec
(LXtObjectID self, const double *defVec)¶
-
LxResult
SetHint
(LXtObjectID self, const LXtTextValueHint *hint)¶
-
LxResult
SetDefaultObj
(LXtObjectID self, void **ppvObj)¶
-
void
SetInternal
(LXtObjectID self)¶
-
LxResult
ILxItemCollection¶
-
class
ILxItemCollection
¶ Public Functions
-
LxResult
Test
(LXtObjectID self, LXtObjectID item)¶ Item collections are sets of items that can be expanded to include related items.
Test Test if an item is part of the collection
Count, ByIndex Enumerate through the items in the collection of a certain type.
Add Add an item to the collection.
-
LxResult
Count
(LXtObjectID self, int type, unsigned *count)¶
-
LxResult
ByIndex
(LXtObjectID self, int type, unsigned index, void **ppvObj)¶
-
LxResult
Add
(LXtObjectID self, LXtObjectID item)¶
-
LxResult
-
LXiCOLLECT_NONE
¶ Packages can manipulate collections with their CollectItems() method. The package then adds other items based on the mode.
NONE Can be used where a collection mode is used but none desired.
IMPORT Add items that should also be imported if the collection is an import. Note that this same collection is also used for export, because an export is an import when viewed from the other side.
DEL_SHALLOW Add items that must also be deleted if the collection is a deletion. This is a shallow delete and should leave any items that the user might still want.
DEL_DEEP Add items that can also be deleted if the collection is a deletion. This is a deep delete, so we want to get rid of anything that would be superfluous once the main items are deleted.
INSTANCES This just gets all the instances of any items in the collection. The packages aren’t involved in this one; it’s a core feature.
LXiCOLLECT_IMPORT
LXiCOLLECT_DEL_SHALLOW
LXiCOLLECT_DEL_DEEP
LXiCOLLECT_INSTANCES
LXxCOLLECT_IS_DELETE
ILxPackageInstance¶
-
class
ILxPackageInstance
¶ Public Functions
-
LxResult
Initialize
(LXtObjectID self, LXtObjectID item, LXtObjectID super)¶ The implementation of a package (or item type) is a package instace object. These are allocated by the Attach() method of the package interface, and may optionally implement this interface to be informed of changes to the item. N5: init and cleanup are not really necessary. The arguments to init can be sent to attach, and cleanup can be done in instance destroy.
Initialize This is called when package is attached to the item. The item is passed, and for item types with supertypes the package instance for the supertype package is also passed. The item is not yet part of the scene, so any complex processing should wait until the Newborn() or Loaded() methods.
SynthName This allows the package to set the synthetic name for an item with no explicitly set user name. Return NOTIMPL to get default behavior.
DupType Returns the item type code to use when an item of this type is instanced. Return zero to use the same item type.
TestParent Can return LXe_FALSE to disallow this item from being parented to the candidate parent.
Newborn, Loading One of these is called (depending on how the item was created) after the item has been added to the scene. For item duplication or instancing the Newborn() method gets the original item. This is only called the first time, and so only undoable actions should be performed.
AfterLoad Called after load (or import) of the scene is complete.
Add Called after item is added to the scene. This will be called the first time and any subsequent times caused by undos.
Remove Called as the item is being removed from the scene. This will be called the first time and any subsequent times caused by undos.
Doomed Called while the item is still part of the scene, but is destined to be destroyed. This may allow the item to clean up any links or related items. This is only called the first time so should make changes that can be undone.
Cleanup Called just before deletion.
-
void
Cleanup
(LXtObjectID self)¶
-
LxResult
SynthName
(LXtObjectID self, char *buf, unsigned len)¶
-
unsigned
DupType
(LXtObjectID self)¶
-
LxResult
TestParent
(LXtObjectID self, LXtObjectID item)¶
-
LxResult
Newborn
(LXtObjectID self, LXtObjectID original, unsigned flags)¶
-
LxResult
Loading
(LXtObjectID self)¶
-
LxResult
AfterLoad
(LXtObjectID self)¶
-
void
Doomed
(LXtObjectID self)¶
-
LxResult
Add
(LXtObjectID self)¶
-
LxResult
Remove
(LXtObjectID self)¶
-
LxResult
LXfNEWBORN_REPLACE
ILxAssemblyAlias¶
-
class
ILxAssemblyAlias
¶ The assembly alias allows one item type to act as an alias for an alias. This interface is added to any package that can act as an alias for an assembly. The assembly alias interface is relatively simple; when an assembly alias is created, the test function is called to see if the operation is allowed. If it is, the alias is created and the configure function is called to perform any required setup. When the properties of the assembly change, the configure will be called again, describing the change.
Public Functions
-
LxResult
Test
(LXtObjectID self, LXtObjectID assembly, LXtObjectID other)¶ The test function is called with two items; the assembly and item within the assembly that provides some unique functionality for the assembly. The function should return LXe_TRUE if the assembly can be aliased by this AssemblyAlias, and LXe_FALSE if it cannot.
-
LxResult
Configure
(LXtObjectID self, LXtObjectID assembly, LXtObjectID other, LXtObjectID alias, const unsigned int change)¶
-
LxResult
SuperType
(LXtObjectID self, LXtItemType *type)¶ The SuperType function should return the supertype of the item that will be created for the alias. For example, if the assembly alias intends to act like a channel modifier, the function should return the chanmodify supertype.
-
LxResult
Flags
(LXtObjectID self, unsigned int *flags)¶
-
LxResult
-
LXf_ALIAS_ALIAS
¶ The Configure function is used for sending events to the alias, allowing it to configure it’s properties, and initialize any state.
ALIAS The ALIAS event is sent when the item is initially aliased. This should only be sent once when the alias is first created and can be used for any initial setup.
UNALIAS The UNALIAS event is sent when the alias is about to be destroyed. This should only be sent once when the alias is removed or deleted, and can be used for any final cleanup.
CHANNELS The CHANNELS event is sent whenever the state of channels on the alias has changed in some way. This could be channels being added, removed, or the hints on the channel changing that define the username, min, max…etc.
LOADPRESET The LOADPRESET event is sent when the assembly alias is loaded from a preset. The function can do whatever setup is needed to integrate the loaded alias item into the scene.
LXf_ALIAS_UNALIAS
LXf_ALIAS_CHANNELS
LXf_ALIAS_LOADPRESET
-
LXf_ALIAS_NEEDSOURCE
¶ The Flags function is called to query the assembly alias for flags.
-
LXi_CIT_GROUP
¶ Some item type codes are needed for the scene loading interface. These MUST keep in sync with the CIT_ definitions!
LXi_CIT_CLIP
LXi_CIT_LOCATOR
LXi_CIT_MESH
LXi_CIT_LIGHT
LXi_CIT_CAMERA
LXi_CIT_INSTANCE
LXi_CIT_T_LOC
LXi_CIT_RENDER
LXi_CIT_ENVIRON
LXi_CIT_BACKDROP
LXi_CIT_TLAYER
ILxPackageInstance1¶
-
class
ILxPackageInstance1
¶ Public Functions
-
LxResult
Initialize
(LXtObjectID self, LXtObjectID item, LXtObjectID super)¶
-
void
Cleanup
(LXtObjectID self)¶
-
LxResult
SynthName
(LXtObjectID self, char *buf, unsigned len)¶
-
unsigned
DupType
(LXtObjectID self)¶
-
LxResult
TestParent
(LXtObjectID self, LXtObjectID item)¶
-
LxResult
Newborn
(LXtObjectID self, LXtObjectID original)¶
-
LxResult
Loading
(LXtObjectID self)¶
-
LxResult
AfterLoad
(LXtObjectID self)¶
-
void
Doomed
(LXtObjectID self)¶
-
LxResult
ILxPackage1¶
-
class
ILxPackage1
¶ Public Functions
-
LxResult
SetupChannels
(LXtObjectID self, LXtObjectID addChan)¶
-
LxResult
Attach
(LXtObjectID self, void **ppvObj)¶
-
LxResult
TestInterface
(LXtObjectID self, const LXtGUID *guid)¶
-
LxResult
PostLoad
(LXtObjectID self, LXtObjectID scene)¶
-
LxResult