[Orxonox-commit 5304] r9967 - code/trunk/src/modules/gametypes
landauf at orxonox.net
landauf at orxonox.net
Fri Jan 3 22:14:03 CET 2014
Author: landauf
Date: 2014-01-03 22:14:03 +0100 (Fri, 03 Jan 2014)
New Revision: 9967
Modified:
code/trunk/src/modules/gametypes/RaceCheckPoint.cc
code/trunk/src/modules/gametypes/SpaceRaceController.cc
code/trunk/src/modules/gametypes/SpaceRaceController.h
Log:
call by reference instead of value
Modified: code/trunk/src/modules/gametypes/RaceCheckPoint.cc
===================================================================
--- code/trunk/src/modules/gametypes/RaceCheckPoint.cc 2014-01-03 21:05:55 UTC (rev 9966)
+++ code/trunk/src/modules/gametypes/RaceCheckPoint.cc 2014-01-03 21:14:03 UTC (rev 9967)
@@ -59,9 +59,6 @@
this->checkpointIndex_ = 0;
this->bIsLast_ = false;
this->timeLimit_ = 0;
- //this->players_ = vector<PlayerInfo*>();
-
- //orxout(user_status) << "test" << std::endl;
}
RaceCheckPoint::~RaceCheckPoint()
Modified: code/trunk/src/modules/gametypes/SpaceRaceController.cc
===================================================================
--- code/trunk/src/modules/gametypes/SpaceRaceController.cc 2014-01-03 21:05:55 UTC (rev 9966)
+++ code/trunk/src/modules/gametypes/SpaceRaceController.cc 2014-01-03 21:14:03 UTC (rev 9967)
@@ -148,18 +148,18 @@
* called from constructor 'SpaceRaceController'
* returns a vector of static Point (checkpoints the spaceship has to reach)
*/
- std::vector<RaceCheckPoint*> SpaceRaceController::findStaticCheckpoints(std::vector<RaceCheckPoint*> allCheckpoints)
+ std::vector<RaceCheckPoint*> SpaceRaceController::findStaticCheckpoints(const std::vector<RaceCheckPoint*>& allCheckpoints)
{
- std::map<RaceCheckPoint*, int> * zaehler = new std::map<RaceCheckPoint*, int>(); // counts how many times the checkpoint was reached (for simulation)
+ std::map<RaceCheckPoint*, int> zaehler; // counts how many times the checkpoint was reached (for simulation)
for (unsigned int i = 0; i < allCheckpoints.size(); i++)
{
- zaehler->insert(std::pair<RaceCheckPoint*, int>(allCheckpoints[i],0));
+ zaehler.insert(std::pair<RaceCheckPoint*, int>(allCheckpoints[i],0));
}
- int maxWays = rekSimulationCheckpointsReached(zaehler->begin()->first, zaehler);
+ int maxWays = rekSimulationCheckpointsReached(zaehler.begin()->first, zaehler);
std::vector<RaceCheckPoint*> returnVec;
returnVec.clear();
- for (std::map<RaceCheckPoint*, int>::iterator iter = zaehler->begin(); iter != zaehler->end(); iter++)
+ for (std::map<RaceCheckPoint*, int>::iterator iter = zaehler.begin(); iter != zaehler.end(); iter++)
{
if (iter->second == maxWays)
{
@@ -167,7 +167,6 @@
returnVec.insert(returnVec.end(), iter->first);
}
}
- delete zaehler;
return returnVec;
}
@@ -175,13 +174,13 @@
* called from 'findStaticCheckpoints'
* return how many ways go from the given Checkpoint to the last Checkpoint (of the Game)
*/
- int SpaceRaceController::rekSimulationCheckpointsReached(RaceCheckPoint* currentCheckpoint, std::map<RaceCheckPoint*, int>* zaehler)
+ int SpaceRaceController::rekSimulationCheckpointsReached(RaceCheckPoint* currentCheckpoint, std::map<RaceCheckPoint*, int>& zaehler)
{
if (currentCheckpoint->isLast())
{// last point reached
- (*zaehler)[currentCheckpoint] += 1;
+ zaehler[currentCheckpoint] += 1;
return 1; // 1 Way form the last point to this one
}
else
@@ -198,7 +197,7 @@
{orxout()<<"Problematic Point: "<<(*it)<<endl;}
numberOfWays += rekSimulationCheckpointsReached(findCheckpoint(*it), zaehler);
}
- (*zaehler)[currentCheckpoint] += numberOfWays;
+ zaehler[currentCheckpoint] += numberOfWays;
return numberOfWays; // returns the number of ways from this point to the last one
}
}
@@ -244,7 +243,7 @@
* called from 'nextPointFind'
* returns the distance between "currentPosition" and the next static checkpoint that can be reached from "currentCheckPoint"
*/
- float SpaceRaceController::recCalculateDistance(RaceCheckPoint* currentCheckPoint, Vector3 currentPosition)
+ float SpaceRaceController::recCalculateDistance(RaceCheckPoint* currentCheckPoint, const Vector3& currentPosition)
{
// find: looks if the currentCheckPoint is a staticCheckPoint (staticCheckPoint is the same as: static Point)
if (std::find(staticRacePoints_.begin(), staticRacePoints_.end(), currentCheckPoint) != staticRacePoints_.end())
@@ -294,7 +293,7 @@
return NULL;
}
- /*RaceCheckPoint* SpaceRaceController::addVirtualCheckPoint( RaceCheckPoint* previousCheckpoint, int indexFollowingCheckPoint , Vector3 virtualCheckPointPosition )
+ /*RaceCheckPoint* SpaceRaceController::addVirtualCheckPoint( RaceCheckPoint* previousCheckpoint, int indexFollowingCheckPoint , const Vector3& virtualCheckPointPosition )
{
orxout()<<"add VCP at"<<virtualCheckPointPosition.x<<", "<<virtualCheckPointPosition.y<<", "<<virtualCheckPointPosition.z<<endl;
RaceCheckPoint* newTempRaceCheckPoint;
@@ -392,7 +391,7 @@
}
// True if a coordinate of 'pointToPoint' is smaller then the corresponding coordinate of 'groesse'
- bool SpaceRaceController::vergleicheQuader(Vector3 pointToPoint, Vector3 groesse)
+ bool SpaceRaceController::vergleicheQuader(const Vector3& pointToPoint, const Vector3& groesse)
{
if(abs(pointToPoint.x) < groesse.x)
return true;
@@ -404,7 +403,7 @@
}
- bool SpaceRaceController::directLinePossible(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2,std::vector<StaticEntity*> allObjects)
+ bool SpaceRaceController::directLinePossible(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2, const std::vector<StaticEntity*>& allObjects)
{
Vector3 cP1ToCP2 = (racepoint2->getPosition() - racepoint1->getPosition()) / (racepoint2->getPosition() - racepoint1->getPosition()).length(); //unit Vector
@@ -412,7 +411,7 @@
btVector3 positionObject;
btScalar radiusObject;
- for (std::vector<StaticEntity*>::iterator it = allObjects.begin(); it != allObjects.end(); ++it)
+ for (std::vector<StaticEntity*>::const_iterator it = allObjects.begin(); it != allObjects.end(); ++it)
{
for (int everyShape=0; (*it)->getAttachedCollisionShape(everyShape) != 0; everyShape++)
{
@@ -433,7 +432,7 @@
}
- /*void SpaceRaceController::computeVirtualCheckpoint(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2, std::vector<StaticEntity*> allObjects)
+ /*void SpaceRaceController::computeVirtualCheckpoint(RaceCheckPoint* racepoint1, RaceCheckPoint* racepoint2, const std::vector<StaticEntity*>& allObjects)
{
Vector3 cP1ToCP2=(racepoint2->getPosition()-racepoint1->getPosition()) / (racepoint2->getPosition()-racepoint1->getPosition()).length(); //unit Vector
Vector3 centerCP1=racepoint1->getPosition();
Modified: code/trunk/src/modules/gametypes/SpaceRaceController.h
===================================================================
--- code/trunk/src/modules/gametypes/SpaceRaceController.h 2014-01-03 21:05:55 UTC (rev 9966)
+++ code/trunk/src/modules/gametypes/SpaceRaceController.h 2014-01-03 21:14:03 UTC (rev 9967)
@@ -40,25 +40,25 @@
{
public:
SpaceRaceController(Context* context);
+ virtual ~SpaceRaceController();
virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
- virtual ~SpaceRaceController();
virtual void tick(float dt);
private:
- float recCalculateDistance(RaceCheckPoint*, Vector3 currentPosition);
+ float recCalculateDistance(RaceCheckPoint*, const Vector3& currentPosition);
float distanceSpaceshipToCheckPoint(RaceCheckPoint*);
RaceCheckPoint* nextPointFind(RaceCheckPoint*);
RaceCheckPoint* adjustNextPoint();
- std::vector<RaceCheckPoint*> findStaticCheckpoints(std::vector<RaceCheckPoint*>);
+ std::vector<RaceCheckPoint*> findStaticCheckpoints(const std::vector<RaceCheckPoint*>&);
std::vector<RaceCheckPoint*> staticCheckpoints();
- int rekSimulationCheckpointsReached(RaceCheckPoint*, std::map<RaceCheckPoint*, int>*);
+ int rekSimulationCheckpointsReached(RaceCheckPoint*, std::map<RaceCheckPoint*, int>&);
// same as SpaceRaceManager, but needed to add virtuell Checkpoints ( Checkpoints which don't exist but needed to avoid collisions with big Objects)
RaceCheckPoint* findCheckpoint(int index) const;
- //RaceCheckPoint * addVirtualCheckPoint(RaceCheckPoint*, int , Vector3);
+ //RaceCheckPoint * addVirtualCheckPoint(RaceCheckPoint*, int , const Vector3&);
//void placeVirtualCheckpoints(RaceCheckPoint*, RaceCheckPoint*);
- bool vergleicheQuader(Vector3, Vector3);
- bool directLinePossible(RaceCheckPoint*, RaceCheckPoint*, std::vector<StaticEntity*>);
- //void computeVirtualCheckpoint(RaceCheckPoint*, RaceCheckPoint*, std::vector<StaticEntity*>);
+ bool vergleicheQuader(const Vector3&, const Vector3&);
+ bool directLinePossible(RaceCheckPoint*, RaceCheckPoint*, const std::vector<StaticEntity*>&);
+ //void computeVirtualCheckpoint(RaceCheckPoint*, RaceCheckPoint*, const std::vector<StaticEntity*>&);
std::vector<RaceCheckPoint*> staticRacePoints_;
RaceCheckPoint* nextRaceCheckpoint_; // checkpoint that should be reached
More information about the Orxonox-commit
mailing list