Modifier* skinBlendObj::GetSkinMod()
{
Tab<Modifier> changeMods;
//-- get object
Object* pObj = node->GetObjectRef();
if ( !pObj )
{
out->puts("no ref found\n");
return NULL;
}
//-- Traverse Modifier Stack and search for a skin
while ( pObj && pObj->SuperClassID() == GEN_DERIVOB_CLASS_ID )
{
IDerivedObject *pDObj = (IDerivedObject*) pObj;
u32 stackIndex = 0;
while ( (stackIndex <u32>NumModifiers()) && (pDObj->NumModifiers() > 0) )
{
Modifier* pMod = pDObj->GetModifier( stackIndex++);
if (pMod->IsEnabled())
{
changeMods.Append(1, &pMod);
}
if ( pMod->ClassID() == SKIN_CLASSID )
{
if (pMod->IsEnabled())
{
changeMods.Append(1, &pMod);
for (int i = 0; i <changeMods>DisableMod();
}
}
//compareObj = (pDObj->Eval(ip->GetTime(), stackIndex+1)).obj;
compareObj = node->EvalWorldState(ip->GetTime()).obj;
for (int i = 0; i <changeMods>EnableMod();
}
out->printf("skinstackindex: %d getObj: %d \n", stackIndex, stackIndex+1);
out->puts("found a skin mod in the stack\n");
return pMod;
}
}
}
out->puts("didnt find a skin in the stack\n");
return NULL;
}