[Orxonox-commit 7122] r11739 - code/branches/Presentation_HS17_merge/src/modules/asteroidmining

landauf at orxonox.net landauf at orxonox.net
Mon Feb 12 00:17:34 CET 2018


Author: landauf
Date: 2018-02-12 00:17:34 +0100 (Mon, 12 Feb 2018)
New Revision: 11739

Modified:
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc
   code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h
Log:
[AsteroidMining_HS17] fixed a bunch of compiler warnings

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.cc	2018-02-11 23:17:34 UTC (rev 11739)
@@ -114,7 +114,7 @@
 
     }
 
-    void AsteroidMinable::setSize(int s)
+    void AsteroidMinable::setSize(float s)
     {
         this->size = s;
         this->health_ = 15*size;
@@ -213,10 +213,10 @@
 
     if (this->size <=1){return;} // Absicherung trivialer Fall
 
-    int massRem = this->size-1; //some mass is lost
-    int num = round(rnd()*(massRem-1)) + 1; // random number of children, at least one
+    float massRem = (this->size-1); //some mass is lost
+    int num = (int)roundf(rnd(massRem-1)) + 1; // random number of children, at least one
     if(num > 10){num = 10;} // no max function in C? 
-    std::vector<int> masses(num); // Masses of the asteroids
+    std::vector<float> masses(num); // Masses of the asteroids
     // orxout() << "SpawnChildren(): Passed basic stuff. num = " << num << "; massRem(total) = "<< massRem << endl;
     massRem = massRem-num; // mass must be at least one, add later.  
 
@@ -227,7 +227,7 @@
     // Discusting C stuff -> use that to initialise dynamic array values to 0. 
     for(int twat = 0; twat<num; ++twat)
     {
-        masses[twat] = 0;
+        masses[twat] = 0.0f;
         phi[twat] = 0.0f;
         theta[twat] = 0.0f;
     }
@@ -235,8 +235,8 @@
     float piG = 3.1415927410125732421875; //pi; // Math.pi ist statisch oder so. 
     float d_p = 2*piG/num;
     float d_t = piG/num;
-    float p = d_p/2.0;
-    float t = d_t/2.0;
+    float p = d_p/2.0f;
+    float t = d_t/2.0f;
     // float phiOffset = rnd()*2*pi; // Added everywhere to become independent of the coordinate system?
     // float thetaOffset = rnd()*pi;
     float rScaling; // scale radius to prevent asteroids from touching. (distance=AsteroidRadius/tan(sector/2))
@@ -250,13 +250,13 @@
         int pos; // insert at random position (linear probing) in array, to get some randomness.  
         for(int it = 0; it<num; ++it){
 
-            pos = mod((int)(rnd()*num),num); 
+            pos = mod((int)(rnd((float)num)),num);
             while(phi[pos] != 0.0){// find empty spot in array
                 pos = (int)mod(++pos, num);
             }
             phi[pos] = p + it*d_p;// set angle there
 
-            pos = mod((int)(rnd()*num),num);
+            pos = mod((int)(rnd((float)num)),num);
             while(theta[pos] != 0.0){
                 pos = (int)mod(++pos, num);
             }
@@ -270,17 +270,17 @@
 
     // Triangular, discrete probability "density" with max at the average value massRem/num. 50% chance to be below that. 
     if(massRem>0){
-        int c = massRem;
+        int c = (int)massRem;
         std::vector<float> probDensity(c);
 
-        int a = round(massRem/num);
+        int a = (int)roundf(massRem/num);
         int b = c-a;
         
         int z = 0;
-        float dProbA = 1.0/(a*a + 3.0*a + 2.0); // one 'probability unit' for discrete ramp function. Gauss stuff. 
+        float dProbA = 1.0f/(a*a + 3.0f*a + 2.0f); // one 'probability unit' for discrete ramp function. Gauss stuff.
         for(z = 0; z<a; ++z){probDensity[z] = (z+1)*dProbA; } // rising part
 
-        float dProbB = 1.0/(b*b +3.0*b + 2.0);
+        float dProbB = 1.0f/(b*b +3.0f*b + 2.0f);
         for(z = 0; z<b; ++z){probDensity[c-1-z] = (z+1)*dProbB;} // falling part
     
         // // Just for testing:
@@ -305,7 +305,7 @@
                 ++result;
             }
 
-            masses[trav] = 1 +result; // Fragments have mass of at least one. 
+            masses[trav] = 1.0f + result; // Fragments have mass of at least one.
             massRem = massRem-result;
 
         }

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/AsteroidMinable.h	2018-02-11 23:17:34 UTC (rev 11739)
@@ -93,8 +93,8 @@
             virtual void hit(Pawn* originator, const Vector3& force, const btCollisionShape* cs, float damage, float healthdamage = 0.0f, float shielddamage = 0.0f);
             virtual void hit(Pawn* originator, btManifoldPoint& contactpoint, const btCollisionShape* cs, float damage, float healthdamage = 0.0f, float shielddamage = 0.0f);
 
-            void setSize(int s);
-            inline int getSize(){return this->size;}
+            void setSize(float s);
+            inline float getSize(){return this->size;}
 
             inline void setShattering(bool b){this->generateSmaller = b;}
             inline bool doesShatter(){return this->generateSmaller;}
@@ -104,7 +104,7 @@
 
         protected:
 
-            int size; //!< Implies health and type of dropped pickups
+            float size; //!< Implies health and type of dropped pickups
             bool generateSmaller; //!< Whether this asteroid leaves fragments
             bool dropStuff; //!< Whether this asteroid yields valuable stuff
 

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.cc	2018-02-11 23:17:34 UTC (rev 11739)
@@ -87,13 +87,13 @@
 
         float myPi = 3.1415927410125732421875; //pi; // Math.pi ist statisch oder so. 
         float width = this->radius1 - this->radius0; if(width<0){width = -width;} // predefined abs?
-        float radius = (this->radius1 + this->radius0) / 2.0;
-        int segmentCount = round(this->count / this->segments);
+        float radius = (this->radius1 + this->radius0) / 2.0f;
+        int segmentCount = (int)roundf(this->count / this->segments);
 
         float dPhi = (2 * myPi) / this->segments;
-        float dTheta = 4.0*this->tiltBy/this->segments; 
+        float dTheta = 4.0f*this->tiltBy/this->segments;
         float sepp = -this->tiltAt;
-        float globi = (myPi/2.0) + this->tiltBy;
+        float globi = (myPi/2.0f) + this->tiltBy;
 
         for(int s = 0; s<segments; ++s){
             sepp = sepp + dPhi;

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidBelt.h	2018-02-11 23:17:34 UTC (rev 11739)
@@ -71,23 +71,23 @@
             inline void setMineralDensity(float d){this->mDensity = d;}
             inline float getMineralDensity(){return this->mDensity;}
 
-            inline void setPosition(Vector3 v){this->position = v;}
-            inline Vector3 getPosition(){return this->position;}
+            inline void setPosition(const Vector3& v){this->position = v;}
+            inline const Vector3& getPosition(){return this->position;}
 
             inline void setSegments(int s){this->segments = s;}
             inline int getSegments(){return this->segments;}
 
-            inline void setMaxSize(int i){this->maxSize = i;}
-            inline int getMaxSize(){return this->maxSize;}
+            inline void setMaxSize(float i){this->maxSize = i;}
+            inline float getMaxSize(){return this->maxSize;}
 
-            inline void setMinSize(int i){this->minSize = i;}
-            inline int getMinSize(){return this->minSize;}
+            inline void setMinSize(float i){this->minSize = i;}
+            inline float getMinSize(){return this->minSize;}
 
             inline void setRadius0(float r0){this->radius0 = r0;}
-            inline int getRadius0(){return this->radius0;}
+            inline float getRadius0(){return this->radius0;}
 
             inline void setRadius1(float r1){this->radius1 = r1;}
-            inline int getRadius1(){return this->radius1;}            
+            inline float getRadius1(){return this->radius1;}
 
             inline void setFog(bool f){this->foggy = f;}
             inline bool isFoggy(){return this->foggy;}
@@ -110,8 +110,8 @@
 
             int segments; //!< Number of asteroidFields that get generated. 
             
-            int maxSize; //!< Most obese asteroid possible
-            int minSize; //!< Most meagre asteroid possible
+            float maxSize; //!< Most obese asteroid possible
+            float minSize; //!< Most meagre asteroid possible
 
             float radius0; //!< Inner radius
             float radius1; //!< Outer radius

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.cc	2018-02-11 23:17:34 UTC (rev 11739)
@@ -76,21 +76,21 @@
 
     void SpicedAsteroidField::create(){
 
-        int size;
-        int pX;
-        int pY;
-        int pZ;
+        float size;
+        float pX;
+        float pY;
+        float pZ;
 
         for(int gertrud = 0; gertrud<count; ++gertrud){
 
             AsteroidMinable* a = new AsteroidMinable(this->getContext());
 
-            size = round(rnd()*(this->maxSize - this->minSize)) + this->minSize;
+            size = roundf(rnd(this->maxSize - this->minSize)) + this->minSize;
             a->setSize(size); 
 
-            pX = round(rnd()*2*this->radius) - radius;
-            pY = round(rnd()*2*this->radius) - radius;
-            pZ = round(rnd()*2*this->radius) - radius;
+            pX = roundf(rnd(2*this->radius)) - radius;
+            pY = roundf(rnd(2*this->radius)) - radius;
+            pZ = roundf(rnd(2*this->radius)) - radius;
             Vector3 relPos(pX, pY, pZ);
             a->setPosition(this->position + relPos);
 

Modified: code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h
===================================================================
--- code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h	2018-02-11 22:31:58 UTC (rev 11738)
+++ code/branches/Presentation_HS17_merge/src/modules/asteroidmining/SpicedAsteroidField.h	2018-02-11 23:17:34 UTC (rev 11739)
@@ -59,23 +59,23 @@
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             virtual void tick(float dt) override;
 
-            inline void setCount(float s){this->count = s;}
-            inline float getCount(){return this->count;}
+            inline void setCount(int s){this->count = s;}
+            inline int getCount(){return this->count;}
 
             inline void setMineralDensity(float d){this->mDensity = d;}
             inline float getMineralDensity(){return this->mDensity;}
 
-            inline void setPosition(Vector3 v){this->position = v;}
-            inline Vector3 getPosition(){return this->position;}
+            inline void setPosition(const Vector3& v){this->position = v;}
+            inline const Vector3& getPosition(){return this->position;}
 
-            inline void setMaxSize(int i){this->maxSize = i;}
-            inline int getMaxSize(){return this->maxSize;}
+            inline void setMaxSize(float i){this->maxSize = i;}
+            inline float getMaxSize(){return this->maxSize;}
 
-            inline void setMinSize(int i){this->minSize = i;}
-            inline int getMinSize(){return this->minSize;}
+            inline void setMinSize(float i){this->minSize = i;}
+            inline float getMinSize(){return this->minSize;}
 
             inline void setRadius(float r){this->radius = r;}
-            inline int getRadius(){return this->radius;}
+            inline float getRadius(){return this->radius;}
 
             inline void setFog(bool f){this->foggy = f;}
             inline bool isFoggy(){return this->foggy;}
@@ -85,17 +85,17 @@
 
         protected:
 
-            float count; //!< Number of asteroids generated
+            int count; //!< Number of asteroids generated
             float mDensity; //!< Mineral density, between 0 and 1;
 
             Vector3 position; //!< The center
             
-            int maxSize; //!< Upper bound to asteroid size 
-            int minSize; //!< Lower bound to asteroid size
+            float maxSize; //!< Upper bound to asteroid size
+            float minSize; //!< Lower bound to asteroid size
 
             float radius; //!< Asteroids can appear within a sphere. 
             bool foggy; //!< Whether there's fog
-            float fogDensity; 
+            float fogDensity;
 
 
         private:



More information about the Orxonox-commit mailing list