struct IFacialEffectorsLibrary { };
IFacialAnimation.h
virtual ~IFacialEffectorsLibrary();
virtual void AddRef() = 0;
virtual IFacialEffector* CreateEffector(EFacialEffectorType nType, CFaceIdentifierHandle ident) = 0;
Creates a custom effector in the library.
virtual IFacialEffector* CreateEffector(EFacialEffectorType nType, const char* identStr) = 0;
Create a custom effector by supplying the name directly - ONLY USE IN EDITOR
virtual IFacialEffector* Find(CFaceIdentifierHandle ident) = 0;
Find Effector by Identifier. Every Effector must have unique name.
virtual IFacialEffector* Find(const char* identStr) = 0;
find Effector by Name. DO NOT USE AT RUNTIME (Only in the editor)
virtual const char* GetName() = 0;
Retrieve filename of the effectors library.
virtual IFacialEffector* GetRoot() = 0;
Retrieve the root effector, all effectors contained in the library are direct or inderect siblings of this root.
virtual void MergeLibrary(IFacialEffectorsLibrary* pMergeLibrary, const Functor1wRet<const char*, MergeCollisionAction>& collisionStrategy) = 0;
Merges in effectors from another library - callback specifies what to do in case of name collision.
virtual void Release() = 0;
virtual void RemoveEffector(IFacialEffector* pEffector) = 0;
virtual void Serialize(XmlNodeRef & node, bool bLoading) = 0;
Serialized library.
virtual void SetName(const char * name) = 0;
Assign filename of the effectors library.
virtual void VisitEffectors(IFacialEffectorsLibraryEffectorVisitor* pVisitor) = 0;
Direct access to effectors.