summary refs log tree commit diff
path: root/src/Skeleton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Skeleton.cpp')
-rw-r--r--src/Skeleton.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/Skeleton.cpp b/src/Skeleton.cpp
index 23892b8..62861b4 100644
--- a/src/Skeleton.cpp
+++ b/src/Skeleton.cpp
@@ -48,7 +48,7 @@ void Joint::DoConstraint()
 void Muscle::DoConstraint(int broken)
 {
 	oldlength=length;
-	relaxlength=findDistance(parent1->position,parent2->position);
+	relaxlength = len(parent1->position - parent2->position);
 
 	if(type==boneconnect)strength=1;
 	if(type==constraint)strength=0;
@@ -131,7 +131,7 @@ void Skeleton::DoConstraints(Model *collide, XYZ *move, float rotation)
 				offset = true;
 				if (whichtri != -1
 				    && collide->normals[whichtri].y <= 0.8) {
-					normalrotated = DoRotation(collide->normals[whichtri], 0, rotation, 0);
+					normalrotated = rotate(collide->normals[whichtri], 0, rotation, 0);
 					pos = impact + normalrotated * offset;
 					reflect(&joints[i].velocity, normalrotated);
 					joints[i].velocity *= 0.3;
@@ -264,11 +264,12 @@ void Skeleton::FindRotationJoint(int which)
 
 	temppoint1=joints[which].position;
 	temppoint2=joints[which].parent->position;
-	distance=findDistance(temppoint1,temppoint2);
+	distance = len(temppoint1 - temppoint2);
 	joints[which].rotate2=asin((temppoint1.y-temppoint2.y)/distance)*rad2deg;
 	temppoint1.y=0;
 	temppoint2.y=0;
-	joints[which].rotate1=acos((temppoint1.z-temppoint2.z)/findDistance(temppoint1,temppoint2))*rad2deg;
+	joints[which].rotate1 = rad2deg * acos((temppoint1.z - temppoint2.z)
+		/ len(temppoint1 - temppoint2));
 	if(temppoint1.x>temppoint2.x)joints[which].rotate1=360-joints[which].rotate1;
 	if(joints[which].label==head)tempforward=specialforward[0];
 	else if(joints[which].label==rightshoulder||joints[which].label==rightelbow||joints[which].label==rightwrist||joints[which].label==righthand)tempforward=specialforward[1];
@@ -277,8 +278,8 @@ void Skeleton::FindRotationJoint(int which)
 	else if(joints[which].label==lefthip||joints[which].label==leftknee||joints[which].label==leftankle)tempforward=specialforward[4];
 	else if(!joints[which].lower)tempforward=forward;
 	else if(joints[which].lower)tempforward=lowforward;
-	tempforward=DoRotation(tempforward,0,joints[which].rotate1-90,0);
-	tempforward=DoRotation(tempforward,0,0,joints[which].rotate2-90);
+	tempforward=rotate(tempforward,0,joints[which].rotate1-90,0);
+	tempforward=rotate(tempforward,0,0,joints[which].rotate2-90);
 	tempforward.y=0;
 	tempforward = normalize(tempforward);
 	joints[which].rotate3=acos(0-tempforward.z)*rad2deg;
@@ -292,12 +293,12 @@ void Skeleton::FindRotationMuscle(int which)
 
 	temppoint1=muscles[which].parent1->position;
 	temppoint2=muscles[which].parent2->position;
-	distance=findDistance(temppoint1,temppoint2);
+	distance = len(temppoint1 - temppoint2);
 	muscles[which].rotate2=asin((temppoint1.y-temppoint2.y)/distance)*rad2deg;
 	temppoint1.y=0;
 	temppoint2.y=0;
-	muscles[which].rotate1=acos((temppoint1.z-temppoint2.z)/findDistance(temppoint1,temppoint2));
-	muscles[which].rotate1*=360/6.28;
+	muscles[which].rotate1 = rad2deg * acos((temppoint1.z - temppoint2.z)
+		/ len(temppoint1 - temppoint2));
 	if(temppoint1.x>temppoint2.x)muscles[which].rotate1=360-muscles[which].rotate1;
 	if(muscles[which].parent1->label==head)tempforward=specialforward[0];
 	else if(muscles[which].parent1->label==rightshoulder||muscles[which].parent1->label==rightelbow||muscles[which].parent1->label==rightwrist)tempforward=specialforward[1];
@@ -306,8 +307,8 @@ void Skeleton::FindRotationMuscle(int which)
 	else if(muscles[which].parent1->label==lefthip||muscles[which].parent1->label==leftknee||muscles[which].parent1->label==leftankle)tempforward=specialforward[4];
 	else if(!muscles[which].parent1->lower)tempforward=forward;
 	else if(muscles[which].parent1->lower)tempforward=lowforward;
-	tempforward=DoRotation(tempforward,0,muscles[which].rotate1-90,0);
-	tempforward=DoRotation(tempforward,0,0,muscles[which].rotate2-90);
+	tempforward=rotate(tempforward,0,muscles[which].rotate1-90,0);
+	tempforward=rotate(tempforward,0,0,muscles[which].rotate2-90);
 	tempforward.y=0;
 	tempforward = normalize(tempforward);
 	muscles[which].rotate3=acos(0-tempforward.z)*rad2deg;