void EditorManager::SetMuscle(TypeMuscle muscle) { int i = 0,index, maxVertex; unsigned int *llistatVertex; float *llistatDelta; Muscle *m; maxVertex = objecte->GetNumVertexs(); if ( CurrentMuscle != NONE_MUSCLE) { this->CalculateDelta(); while (CurrentVertex) { if (VertexList[i]) { // Afegir el vertex al muscle MManager->addVertexMuscle(CurrentMuscle, (unsigned int) i, DeltaList[i]); // Eliminar el vertex ja guardat VertexList[i] = false; --CurrentVertex; } ++i; } } // Canviar el muscle que s'està editant this->CurrentMuscle = muscle; // Carregar les dades del nou muscle m = MManager->getMuscleList()[muscle]; llistatVertex = m->getVertexIndex(); llistatDelta = m->getVertexDelta(); CurrentVertex = m->getNumVertexs(); float maxDelta = 0.0; for (i = 0; i < CurrentVertex; i++) { index = llistatVertex[i]; this->VertexList[index] = true; this->DeltaList[index] = llistatDelta[i]; if (this->DeltaList[index] > maxDelta) { this->DominantVertex = index; maxDelta = this->DeltaList[index]; } } }