[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