[Orxonox-commit 5078] r9742 - in code/branches/radarDreiD/src: libraries/util modules/overlays/hud

wroennin at orxonox.net wroennin at orxonox.net
Mon Nov 4 15:41:53 CET 2013


Author: wroennin
Date: 2013-11-04 15:41:53 +0100 (Mon, 04 Nov 2013)
New Revision: 9742

Modified:
   code/branches/radarDreiD/src/libraries/util/Math.cc
   code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc
Log:
HUDRadar: set detectionrange to 10000; Math.cc: get3DProjection transformation changed

Modified: code/branches/radarDreiD/src/libraries/util/Math.cc
===================================================================
--- code/branches/radarDreiD/src/libraries/util/Math.cc	2013-11-04 14:17:36 UTC (rev 9741)
+++ code/branches/radarDreiD/src/libraries/util/Math.cc	2013-11-04 14:41:53 UTC (rev 9742)
@@ -222,13 +222,13 @@
     	orxonox::Vector3 zinvtransform;
 
     	xinvtransform.x =  (myside.y      * myorthonormal.z - myorthonormal.y * myside.z       )*invdet;
-    	xinvtransform.y = -(mydirection.y * myorthonormal.z - mydirection.z   * myorthonormal.y)*invdet;
-    	xinvtransform.z =  (mydirection.y * myside.z        - mydirection.z   * myside.y       )*invdet;
-    	yinvtransform.x = -(myside.x      * myorthonormal.z - myside.z        * myorthonormal.x)*invdet;
+    	yinvtransform.x = -(mydirection.y * myorthonormal.z - mydirection.z   * myorthonormal.y)*invdet;
+    	zinvtransform.x =  (mydirection.y * myside.z        - mydirection.z   * myside.y       )*invdet;
+    	xinvtransform.y = -(myside.x      * myorthonormal.z - myside.z        * myorthonormal.x)*invdet;
     	yinvtransform.y =  (mydirection.x * myorthonormal.z - mydirection.z   * myorthonormal.x)*invdet;
-    	yinvtransform.z = -(mydirection.x * myside.z        - myside.x        * mydirection.z  )*invdet;
-    	zinvtransform.x =  (myside.x      * myorthonormal.y - myorthonormal.x * myside.y       )*invdet;
-    	zinvtransform.y = -(mydirection.x * myorthonormal.y - myorthonormal.x * mydirection.y  )*invdet;
+    	zinvtransform.y = -(mydirection.x * myside.z        - myside.x        * mydirection.z  )*invdet;
+    	xinvtransform.z =  (myside.x      * myorthonormal.y - myorthonormal.x * myside.y       )*invdet;
+    	yinvtransform.z = -(mydirection.x * myorthonormal.y - myorthonormal.x * mydirection.y  )*invdet;
     	zinvtransform.z =  (mydirection.x * myside.y        - myside.x        * mydirection.x  )*invdet;
 
     	// coordinate transformation
@@ -236,9 +236,16 @@
     	distance.y = (xinvtransform.y + yinvtransform.y + zinvtransform.y) * distance.y;
     	distance.z = (xinvtransform.z + yinvtransform.z + zinvtransform.z) * distance.z;
 
+    	// cap vector for map
+    	distance.x = clamp<float>(distance.x, -detectionlimit/5, detectionlimit/5);
+    	distance.y = clamp<float>(distance.y, -detectionlimit/5, detectionlimit/5);
+    	distance.z = clamp<float>(distance.z, -detectionlimit/5, detectionlimit/5);
+    	float distancelength = distance.length();
+    	distance = distance / distancelength;
+
     	// project vector for the rotated 3DMap on screen
-    	float xcoordinate = distance.y/(2*detectionlimit);
-    	float ycoordinate = (distance.x*sin(mapangle)+distance.z*cos(mapangle))/(2*detectionlimit);
+    	float xcoordinate = distance.y;
+    	float ycoordinate = (distance.x*sin(mapangle)+distance.z*cos(mapangle));
     	return orxonox::Vector2(xcoordinate , ycoordinate);
     }
 

Modified: code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc
===================================================================
--- code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc	2013-11-04 14:17:36 UTC (rev 9741)
+++ code/branches/radarDreiD/src/modules/overlays/hud/HUDRadar.cc	2013-11-04 14:41:53 UTC (rev 9742)
@@ -63,7 +63,7 @@
         this->shapeMaterials_[RadarViewable::Dot]      = "RadarDot.png";
         this->shapeMaterials_[RadarViewable::Triangle] = "RadarTriangle.png";
         this->shapeMaterials_[RadarViewable::Square]   = "RadarSquare.png";
-        this->setDetectionLimit( 3000.0f );
+        this->setDetectionLimit( 10000.0f );
         this->owner_ = 0;
     }
 




More information about the Orxonox-commit mailing list