19class AnmObjShp : 
public AnmObj {
 
   21    AnmObjShp(
MEMAllocator* pAllocator, u16* pBindingBuf, 
int numBinding);
 
   22    virtual void G3dProc(ulong task, ulong param, 
void* pInfo) = 0; 
 
   23    virtual ~AnmObjShp() {}                                     
 
   25    virtual void SetFrame(f32 frame) = 0; 
 
   26    virtual f32 GetFrame() 
const = 0;     
 
   27    virtual void UpdateFrame() = 0;       
 
   29    virtual void SetUpdateRate(f32 rate) = 0; 
 
   30    virtual f32 GetUpdateRate() 
const = 0;    
 
   32    virtual bool Bind(
const ResMdl mdl) = 0; 
 
   33    virtual void Release();                  
 
   40    virtual void DetachAll();                                  
 
   42    virtual void SetWeight(
int idx, f32 weight); 
 
   43    virtual f32 GetWeight(
int idx) 
const;        
 
   45    bool TestExistence(ulong idx) 
const;
 
   46    bool TestDefined(ulong idx) 
const;
 
   50        BINDING_ID_MASK = (1 << 14) - 1,
 
   51        BINDING_INVALID = (1 << 14),
 
   52        BINDING_UNDEFINED = (1 << 15),
 
   56    static const int DEFAULT_MAX_CHILDREN = 4;
 
   62    NW4R_G3D_RTTI_DECL_DERIVED(AnmObjShp, AnmObj);
 
 
  103class AnmObjShpBlend : 
public AnmObjShpNode {
 
  104    static AnmObjShpBlend* Construct(
MEMAllocator* pAllocator, ulong* pSize,
 
  105                                     ResMdl mdl, 
int numChildren);
 
  107    AnmObjShpBlend(
MEMAllocator* pAllocator, u16* pBindingBuf, 
int numBinding,
 
  111    virtual ~AnmObjShpBlend() {} 
 
  116    virtual void SetWeight(
int idx, f32 weight); 
 
  117    virtual f32 GetWeight(
int idx) 
const;        
 
  122    NW4R_G3D_RTTI_DECL_DERIVED(AnmObjShpBlend, AnmObjShpNode);
 
 
  130class AnmObjShpRes : 
public AnmObjShp, 
protected FrameCtrl {
 
  132    static AnmObjShpRes* Construct(
MEMAllocator* pAllocator, ulong* pSize,
 
  138    virtual void G3dProc(ulong task, ulong param, 
void* pInfo); 
 
  139    virtual ~AnmObjShpRes() {}                              
 
  141    virtual void SetFrame(f32 frame); 
 
  142    virtual f32 GetFrame() 
const;     
 
  143    virtual void UpdateFrame();       
 
  145    virtual void SetUpdateRate(f32 rate); 
 
  146    virtual f32 GetUpdateRate() 
const;    
 
  148    virtual bool Bind(
const ResMdl mdl); 
 
  159    void SetPlayPolicy(PlayPolicyFunc pFunc) {
 
  160        FrameCtrl::SetPlayPolicy(pFunc);
 
  168    NW4R_G3D_RTTI_DECL_DERIVED(AnmObjShpRes, AnmObjShp);