//------------------------------ bool LibraryControllersLoader::end__morph() { if ( mCurrentMorphController ) { addMorphController( mCurrentMorphController ); } mJointSidsMap.clear(); mJointSidsOrIds = 0; mCurrentMorphController = 0; mCurrentControllerSourceUniqueId = COLLADAFW::UniqueId::INVALID; mCurrentControllerType = UNKNOWN_CONTROLLER; return true; }
//------------------------------ bool ControllerImporter::import() { if ( mController->getControllerType() == COLLADAFW::Controller::CONTROLLER_TYPE_SKIN ) { const COLLADAFW::SkinController* skinController = (const COLLADAFW::SkinController*)mController; const COLLADAFW::UniqueId& controllerDataUniqueId = skinController->getSkinControllerData(); if ( controllerDataUniqueId.isValid() ) { COLLADAFW::SkinController* clonedSkinController = new COLLADAFW::SkinController(*skinController); addUniqueIdControllerPair(controllerDataUniqueId, clonedSkinController); // clonedSkinController will be deleted by ImporterBase after import addSkinController( clonedSkinController ); } } else if ( mController->getControllerType() == COLLADAFW::Controller::CONTROLLER_TYPE_MORPH ) { const COLLADAFW::MorphController* morphController = (const COLLADAFW::MorphController*)mController; COLLADAFW::MorphController* clonedMorphController = new COLLADAFW::MorphController(*morphController); // clonedMorphController will be deleted by ImporterBase after import addMorphController( clonedMorphController ); } return true; }