// REMOVEBIPED void RemoveBiped(INode *bipRoot, Interface *theInterface) { SuspendAnimate(); AnimateOn(); // remember Max's default controllers (for the user) ClassDesc* defaultRotCtrl=GetDefaultController(CTRL_ROTATION_CLASS_ID); ClassDesc* defaultPosCtrl=GetDefaultController(CTRL_POSITION_CLASS_ID); ClassDesc* defaultScaleCtrl=GetDefaultController(CTRL_SCALE_CLASS_ID); // change default controllers to linear to create linear controllers // since we have no tan info DllDir* dllDir=&theInterface->GetDllDir(); ClassDirectory* classDir=&dllDir->ClassDir(); ClassDesc* rotCtrl = classDir->FindClass( SClass_ID(CTRL_ROTATION_CLASS_ID), Class_ID(TCBINTERP_ROTATION_CLASS_ID,0)); // was Class_ID(LININTERP_ROTATION_CLASS_ID,0)); ClassDesc* posCtrl = classDir->FindClass( SClass_ID(CTRL_POSITION_CLASS_ID), Class_ID(LININTERP_POSITION_CLASS_ID, 0)); ClassDesc* scaleCtrl = classDir->FindClass( SClass_ID(CTRL_SCALE_CLASS_ID), Class_ID(LININTERP_SCALE_CLASS_ID, 0)); SetDefaultController(CTRL_ROTATION_CLASS_ID, rotCtrl); SetDefaultController(CTRL_POSITION_CLASS_ID, posCtrl); SetDefaultController(CTRL_SCALE_CLASS_ID, scaleCtrl); ProcessNodeRecurse(bipRoot, nil, theInterface); //deinit ResumeAnimate(); // remember Max's default controllers (for the user) SetDefaultController(CTRL_ROTATION_CLASS_ID, defaultRotCtrl); SetDefaultController(CTRL_POSITION_CLASS_ID, defaultPosCtrl); SetDefaultController(CTRL_SCALE_CLASS_ID, defaultScaleCtrl); }
static SClass_ID GetNodeType(INode *node) { TimeValue t = GetCOREInterface()->GetTime(); ObjectState os = node->EvalWorldState( t, FALSE); if (os.obj) { SClass_ID id = os.obj->SuperClassID(); // if (node->IsTarget()) { if (node->IsTarget() && node->GetLookatNode() && node->GetLookatNode()->Selected()) { INode* depNode = node->GetLookatNode(); if (depNode) { ObjectState osc = depNode->EvalWorldState(t,FALSE); return osc.obj->SuperClassID(); } else return SClass_ID(0); } else return id; } else return SClass_ID(0); }
SClass_ID SuperClassID() {return SClass_ID(UTILITY_CLASS_ID);}
SClass_ID SuperClassID() { return SClass_ID(SOUNDOBJ_CLASS_ID); }