You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(20) |
Feb
(11) |
Mar
(6) |
Apr
(5) |
May
(4) |
Jun
(7) |
Jul
(9) |
Aug
(11) |
Sep
|
Oct
(4) |
Nov
(13) |
Dec
(21) |
2010 |
Jan
(23) |
Feb
(32) |
Mar
(6) |
Apr
(2) |
May
(10) |
Jun
(15) |
Jul
(1) |
Aug
(1) |
Sep
(3) |
Oct
|
Nov
(1) |
Dec
(16) |
2011 |
Jan
(1) |
Feb
(5) |
Mar
(19) |
Apr
(13) |
May
(4) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
(4) |
Feb
(8) |
Mar
(2) |
Apr
(6) |
May
(13) |
Jun
(1) |
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
(4) |
Dec
|
2013 |
Jan
(1) |
Feb
(2) |
Mar
(15) |
Apr
(2) |
May
(4) |
Jun
(17) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
(6) |
Jun
(6) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
(6) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <he...@us...> - 2015-05-10 19:53:17
|
Revision: 391 http://sourceforge.net/p/simspark/svn/391 Author: hedayat Date: 2015-05-10 19:53:15 +0000 (Sun, 10 May 2015) Log Message: ----------- Prepare release notes for rcssserver3d-0.6.9 release Modified Paths: -------------- trunk/rcssserver3d/ChangeLog trunk/rcssserver3d/RELEASE trunk/rcssserver3d/doc/TEXT_INSTEAD_OF_A_MANUAL.txt Modified: trunk/rcssserver3d/ChangeLog =================================================================== --- trunk/rcssserver3d/ChangeLog 2015-05-09 20:31:23 UTC (rev 390) +++ trunk/rcssserver3d/ChangeLog 2015-05-10 19:53:15 UTC (rev 391) @@ -1,3 +1,11 @@ +2015-05-11 Hedayat Vatankhah <hed...@gm...> + + * RELEASE: + - prepared release notes for 0.6.9 release + + * doc/TEXT_INSTEAD_OF_A_MANUAL.txt: + - add small doc for new trainer commands to set score and time + 2014-06-25 Hedayat Vatankhah <hed...@gm...> * NEWS: @@ -9,7 +17,7 @@ * data/rsg/agent/nao/naoleg.rsg: * data/rsg/agent/nao/naolegtoe.rsg: * rcssserver3d/naorobottypes.rb: - - Update robot types for RoboCup 2014 including two new types, one of which + - update robot types for RoboCup 2014 including two new types, one of which has toes! Thanks to Patrick, Stefan and Klaus. 2014-05-30 Hedayat Vatankhah <hed...@gm...> Modified: trunk/rcssserver3d/RELEASE =================================================================== --- trunk/rcssserver3d/RELEASE 2015-05-09 20:31:23 UTC (rev 390) +++ trunk/rcssserver3d/RELEASE 2015-05-10 19:53:15 UTC (rev 391) @@ -1,39 +1,46 @@ -RELEASE News of rcssserver3d-0.6.8.1 +RELEASE News of rcssserver3d-0.6.9 -This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. -It also includes few other changes: a small bug fix, and new hetero robot types -for RoboCup 2014. Now, our Nao robots can have toe! :) +This release comes with a number of bug fixes and also adds some new features +to enhance managing games and also to add more challenges to games, most notably +adding noise to the beam effector. The changes are: -And this is the release news for 0.6.8: -This release mainly comes with 2 new features: 1. labeling hear messages with -team names so that it is clear which team the message comes from. 2. Score -reporting. A few bug fixes are also included. +* Rule Changes: + - Added new rule requiring that the ball must either touch an opponent, or + touch a teammate outside the center circle, before a team taking a + kickoff can score. + - Penalty shootout kickoffs are direct now. -* Hear message labeling: - - Now hear messages include team names - Ex: (hear teamName 9 10 text) - -* Score Reporting: - - Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) +* New Features: + - Added noise to the beam effector with the amount of noise added controlled + by the 'BeamNoiseXY' (in meters) and 'BeamNoiseAngle' (in degrees) + values in naosoccersim.rb. Noise is added to beam X and Y values from + a uniform distribution within the range [-BeamNoiseXY, BeamNoiseXY] + and to beam angle values from a uniform distribution within the range + [-BeamNoiseAngle, BeamNoiseAngle]. + - Added new training command parser commands for setting the game time and + score. They are the following commands: + (time <time>) + (score (left <score>) (right <score>)) + - Added penalty shootout mode where a goal is awarded to the left team + (penalty kicker) if the right team's player (penalty goalie) leaves the + penalty area. -* New Options in naosoccersim.rb: - - LabelMessages - Toggles on/off labeling of messages (default on) - - ReportScores - Toggles on/off score reporting (default on) - - MaxRobotTypeCount - Maximum number of any one robot type that may be - used (default 7 and can be set to 11 to preserve 2013 competition behavior) - - MinRobotTypesCount - Minimum number of robot types that must be used for a - full team (default 3 and can be set to 1 to preserve 2013 competition - behavior) - - MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types - (default 9 but can be set to 11 to preserve 2013 competition behavior) - -* Other changes: - - Robot type checking to ensure that enough robot types (3) are used and that - not too many of any one (7) or two (9) types is used. - - Updating naorobottypes.rb with robot types used in 2013 competitions - - Clear Players in GoalLeft/Right before kickoff to make sure that opponent - doesn't touch ball at the middle of the field. - - Don't enforce crowding rules on kickoff, since opponent should not come - near the ball +* Bug fixes: + - Fixing a bug with free kicks where as soon as the ball was touched, + and the playmode transitioned from freekick to play on, the ball was + still moved back to the location of the freekick preventing the ball from + being directly kicked out of a free kick. Also ensuring that the ball + position for free kicks is updated correctly as this wasn't happening + right after the ball was placed back at the center of the field after + a goal was scored. + - Fixing a bug where a player would be incorrectly called for double + touching the ball on a kickoff if the player first kicked the ball + directly in the opponent's goal from a kickoff, resulting in no goal + being awarded a nd the opposing team being given a kickoff, and then is + the next player to touch the ball in the PlayOn playmode after a dropball + when the opponent doesn't take their kickoff. + - Fixing a bug where rules such as too many players in their own penalty + area was not being enforced. -You can get the package on the Simspark page on SourceForge -at http://sourceforge.net/projects/simspark/ +You can get the package on the Simspark page on SourceForge at +http://sourceforge.net/projects/simspark/ Modified: trunk/rcssserver3d/doc/TEXT_INSTEAD_OF_A_MANUAL.txt =================================================================== --- trunk/rcssserver3d/doc/TEXT_INSTEAD_OF_A_MANUAL.txt 2015-05-09 20:31:23 UTC (rev 390) +++ trunk/rcssserver3d/doc/TEXT_INSTEAD_OF_A_MANUAL.txt 2015-05-10 19:53:15 UTC (rev 391) @@ -760,8 +760,13 @@ Example: ((ball (pos 0.0 0.0 50.0))(getAck moved_ball_in_the_air)) +- (time <time>): + Set current game time +- (score (left <score>) (right <score>)): + Set current game score + 4. External Links ----------------- This section contains links to external resources that may be This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2015-05-09 20:31:25
|
Revision: 390 http://sourceforge.net/p/simspark/svn/390 Author: patmac369 Date: 2015-05-09 20:31:23 +0000 (Sat, 09 May 2015) Log Message: ----------- Fixing a bug with free kicks where as soon as the ball was touched, and the playmode transitioned from free kick to play on, the ball was still moved back to the location of the free kick preventing the ball from being directly kicked out of a free kick. Also ensuring that the ball position for free kicks is updated correctly as this wasn't happening right after the ball was placed back at the center of the field after a goal was scored. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-05-09 15:29:18 UTC (rev 389) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-05-09 20:31:23 UTC (rev 390) @@ -93,6 +93,9 @@ mBallBody->SetVelocity(Vector3f(0,0,0)); mBallBody->SetAngularVelocity(Vector3f(0,0,0)); mBallBody->Enable(); + // Set the free kick position to where we have moved the ball so as to not + // accidentally use an old ball position for the next free kick. + mFreeKickPos = Vector3f(pos.x(), pos.y(), mBallRadius); } /* Uses only Ball and Players positions and detects overcrowind near ball and areas and @@ -1141,7 +1144,6 @@ mRightPenaltyArea.minVec[1] : mRightPenaltyArea.maxVec[1]; } - MoveBall(mFreeKickPos); //-------------------------- // move away opponent team This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2015-05-09 15:29:20
|
Revision: 389 http://sourceforge.net/p/simspark/svn/389 Author: patmac369 Date: 2015-05-09 15:29:18 +0000 (Sat, 09 May 2015) Log Message: ----------- Making penalty shootout kickoffs direct. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-04-23 01:45:03 UTC (rev 388) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-05-09 15:29:18 UTC (rev 389) @@ -1440,14 +1440,19 @@ return false; } - /* don't allow goals directly from kickoff + /* don't allow goals directly from kickoff (penalty shot kickoffs are + * direct) * * todo it is allowed in FIFA rules, so we should get rid of it e.g. by * adding noise to the beam effector so that kickoff kicks cannot be * precisely planned */ boost::shared_ptr<AgentAspect> agent; - if (WasLastKickFromKickOff(agent)) + boost::shared_ptr<GameControlServer> game_control; + if (WasLastKickFromKickOff(agent) + && (SoccerBase::GetGameControlServer(*this, game_control) + && game_control->GetAgentCount() > 2) // todo: remove this when there is a "penalty" playmode + && !mPenaltyShootout) { PunishKickOffFoul(agent); // Return true so that we know the ball is in the goal and don't check This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2015-04-23 01:45:11
|
Revision: 388 http://sourceforge.net/p/simspark/svn/388 Author: patmac369 Date: 2015-04-23 01:45:03 +0000 (Thu, 23 Apr 2015) Log Message: ----------- This commit adds the following new rules and fixes: - Adding new rule requiring that the ball must either touch an opponent, or touch a teammate outside the center circle, before a team taking a kickoff can score. - Adding noise to the beam effector with the amount of noise added controlled by the 'BeamNoiseXY' (in meters) and 'BeamNoiseAngle' (in degrees) values in naosoccersim.rb. Noise is added to beam X and Y values from a uniform distribution within the range [-BeamNoiseXY,BeamNoiseXY] and to beam angle values from a uniform distribution within the range [-BeamNoiseAngle,BeamNoiseAngle]. - Fixing a bug where a player would be incorrectly called for double touching the ball on a kickoff if the player first kicked the ball directly in the opponent's goal from a kickoff, resulting in no goal being awarded and the opposing team being given a kickoff, and then is the next player to touch the ball in the PlayOn playmode after a dropball when the opponent doesn't take their kickoff. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.cpp trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.h trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.cpp trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.h trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h trunk/rcssserver3d/rcssserver3d/naosoccersim.rb Modified: trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.cpp 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.cpp 2015-04-23 01:45:03 UTC (rev 388) @@ -26,6 +26,7 @@ #include <oxygen/agentaspect/agentaspect.h> #include <oxygen/physicsserver/recorderhandler.h> #include <gamestateaspect/gamestateaspect.h> +#include <agentstate/agentstate.h> #include <soccerbase/soccerbase.h> #include <ball/ball.h> @@ -40,6 +41,8 @@ mLastValidBallPos = Vector3f(0,0,0); mGoalState = TI_NONE; mLastAgentCollisionTime = 0; + mCollidingWithLeftTeamAgent = false; + mCollidingWithRightTeamAgent = false; } BallStateAspect::~BallStateAspect() @@ -66,6 +69,9 @@ void BallStateAspect::UpdateLastCollidingAgent() { + mCollidingWithLeftTeamAgent = false; + mCollidingWithRightTeamAgent = false; + // get a list of agents that collided with the ball since the last // update of the recorder and remember the first returned node as // the last agent that collided with the ball. @@ -78,6 +84,26 @@ (agents.front().lock()); mLastAgentCollisionTime = mGameState->GetTime(); + + for (RecorderHandler::TParentList::iterator it = agents.begin(); + it != agents.end(); ++it) { + boost::shared_ptr<oxygen::AgentAspect> agent = + static_pointer_cast<AgentAspect>(it->lock()); + boost::shared_ptr<AgentState> agentState; + if (!SoccerBase::GetAgentState(agent, agentState)) + { + GetLog()->Error() << "ERROR: (SoccerRuleAspect) Cannot" + " get AgentState from an AgentAspect\n"; + } + else { + TTeamIndex team = agentState->GetTeamIndex(); + if (team == TI_LEFT) { + mCollidingWithLeftTeamAgent = true; + } else if (team == TI_RIGHT) { + mCollidingWithRightTeamAgent = true; + } + } + } } // empty the recorder buffer @@ -206,3 +232,16 @@ { return mLastValidBallPos; } + +bool BallStateAspect::GetBallCollidingWithAgentTeam(TTeamIndex team) +{ + if (team == TI_LEFT) { + return mCollidingWithLeftTeamAgent; + } else if (team == TI_RIGHT) { + return mCollidingWithRightTeamAgent; + } else if (team == TI_NONE) { + return !mCollidingWithLeftTeamAgent && !mCollidingWithRightTeamAgent; + } + + return false; +} Modified: trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.h 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/ballstateaspect/ballstateaspect.h 2015-04-23 01:45:03 UTC (rev 388) @@ -76,6 +76,11 @@ /** updates the reference to the last agent that kicked the ball */ void UpdateLastKickingAgent(boost::shared_ptr<oxygen::AgentAspect> agent); + /** returns if ball is currently colliding with an agent from the given + team + */ + bool GetBallCollidingWithAgentTeam(TTeamIndex team); + protected: /** set up the reference to the ball and field collider */ virtual void OnLink(); @@ -128,6 +133,12 @@ /** then time when the last agent collided with the ball */ TTime mLastAgentCollisionTime; + /** if ball is currently colliding with left team agent */ + bool mCollidingWithLeftTeamAgent; + + /** if ball is currently colliding with right team agent */ + bool mCollidingWithRightTeamAgent; + /** then time when the last agent kicked the ball */ TTime mLastAgentKickTime; Modified: trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.cpp 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.cpp 2015-04-23 01:45:03 UTC (rev 388) @@ -37,6 +37,8 @@ BeamEffector::~BeamEffector() { + mXYRng.reset(); + mThetaRng.reset(); } #ifdef __APPLE_CC__ @@ -54,7 +56,9 @@ (mAction.get() == 0) || (mBody.get() == 0) || (mGameState.get() == 0) || - (mAgentState.get() == 0) + (mAgentState.get() == 0) || + (mXYRng.get() == 0) || + (mThetaRng.get() == 0) ) { return; @@ -78,10 +82,10 @@ || mGameState->GetPlayMode() == PM_Goal_Right) { Vector3f pos; - pos[0] = beamAction->GetPosX(); - pos[1] = beamAction->GetPosY(); + pos[0] = beamAction->GetPosX() + (*(mXYRng.get()))(); + pos[1] = beamAction->GetPosY() + (*(mXYRng.get()))(); - float angle = beamAction->GetXYAngle(); + float angle = beamAction->GetXYAngle() + (*(mThetaRng.get()))(); // reject nan or infinite numbers in the beam position if ( @@ -181,6 +185,17 @@ mAgentRadius = 0.22f; SoccerBase::GetSoccerVar(*this,"AgentRadius",mAgentRadius); + + mBeamNoiseXY = 0.05f; + SoccerBase::GetSoccerVar(*this, "BeamNoiseXY",mBeamNoiseXY); + + mBeamNoiseAngle = 10.0f; + SoccerBase::GetSoccerVar(*this, "BeamNoiseAngle",mBeamNoiseAngle); + + UniformRngPtr rng1(new salt::UniformRNG<>(-mBeamNoiseXY,mBeamNoiseXY)); + mXYRng = rng1; + UniformRngPtr rng2(new salt::UniformRNG<>(-mBeamNoiseAngle,mBeamNoiseAngle)); + mThetaRng = rng2; } void @@ -189,5 +204,7 @@ mBody.reset(); mGameState.reset(); mAgentState.reset(); + mXYRng.reset(); + mThetaRng.reset(); } Modified: trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.h 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/beameffector/beameffector.h 2015-04-23 01:45:03 UTC (rev 388) @@ -25,9 +25,13 @@ #include <oxygen/agentaspect/effector.h> #include <oxygen/physicsserver/rigidbody.h> #include <gamestateaspect/gamestateaspect.h> +#include <salt/random.h> class BeamEffector : public oxygen::Effector { +protected: + typedef boost::shared_ptr<salt::UniformRNG<> > UniformRngPtr; + public: BeamEffector(); virtual ~BeamEffector(); @@ -65,8 +69,20 @@ /** the cached field width */ float mFieldWidth; - /** thec cached agent radius */ + /** the cached agent radius */ float mAgentRadius; + + /** random number generator for beam X and Y noise */ + UniformRngPtr mXYRng; + + /** random number generator for beam angle noise */ + UniformRngPtr mThetaRng; + + /** amount of noise added to beam X and Y values */ + float mBeamNoiseXY; + + /** amount of noise added to beam angle value */ + float mBeamNoiseAngle; }; DECLARE_CLASS(BeamEffector); Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-04-23 01:45:03 UTC (rev 388) @@ -76,6 +76,7 @@ mMaxFoulTime(0.0), // maximum time allowed for a player to commit a positional foul before being repositioned mLastKickOffKickTime(0), mCheckKickOffKickerFoul(false), + mAllowKickOffTeamToScore(true), mPenaltyShootout(false) { mFreeKickPos = Vector3f(0.0,0.0,mBallRadius); @@ -1022,6 +1023,9 @@ { mGameState->SetPaused(false); + mCheckKickOffKickerFoul = false; + mAllowKickOffTeamToScore = true; + ClearPlayersBeforeKickOff(idx); // if no player touched the ball for mDropBallTime, we move away @@ -1045,10 +1049,12 @@ if (time > mGameState->GetLastModeChange()) { boost::shared_ptr<GameControlServer> game_control; - if (SoccerBase::GetGameControlServer(*this, game_control) - && game_control->GetAgentCount() > 2) // todo: remove this when there is a "penalty" playmode + if ((SoccerBase::GetGameControlServer(*this, game_control) + && game_control->GetAgentCount() > 2) // todo: remove this when there is a "penalty" playmode + && !mPenaltyShootout) { mCheckKickOffKickerFoul = true; + mAllowKickOffTeamToScore = false; } mLastKickOffKickTime = time; mLastKickOffTaker = agent; @@ -1444,9 +1450,34 @@ if (WasLastKickFromKickOff(agent)) { PunishKickOffFoul(agent); - return false; + // Return true so that we know the ball is in the goal and don't check + // for other conditions such as the ball being out of bounds + return true; } + /* Don't allow goals kicked from inside center circle directly after + kickoff + */ + if (!mAllowKickOffTeamToScore) { + boost::shared_ptr<AgentState> agentState; + if (!SoccerBase::GetAgentState(mLastKickOffTaker, agentState)) + { + GetLog()->Error() << "ERROR: (SoccerRuleAspect) Cannot" + " get AgentState from an AgentAspect\n"; + } + else { + TTeamIndex team = agentState->GetTeamIndex(); + if (idx != team) { + // Team that scored is same team that took kickoff + PunishKickOffFoul(mLastKickOffTaker); + // Return true so that we know the ball is in the goal and + // don't check for other conditions such as the ball being out + // of bounds + return true; + } + } + } + // score the lucky team mGameState->ScoreTeam((idx == TI_LEFT) ? TI_RIGHT : TI_LEFT); mGameState->SetPlayMode((idx == TI_LEFT) ? PM_Goal_Right : PM_Goal_Left); @@ -1478,6 +1509,13 @@ { mGameState->SetPaused(false); + // check that player who took kickoff doesn't touch the ball a second + // time before another agent touches the ball + if (CheckKickOffTakerFoul()) + { + return; + } + // check if the ball is in one of the goals if (CheckGoal()) { @@ -1498,11 +1536,6 @@ } #endif - if (CheckKickOffTakerFoul()) - { - return; - } - // other checks go here... } @@ -1602,6 +1635,28 @@ mLastModeWasPlayOn = false; + if (!mAllowKickOffTeamToScore) { + // Check if requirements/rules have been met for team taking kickoff + // to score + boost::shared_ptr<AgentState> agentState; + if (!SoccerBase::GetAgentState(mLastKickOffTaker, agentState)) + { + GetLog()->Error() << "ERROR: (SoccerRuleAspect) Cannot" + " get AgentState from an AgentAspect\n"; + } + else { + TTeamIndex team = agentState->GetTeamIndex(); + bool ballTouchedByKickOffTeam = + mBallState->GetBallCollidingWithAgentTeam(team); + bool ballTouchedByNonKickOffTeam = + mBallState->GetBallCollidingWithAgentTeam(SoccerBase::OpponentTeam(team)); + salt::Vector2f ball_pos(mBallBody->GetPosition().x(), mBallBody->GetPosition().y()); + bool ballOutsideCenterCircle = ball_pos.Length() > mFreeKickDist; + mAllowKickOffTeamToScore = ballTouchedByNonKickOffTeam || + (ballTouchedByKickOffTeam && ballOutsideCenterCircle); + } + } + switch (playMode) { case PM_BeforeKickOff: Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2015-04-23 01:45:03 UTC (rev 388) @@ -448,6 +448,8 @@ boost::shared_ptr<oxygen::AgentAspect> mLastKickOffTaker; /** if kickoff taker should be checked for single kick rule */ bool mCheckKickOffKickerFoul; + /** if kickoff taking team has met requirements/rules to score */ + bool mAllowKickOffTeamToScore; /** if in penalty shootout mode */ bool mPenaltyShootout; Modified: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2015-03-27 19:39:48 UTC (rev 387) +++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2015-04-23 01:45:03 UTC (rev 388) @@ -98,6 +98,10 @@ addSoccerVar('ReportScore', true) addSoccerVar('LabelMessages', true) +# Noise added to requested beam positions +addSoccerVar('BeamNoiseXY',0.05) +addSoccerVar('BeamNoiseAngle',10.0) + # auto ref parameters for testing (not for use in competition...) #addSoccerVar('NotStandingMaxTime',10) #addSoccerVar('GoalieNotStandingMaxTime',30) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2015-03-27 19:39:58
|
Revision: 387 http://sourceforge.net/p/simspark/svn/387 Author: hedayat Date: 2015-03-27 19:39:48 +0000 (Fri, 27 Mar 2015) Log Message: ----------- Merge trunk/ with gui-bullet branch Modified Paths: -------------- branches/gui-bullet/rcssserver3d/CMakeLists.txt branches/gui-bullet/rcssserver3d/ChangeLog branches/gui-bullet/rcssserver3d/NEWS branches/gui-bullet/rcssserver3d/RELEASE branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naoleg.rsg branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h branches/gui-bullet/rcssserver3d/rcssserver3d/naorobottypes.rb branches/gui-bullet/rcssserver3d/rcssserver3d/naosoccersim.rb branches/gui-bullet/spark/ChangeLog Added Paths: ----------- branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg Property Changed: ---------------- branches/gui-bullet/ branches/gui-bullet/rcssserver3d/ Index: branches/gui-bullet =================================================================== --- branches/gui-bullet 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet 2015-03-27 19:39:48 UTC (rev 387) Property changes on: branches/gui-bullet ___________________________________________________________________ Added: svn:mergeinfo ## -0,0 +1 ## +/trunk:358-386 \ No newline at end of property Index: branches/gui-bullet/rcssserver3d =================================================================== --- branches/gui-bullet/rcssserver3d 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d 2015-03-27 19:39:48 UTC (rev 387) Property changes on: branches/gui-bullet/rcssserver3d ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1 ## -/trunk/rcssserver3d:329-355,360-372 +/trunk/rcssserver3d:329-355,358-386 \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/CMakeLists.txt =================================================================== --- branches/gui-bullet/rcssserver3d/CMakeLists.txt 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/CMakeLists.txt 2015-03-27 19:39:48 UTC (rev 387) @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.6) project(rcssserver3d CXX C) -set(PACKAGE_VERSION "0.6.7") +set(PACKAGE_VERSION "0.6.8.1") ########## check for headerfiles/libraries ########## include(CheckIncludeFile) Modified: branches/gui-bullet/rcssserver3d/ChangeLog =================================================================== --- branches/gui-bullet/rcssserver3d/ChangeLog 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/ChangeLog 2015-03-27 19:39:48 UTC (rev 387) @@ -1,3 +1,26 @@ +2014-06-25 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - prepared for 0.6.8.1 release + + * data/rsg/agent/nao/nao_hetero.rsg: + * data/rsg/agent/nao/naoleg.rsg: + * data/rsg/agent/nao/naolegtoe.rsg: + * rcssserver3d/naorobottypes.rb: + - Update robot types for RoboCup 2014 including two new types, one of which + has toes! Thanks to Patrick, Stefan and Klaus. + +2014-05-30 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - prepared for 0.6.8 release; including changes in this release like hear + message labeling, score reporting and bug fixes not documented in + ChangeLog + 2013-06-20 Hedayat Vatankhah <hed...@gm...> * plugin/soccermonitor/CMakeLists.txt: Modified: branches/gui-bullet/rcssserver3d/NEWS =================================================================== --- branches/gui-bullet/rcssserver3d/NEWS 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/NEWS 2015-03-27 19:39:48 UTC (rev 387) @@ -1,6 +1,42 @@ +[0.6.8.1] +This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. +It also includes few other changes: a small bug fix, and new hetero robot types +for RoboCup 2014. Now, our Nao robots can have toe! :) + +[0.6.8] +This release mainly comes with 2 new features: 1. labeling hear messages with +team names so that it is clear which team the message comes from. 2. Score +reporting. A few bug fixes are also included. + +* Hear message labeling: + - Now hear messages include team names - Ex: (hear teamName 9 10 text) + +* Score Reporting: + - Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) + +* New Options in naosoccersim.rb: + - LabelMessages - Toggles on/off labeling of messages (default on) + - ReportScores - Toggles on/off score reporting (default on) + - MaxRobotTypeCount - Maximum number of any one robot type that may be + used (default 7 and can be set to 11 to preserve 2013 competition behavior) + - MinRobotTypesCount - Minimum number of robot types that must be used for a + full team (default 3 and can be set to 1 to preserve 2013 competition + behavior) + - MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types + (default 9 but can be set to 11 to preserve 2013 competition behavior) + +* Other changes: + - Robot type checking to ensure that enough robot types (3) are used and that + not too many of any one (7) or two (9) types is used. + - Updating naorobottypes.rb with robot types used in 2013 competitions + - Clear Players in GoalLeft/Right before kickoff to make sure that opponent + doesn't touch ball at the middle of the field. + - Don't enforce crowding rules on kickoff, since opponent should not come + near the ball + [0.6.7] This is the RoboCup 2013 release. It comes with some bug fixes, and also -compatibility with latest Boost libraries. New foulds and new debugging +compatibility with latest Boost libraries. New fouls and new debugging facility are provided. Now, fouls are sent to the monitor so that it can provide visual feedback about them. Finally, support for heterogeneous robots is added and two sample types are provided. Modified: branches/gui-bullet/rcssserver3d/RELEASE =================================================================== --- branches/gui-bullet/rcssserver3d/RELEASE 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/RELEASE 2015-03-27 19:39:48 UTC (rev 387) @@ -1,49 +1,39 @@ -RELEASE News of rcssserver3d-0.6.7 +RELEASE News of rcssserver3d-0.6.8.1 -This is the RoboCup 2013 release. It comes with some bug fixes, and also -compatibility with latest Boost libraries. New foulds and new debugging -facility are provided. Now, fouls are sent to the monitor so that it can -provide visual feedback about them. Finally, support for heterogeneous robots -is added and two sample types are provided. +This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. +It also includes few other changes: a small bug fix, and new hetero robot types +for RoboCup 2014. Now, our Nao robots can have toe! :) -* Heterogeneous Players: - This release supports heterogeneous players. Currently, two extra Nao robots - are provided beside the standard Nao (thanks Stefan and Klaus). +And this is the release news for 0.6.8: +This release mainly comes with 2 new features: 1. labeling hear messages with +team names so that it is clear which team the message comes from. 2. Score +reporting. A few bug fixes are also included. + +* Hear message labeling: + - Now hear messages include team names - Ex: (hear teamName 9 10 text) - - Usage: to use the new heterogeneous players, a new scene command should be - used. While the old style scene commands work, for using hetero players you - should send "(scene rsg/agent/nao/nao_hetero.rsg TYPE_NO)", in which TYPE_NO - is the type number of the player type. Type 0 is the standard type, and - hetero types start from 1. Therefore, to load Nao type 1 the following - command should be sent: (scene rsg/agent/nao/nao_hetero.rsg 1). Notice that - you can use the new style command for loading standard Nao, using 0 as - TYPE_NO. - - - Heterogeneous Robot Parameters: The robot parameters for different types - are defined in a new file: "naorobottypes.rb". New types can be added to the - array. But to define new parameters, corresponding .rsg files should be - modified. - - - Rules: Each team can use a limited number of hetero players. The limits - can be configured in naosoccersim.rb using "MaxTotalHeteroCount" and - "MaxHeteroTypeCount" variables. The former limits the total number of hetero - players for each team, and the latter specifies the maximum number of players - of a single hetero player type. +* Score Reporting: + - Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) -* Other Features/Changes: - - Charging fouls rules are added (thanks Patrick). These fouls are not - penalized, but recorded and sent to the monitor. New rules can be configured - in naosoccersim.rb. - - Fouls are added to the monitor protocol to provide visual feedback about - them to viewers. - - For debugging purposes, sensing the orientation of the agent can be - enabled using "setSenseMyOrien" option in the .rsg file of an agent (added - by Patrick) - - A player can kick the ball in kickoff if there are only 2 players in - the field to support current penalty mode. - - Fixed bugs in goal counting when changing team sides in the second half. - Now, this feature should work fine. However, it is disabled by default now - since we don't use it currently in the competitions. +* New Options in naosoccersim.rb: + - LabelMessages - Toggles on/off labeling of messages (default on) + - ReportScores - Toggles on/off score reporting (default on) + - MaxRobotTypeCount - Maximum number of any one robot type that may be + used (default 7 and can be set to 11 to preserve 2013 competition behavior) + - MinRobotTypesCount - Minimum number of robot types that must be used for a + full team (default 3 and can be set to 1 to preserve 2013 competition + behavior) + - MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types + (default 9 but can be set to 11 to preserve 2013 competition behavior) + +* Other changes: + - Robot type checking to ensure that enough robot types (3) are used and that + not too many of any one (7) or two (9) types is used. + - Updating naorobottypes.rb with robot types used in 2013 competitions + - Clear Players in GoalLeft/Right before kickoff to make sure that opponent + doesn't touch ball at the middle of the field. + - Don't enforce crowding rules on kickoff, since opponent should not come + near the ball You can get the package on the Simspark page on SourceForge at http://sourceforge.net/projects/simspark/ Modified: branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg =================================================================== --- branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg 2015-03-27 19:39:48 UTC (rev 387) @@ -25,6 +25,9 @@ (def $TorsoInitZ 1.5) (def $loadObj (eval Nao.UseTexture)) + +(def $useToe (eval "NaoType["$type"]['UseToe']")) + ; ;Begin Construct of Nao ; @@ -131,18 +134,38 @@ ; ;The Right Leg ; - (importScene rsg/agent/nao/naoleg.rsg - 1 r - $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj - $type) - + (switch $useToe + (true + (importScene rsg/agent/nao/naolegtoe.rsg + 1 r + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + (false + (importScene rsg/agent/nao/naoleg.rsg + 1 r + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + ) + ; ;The Left Leg ; - (importScene rsg/agent/nao/naoleg.rsg - -1 l - $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj - $type) + (switch $useToe + (true + (importScene rsg/agent/nao/naolegtoe.rsg + -1 l + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + (false + (importScene rsg/agent/nao/naoleg.rsg + -1 l + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + ) );end of nd Space Modified: branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naoleg.rsg =================================================================== --- branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naoleg.rsg 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naoleg.rsg 2015-03-27 19:39:48 UTC (rev 387) @@ -47,9 +47,11 @@ ; ;Position Parameters ; - (def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + ;(def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + (def $Hip1RelTorso_X (eval $LRFactor * (eval "NaoType["$type"]['Hip1RelTorso_X']"))) (def $Hip1RelTorso_Y -0.01) - (def $Hip1RelTorso_Z -0.115) + ;(def $Hip1RelTorso_Z -0.115) + (def $Hip1RelTorso_Z (eval "NaoType["$type"]['Hip1RelTorso_Z']")) (def $Hip2RelHip1_X 0) (def $Hip2RelHip1_Y 0) Copied: branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg (from rev 386, trunk/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg) =================================================================== --- branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg (rev 0) +++ branches/gui-bullet/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg 2015-03-27 19:39:48 UTC (rev 387) @@ -0,0 +1,447 @@ +; -*- mode: lisp; -*- + +(RSG 0 1) +( + ; + ;Template + ;@param LRFactor is (left_leg ? -1 : 1) + ; + (templ $LRFactor $LeftOrRight + $Torso_X $Torso_Y $Torso_Z $loadObj + $type + ) + + ; + ;The Names + ; + (def $Hip1Name (join $LeftOrRight hip1)) + (def $Hip2Name (join $LeftOrRight hip2)) + (def $ThighName (join $LeftOrRight thigh)) + (def $ShankName (join $LeftOrRight shank)) + (def $AnkleName (join $LeftOrRight ankle)) + (def $FootName (join $LeftOrRight foot)) + (def $ToeName (join $LeftOrRight toe)) + + (def $Hip1BodyPath (join ../../ $Hip1Name /sphereBody)) + (def $Hip2BodyPath (join ../../ $Hip2Name /sphereBody)) + (def $ThighBodyPath (join ../../ $ThighName /boxBody)) + (def $ShankBodyPath (join ../../ $ShankName /boxBody)) + (def $AnkleBodyPath (join ../../ $AnkleName /sphereBody)) + (def $FootBodyPath (join ../../ $FootName /boxBody)) + (def $ToeBodyPath (join ../../ $ToeName /boxBody)) + + (def $Joint1PerName (join $LeftOrRight lj1)) + (def $Joint2PerName (join $LeftOrRight lj2)) + (def $Joint3PerName (join $LeftOrRight lj3)) + (def $Joint4PerName (join $LeftOrRight lj4)) + (def $Joint5PerName (join $LeftOrRight lj5)) + (def $Joint6PerName (join $LeftOrRight lj6)) + (def $Joint7PerName (join $LeftOrRight lj7)) + + (def $Joint1EffName (join $LeftOrRight le1)) + (def $Joint2EffName (join $LeftOrRight le2)) + (def $Joint3EffName (join $LeftOrRight le3)) + (def $Joint4EffName (join $LeftOrRight le4)) + (def $Joint5EffName (join $LeftOrRight le5)) + (def $Joint6EffName (join $LeftOrRight le6)) + (def $Joint7EffName (join $LeftOrRight le7)) + + (def $FRPName (join $LeftOrRight f)) + (def $FRPToeName (join $LeftOrRight f1)) + + ; + ;Size and Mass Parameters + ; + (def $Hip1Radius 0.01) + (def $Hip1Mass 0.09) + + (def $Hip2Radius 0.01) + (def $Hip2Mass 0.125) + + (def $ThighSizeX 0.07) + (def $ThighSizeY 0.07) + (def $ThighSizeZ 0.14) + (def $ThighMass 0.275) + + (def $ShankSizeX 0.08) + (def $ShankSizeY 0.07) + (def $ShankSizeZ 0.11) + (def $ShankMass 0.225) + + (def $AnkleRadius 0.01) + (def $AnkleMass 0.125) + + (def $ToeLength (eval "NaoType["$type"]['ToeLength']")) + (def $TotalFootLength 0.16) + (def $FootToeMassRatio (eval (eval $ToeLength / $TotalFootLength) * 0.5)) + (def $FootTotalMass 0.2) + + (def $FootSizeX 0.08) + (def $FootSizeY (eval $TotalFootLength - $ToeLength)) + (def $FootSizeZ 0.02) + (def $FootMass (eval (eval 1 - $FootToeMassRatio) * $FootTotalMass)) + + (def $ToeSizeX 0.08) + (def $ToeSizeY $ToeLength) + (def $ToeSizeZ 0.01) + (def $ToeMass (eval $FootToeMassRatio * $FootTotalMass)) + + + ; + ;Position Parameters + ; + ;(def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + (def $Hip1RelTorso_X (eval $LRFactor * (eval "NaoType["$type"]['Hip1RelTorso_X']"))) + (def $Hip1RelTorso_Y -0.01) + ;(def $Hip1RelTorso_Z -0.115) + (def $Hip1RelTorso_Z (eval "NaoType["$type"]['Hip1RelTorso_Z']")) + + (def $Hip2RelHip1_X 0) + (def $Hip2RelHip1_Y 0) + (def $Hip2RelHip1_Z 0) + + (def $ThighRelHip2_X 0) + (def $ThighRelHip2_Y 0.01) + ;(def $ThighRelHip2_Z -0.04) + (def $ThighRelHip2_Z (eval "NaoType["$type"]['ThighRelHip2_Z']")) + + (def $ShankRelThigh_X 0) + (def $ShankRelThigh_Y 0.005) + (def $ShankRelThigh_Z -0.125) + + (def $AnkleRelShank_X 0) + (def $AnkleRelShank_Y -0.01) + ;(def $AnkleRelShank_Z -0.055) + (def $AnkleRelShank_Z (eval "NaoType["$type"]['AnkleRelShank_Z']")) + + (def $FootRelAnkle_X 0) + (def $FootRelAnkle_Y (eval (eval $FootSizeY * 0.5) - 0.05)) + (def $FootRelAnkle_Z -0.04) + + (def $ToeRelFoot_X 0) + (def $ToeRelFoot_Y (eval $TotalFootLength * 0.5)) + (def $ToeRelFoot_Z -0.005) + + (def $Hip1_X (eval $Torso_X + $Hip1RelTorso_X)) + (def $Hip1_Y (eval $Torso_Y + $Hip1RelTorso_Y)) + (def $Hip1_Z (eval $Torso_Z + $Hip1RelTorso_Z)) + + (def $Hip2_X (eval $Hip1_X + $Hip2RelHip1_X)) + (def $Hip2_Y (eval $Hip1_Y + $Hip2RelHip1_Y)) + (def $Hip2_Z (eval $Hip1_Z + $Hip2RelHip1_Z)) + + (def $Thigh_X (eval $Hip2_X + $ThighRelHip2_X)) + (def $Thigh_Y (eval $Hip2_Y + $ThighRelHip2_Y)) + (def $Thigh_Z (eval $Hip2_Z + $ThighRelHip2_Z)) + + (def $Shank_X (eval $Thigh_X + $ShankRelThigh_X)) + (def $Shank_Y (eval $Thigh_Y + $ShankRelThigh_Y)) + (def $Shank_Z (eval $Thigh_Z + $ShankRelThigh_Z)) + + (def $Ankle_X (eval $Shank_X + $AnkleRelShank_X)) + (def $Ankle_Y (eval $Shank_Y + $AnkleRelShank_Y)) + (def $Ankle_Z (eval $Shank_Z + $AnkleRelShank_Z)) + + (def $Foot_X (eval $Ankle_X + $FootRelAnkle_X)) + (def $Foot_Y (eval $Ankle_Y + $FootRelAnkle_Y)) + (def $Foot_Z (eval $Ankle_Z + $FootRelAnkle_Z)) + + (def $Toe_X (eval $Foot_X + $ToeRelFoot_X)) + (def $Toe_Y (eval $Foot_Y + $ToeRelFoot_Y)) + (def $Toe_Z (eval $Foot_Z + $ToeRelFoot_Z)) + + ; + ;Joint Parameters + ; + (def $PI 3.14159265) + (def $MaxAbsJointSpeed (eval $PI * (eval 351.77 / 180.0))) + + (def $lj1_min -90) + (def $lj1_max 1) + (def $lj1_max_abs_speed $MaxAbsJointSpeed) + + (def $right_lj2_min -45) + (def $left_lj2_min -25) + (def $lj2_min_c1 (eval (eval $right_lj2_min + $left_lj2_min) * 0.5)) + (def $lj2_min_c2 (eval (eval $right_lj2_min - $left_lj2_min) * 0.5)) + (def $lj2_min (eval $lj2_min_c1 + (eval $LRFactor * $lj2_min_c2))) + + (def $right_lj2_max 25) + (def $left_lj2_max 45) + (def $lj2_max_c1 (eval (eval $right_lj2_max + $left_lj2_max) * 0.5)) + (def $lj2_max_c2 (eval (eval $right_lj2_max - $left_lj2_max) * 0.5)) + (def $lj2_max (eval $lj2_max_c1 + (eval $LRFactor * $lj2_max_c2))) + (def $lj2_max_abs_speed $MaxAbsJointSpeed) + + (def $lj3_min -25) + (def $lj3_max 100) + (def $lj3_max_abs_speed $MaxAbsJointSpeed) + + (def $lj4_min -130) + (def $lj4_max 1) + (def $lj4_max_abs_speed $MaxAbsJointSpeed) + + (def $lj5_min -45) + (def $lj5_max 75) + (def $lj5_max_abs_speed (eval "NaoType["$type"]['lj5_max_abs_speed']")) + + (def $right_lj6_min -25) + (def $left_lj6_min -45) + (def $lj6_min_c1 (eval (eval $right_lj6_min + $left_lj6_min) * 0.5)) + (def $lj6_min_c2 (eval (eval $right_lj6_min - $left_lj6_min) * 0.5)) + (def $lj6_min (eval $lj6_min_c1 + (eval $LRFactor * $lj6_min_c2))) + + (def $right_lj6_max 45) + (def $left_lj6_max 25) + (def $lj6_max_c1 (eval (eval $right_lj6_max + $left_lj6_max) * 0.5)) + (def $lj6_max_c2 (eval (eval $right_lj6_max - $left_lj6_max) * 0.5)) + (def $lj6_max (eval $lj6_max_c1 + (eval $LRFactor * $lj6_max_c2))) + (def $lj6_max_abs_speed (eval "NaoType["$type"]['lj6_max_abs_speed']")) + + (def $lj7_min -1) + (def $lj7_max 70) + (def $lj7_max_abs_speed $MaxAbsJointSpeed) + + (def $lj1_axis_x -0.7071) + (def $lj1_axis_y 0) + (def $lj1_axis_z (eval $LRFactor * 0.7071)) + + (def $lj3_Anchor_X (eval -1 * $ThighRelHip2_X)) + (def $lj3_Anchor_Y (eval -1 * $ThighRelHip2_Y)) + (def $lj3_Anchor_Z (eval -1 * $ThighRelHip2_Z)) + + (def $lj6_Anchor_X 0) + (def $lj6_Anchor_Y -0.03) + (def $lj6_Anchor_Z 0.035) + + (def $lj7_Anchor_X 0) + (def $lj7_Anchor_Y (eval -0.5 * $ToeLength)) + (def $lj7_Anchor_Z -0.005) + + ; + ;Models obj + ; + (def $ThighObj (join models/ $LeftOrRight thigh.obj)) + (def $ShankObj (join models/ $LeftOrRight shank.obj)) + (def $FootObj (join models/ $LeftOrRight foot.obj)) + + ; + ;Construct Hip1 + ; + (nd Transform + (setName $Hip1Name) + (setLocalPos $Hip1_X $Hip1_Y $Hip1_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $Hip1Radius matYellow) + ;(importScene rsg/agent/nao/sphere_physics $Hip1Radius $Hip1Mass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $Hip1Radius $Hip1Mass) + + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint1PerName $Joint1EffName + ../sphereBody ../../body/boxBody + 0 0 0 + $lj1_axis_x $lj1_axis_y $lj1_axis_z + $lj1_min $lj1_max + $lj1_max_abs_speed) + ) + + ; + ;Construct Hip2 + ; + (nd Transform + (setName $Hip2Name) + (setLocalPos $Hip2_X $Hip2_Y $Hip2_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $Hip2Radius matYellow) + ;(importScene rsg/agent/nao/sphere_physics.rsg $Hip2Radius $Hip2Mass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $Hip2Radius $Hip2Mass) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint2PerName $Joint2EffName + ../sphereBody $Hip1BodyPath + 0 0 0 ;anchor + 0 1 0 ;axis + $lj2_min $lj2_max + $lj2_max_abs_speed) + ) + + ; + ;Construct Thigh + ; + (nd Transform + (setName $ThighName) + (setLocalPos $Thigh_X $Thigh_Y $Thigh_Z) + + (switch $loadObj + (true + (nd StaticMesh (load $ThighObj) (setScale $ThighSizeX $ThighSizeX $ThighSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ThighSizeX $ThighSizeY $ThighSizeZ matBlue) + ) + ) + + ;(importScene rsg/agent/nao/box_physics.rsg $ThighSizeX $ThighSizeY $ThighSizeZ $ThighMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ThighSizeX $ThighSizeY $ThighSizeZ $ThighMass) + + (nd BoxCollider + (setName (join $LeftOrRight ThighCollider)) + (addNotCollideWithColliderName TorsoCollider true) + (setBoxLengths $ThighSizeX $ThighSizeY $ThighSizeZ) + (importScene rsg/agent/nao/contactjointhandler.rsg) + ) + + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint3PerName $Joint3EffName + ../boxBody $Hip2BodyPath + $lj3_Anchor_X $lj3_Anchor_Y $lj3_Anchor_Z + 1 0 0 ;1 -1 -1 + $lj3_min $lj3_max + $lj3_max_abs_speed) + + ) + + ; + ;Construct Shank + ; + (nd Transform + (setName $ShankName) + (setLocalPos $Shank_X $Shank_Y $Shank_Z) + + (switch $loadObj + (true + (nd StaticMesh (load $ShankObj) (setScale $ShankSizeX $ShankSizeX $ShankSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ShankSizeX $ShankSizeY $ShankSizeZ matGrey) + ) + ) + + ;(importScene rsg/agent/nao/box_physics.rsg $ShankSizeX $ShankSizeY $ShankSizeZ $ShankMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ShankSizeX $ShankSizeY $ShankSizeZ $ShankMass) + + (nd BoxCollider + (setName (join $LeftOrRight ShankCollider)) + (setBoxLengths $ShankSizeX $ShankSizeY $ShankSizeZ) + (importScene rsg/agent/nao/contactjointhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint4PerName $Joint4EffName + ../boxBody $ThighBodyPath + 0 -0.01 0.045 + 1 0 0 ;0 -1 -1 + $lj4_min $lj4_max + $lj4_max_abs_speed) + + ) + + ; + ;Construct Ankle + ; + (nd Transform + (setName $AnkleName) + (setLocalPos $Ankle_X $Ankle_Y $Ankle_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $AnkleRadius matRed) + ;(importScene rsg/agent/nao/sphere_physics.rsg $AnkleRadius $AnkleMass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $AnkleRadius $AnkleMass) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint5PerName $Joint5EffName + ../sphereBody $ShankBodyPath + 0 0 0 + 1 0 0 ;0 -1 -1 + $lj5_min $lj5_max + $lj5_max_abs_speed) + + ) + + ; + ;Construct Foot + ; + (nd Transform + (setName $FootName) + (setLocalPos $Foot_X $Foot_Y $Foot_Z) + + (nd ForceResistancePerceptor + (setName $FRPName) + ) + + (switch $loadObj + (true + (nd StaticMesh (load $FootObj) (setScale $FootSizeX (eval $FootSizeX * (eval $FootSizeY / $TotalFootLength)) $FootSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $FootSizeX $FootSizeY $FootSizeZ matBlue) + ) + ) + + ;(importScene rsg/agent/nao/box_physics_with_handler.rsg $FootSizeX $FootSizeY $FootSizeZ $FootMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $FootSizeX $FootSizeY $FootSizeZ $FootMass) + + (nd BoxCollider + (setName (join $LeftOrRight FootCollider)) + (addNotCollideWithColliderName (join $LeftOrRight ShankCollider) true) + (setBoxLengths $FootSizeX $FootSizeY $FootSizeZ) + (importScene rsg/agent/nao/touchperceptorhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint6PerName $Joint6EffName + ../boxBody $AnkleBodyPath + $lj6_Anchor_X $lj6_Anchor_Y $lj6_Anchor_Z + 0 1 0 ;1 -1 -1 + $lj6_min $lj6_max + $lj6_max_abs_speed) + + (nd ObjectState + (setID $FootName) + ) + + + ) + + + + ; + ;Construct Toe + ; + (nd Transform + (setName $ToeName) + (setLocalPos $Toe_X $Toe_Y $Toe_Z) + + (nd ForceResistancePerceptor + (setName $FRPToeName) + ) + + (switch $loadObj + (true + (nd StaticMesh (load $FootObj) (setScale $FootSizeX (eval $FootSizeX * (eval $ToeSizeY / $FootSizeY)) (eval $FootSizeX * (eval $ToeSizeZ / $FootSizeZ)))) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ToeSizeX $ToeSizeY $ToeSizeZ matGrey) + ) + ) + + ;(importScene rsg/agent/nao/box_physics_with_handler.rsg $ToeSizeX $ToeSizeY $ToeSizeZ $ToeMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ToeSizeX $ToeSizeY $ToeSizeZ $ToeMass) + + (nd BoxCollider + (setName (join $LeftOrRight ToeCollider)) + (addNotCollideWithColliderName (join $LeftOrRight FootCollider) true) + (setBoxLengths $ToeSizeX $ToeSizeY $ToeSizeZ) + (importScene rsg/agent/nao/touchperceptorhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint7PerName $Joint7EffName + ../boxBody $FootBodyPath + $lj7_Anchor_X $lj7_Anchor_Y $lj7_Anchor_Z + 1 0 0 ;1 -1 -1 + $lj7_min $lj7_max + $lj7_max_abs_speed) + ) +) Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-03-27 19:39:48 UTC (rev 387) @@ -58,7 +58,7 @@ mNotOffside(false), mLastModeWasPlayOn(false), mUseOffside(true), - mUseCharging(true), + mUseCharging(false), mChargingMinSpeed(0.2), mChargingMinBallDist(0.2), mChargingMaxOppSpeedAngle(90), @@ -75,7 +75,8 @@ mMaxTouchGroupSize(1000), mMaxFoulTime(0.0), // maximum time allowed for a player to commit a positional foul before being repositioned mLastKickOffKickTime(0), - mCheckKickOffKickerFoul(false) + mCheckKickOffKickerFoul(false), + mPenaltyShootout(false) { mFreeKickPos = Vector3f(0.0,0.0,mBallRadius); } @@ -120,6 +121,28 @@ // Reset touch groups ResetTouchGroups(TI_LEFT); ResetTouchGroups(TI_RIGHT); + + // If in penalty shootout mode check that the goalie remains in the penalty area + if (mPenaltyShootout) + { + SoccerBase::TAgentStateList agent_states; + if (! SoccerBase::GetAgentStates(*mBallState.get(), agent_states, TI_RIGHT)) + return; + boost::shared_ptr<oxygen::Transform> agent_aspect; + SoccerBase::TAgentStateList::const_iterator i; + for (i = agent_states.begin(); i != agent_states.end(); ++i) + { + SoccerBase::GetTransformParent(**i, agent_aspect); + Vector3f agentPos = agent_aspect->GetWorldTransform().Pos(); + if (agentPos.x() < mRightPenaltyArea.minVec[0] || agentPos.y() < mRightPenaltyArea.minVec[1] || agentPos.y() > mRightPenaltyArea.maxVec[1]) + { + // Penalty shootout goalie has left penalty area so award goal + mPenaltyShootout = false; + mGameState->ScoreTeam(TI_LEFT); + mGameState->SetPlayMode(PM_Goal_Left); + } + } + } } } @@ -548,27 +571,26 @@ for(int unum=1; unum<=11; unum++) { TPlayMode playMode = mGameState->GetPlayMode(); - if ((playMode == PM_KickOff_Left && idx != TI_LEFT) - || (playMode == PM_KickOff_Right && idx != TI_RIGHT) - || (playMode != PM_KickOff_Left && playMode != PM_KickOff_Right)) + bool checkCrowding = (playMode == PM_KickOff_Left && idx != TI_LEFT) + || (playMode == PM_KickOff_Right && idx != TI_RIGHT) + || (playMode != PM_KickOff_Left && playMode != PM_KickOff_Right); + + // I am the third closest player but i am too near the ball (and not the goalie) + if (checkCrowding && unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && (distArr[unum][idx] <= mMin3PlDistance + 0.01 + && ordArr[unum][idx] == 3)) { - // I am the third closest player but i am too near the ball (and not the goalie) - if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance - && (distArr[unum][idx] <= mMin3PlDistance + 0.01 - && ordArr[unum][idx] == 3)) - { playerFoulTime[unum][idx]++; playerLastFoul[unum][idx] = FT_Crowding; - } - // I am the second closest player but i am too near the ball (and not the goalie) - else if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance - && distArr[unum][idx] <= mMin2PlDistance + 0.01 - && ordArr[unum][idx] == 2) - { + } + // I am the second closest player but i am too near the ball (and not the goalie) + else if (checkCrowding && unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && distArr[unum][idx] <= mMin2PlDistance + 0.01 + && ordArr[unum][idx] == 2) + { playerFoulTime[unum][idx]++; playerLastFoul[unum][idx] = FT_Crowding; - } - } + } // Too many players inside my own penalty area and Im am the last one to enter or // the last one to enter was the goalie and I am the one further away from own goal else if((numPlInsideOwnArea[idx] > mMaxPlayersInsideOwnArea && unum != 1 && playerInsideOwnArea[unum][idx] == 1 && @@ -647,14 +669,11 @@ int unum = (*i)->GetUniformNumber(); if (playerFoulTime[unum][idx] > mMaxFoulTime / 0.02) { - if (playerLastFoul[unum][idx] != FT_Charging) - { - // I am not a very good soccer player... I am violating the rules... - salt::Vector3f new_pos = RepositionOutsidePos(ballPos, unum, idx); - //Calculate my Reposition pos outside of the field - SoccerBase::MoveAgent(agent_aspect, new_pos); - //Oh my God!! I am flying!! I am going outside of the field - } + // I am not a very good soccer player... I am violating the rules... + salt::Vector3f new_pos = RepositionOutsidePos(ballPos, unum, idx); + //Calculate my Reposition pos outside of the field + SoccerBase::MoveAgent(agent_aspect, new_pos); + //Oh my God!! I am flying!! I am going outside of the field ResetFoulCounterPlayer(unum, idx); // Record faul mFouls.push_back(Foul(mFouls.size() + 1, playerLastFoul[unum][idx], *i)); @@ -1269,6 +1288,7 @@ { // update freekickpos mFreeKickPos = mBallState->GetLastValidBallPosition(); + mFreeKickPos[2] = mBallRadius; return false; } @@ -1715,6 +1735,7 @@ SoccerBase::GetSoccerVar(*this,"GoalKickDist",mGoalKickDist); SoccerBase::GetSoccerVar(*this,"AutomaticKickOff",mAutomaticKickOff); SoccerBase::GetSoccerVar(*this,"WaitBeforeKickOff",mWaitBeforeKickOff); + SoccerBase::GetSoccerVar(*this,"PenaltyShootout",mPenaltyShootout); SoccerBase::GetSoccerVar(*this,"SingleHalfTime",mSingleHalfTime); SoccerBase::GetSoccerVar(*this,"AutomaticQuit",mAutomaticQuit); SoccerBase::GetSoccerVar(*this,"ChangeSidesInSecondHalf",mChangeSidesInSecondHalf); @@ -1790,12 +1811,16 @@ boost::shared_ptr<Transform> transform_parent; boost::shared_ptr<RigidBody> agent_body; + std::string team = ""; + for ( SoccerBase::TAgentStateList::const_iterator it = agent_states.begin(); it != agent_states.end(); it++ ) { + // Get name of team to label all messages with + team = (*it)->GetPerceptName(ObjectState::PT_Player); if ( (*it)->GetUniformNumber() == number) { (*it)->AddSelfMessage(message); @@ -1813,7 +1838,6 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, idx); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); (*it)->AddMessage(message, team, direction, true); } } @@ -1836,7 +1860,6 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, SoccerBase::OpponentTeam(idx)); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); (*it)->AddMessage(message, team, direction, false); } } Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2015-03-27 19:39:48 UTC (rev 387) @@ -448,6 +448,8 @@ boost::shared_ptr<oxygen::AgentAspect> mLastKickOffTaker; /** if kickoff taker should be checked for single kick rule */ bool mCheckKickOffKickerFoul; + /** if in penalty shootout mode */ + bool mPenaltyShootout; /** complete foul history */ std::vector<Foul> mFouls; Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp 2015-03-27 19:39:48 UTC (rev 387) @@ -52,6 +52,8 @@ mCommandMap["repos"] = CT_REPOS; mCommandMap["killsim"] = CT_KILLSIM; mCommandMap["reqfullstate"] = CT_REQFULLSTATE; + mCommandMap["time"] = CT_TIME; + mCommandMap["score"] = CT_SCORE; // setup team index map // Originally team sides were "L","R" and "N" @@ -235,6 +237,12 @@ case CT_REQFULLSTATE: mMonitorControl->RequestFullState(); break; + case CT_TIME: + ParseTimeCommand(predicate); + break; + case CT_SCORE: + ParseScoreCommand(predicate); + break; default: return false; @@ -661,7 +669,7 @@ void TrainerCommandParser::ParseReposCommand(const oxygen::Predicate & predicate) { - cerr << "repos 2" << endl; + //cerr << "repos 2" << endl; Predicate::Iterator unumParam(predicate); int unum; @@ -714,7 +722,7 @@ ballPos = ballBody->GetPosition(); SoccerBase::GetTransformParent(**iter, agent_aspect); - cerr << "repos 3" << endl; + //cerr << "repos 3" << endl; Vector3f new_pos = mSoccerRule->RepositionOutsidePos(ballPos, (*iter)->GetUniformNumber(), (*iter)->GetTeamIndex()); SoccerBase::MoveAgent(agent_aspect, new_pos); @@ -727,3 +735,91 @@ { mSimServer->Quit(); } + +void TrainerCommandParser::ParseTimeCommand(const oxygen::Predicate & predicate) +{ + Predicate::Iterator timeParam(predicate); + float time; + + if (predicate.GetValue(timeParam,time)) + { + if (time >= 0) + { + mGameState->SetTime(time); + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: value of time " + << time << " cannot be a negative value\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse time " + << time << "\n"; + return; + } +} + +void TrainerCommandParser::ParseScoreCommand(const oxygen::Predicate & predicate) +{ + Predicate::Iterator leftScoreParam(predicate); + int scoreLeft; + if (predicate.FindParameter(leftScoreParam, "left")) + { + if (!predicate.GetValue(leftScoreParam, scoreLeft)) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse score left " + << scoreLeft << "\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not find score left\n"; + return; + } + + + Predicate::Iterator rightScoreParam(predicate); + int scoreRight; + if (predicate.FindParameter(rightScoreParam, "right")) + { + if (!predicate.GetValue(rightScoreParam, scoreRight)) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse score right " + << scoreRight << "\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not find score right\n"; + return; + } + + if (scoreLeft < 0) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: score left " + << scoreLeft << " cannot be negative\n"; + return; + } + + if (scoreRight < 0) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: score right " + << scoreRight << " cannot be negative\n"; + return; + } + + mGameState->SetScores(scoreLeft, scoreRight); +} Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h 2015-03-27 19:39:48 UTC (rev 387) @@ -56,7 +56,9 @@ CT_KILL, CT_REPOS, CT_KILLSIM, - CT_REQFULLSTATE + CT_REQFULLSTATE, + CT_TIME, + CT_SCORE }; typedef std::map<std::string, ECommandType> TCommandMap; @@ -132,7 +134,18 @@ predicate */ void ParseKillSimCommand(const oxygen::Predicate & predicate); + + /** parses and executes the time command contained in the given + predicate + */ + void ParseTimeCommand(const oxygen::Predicate & predicate); + + /** parses and executes the score command contained in the given + predicate + */ + void ParseScoreCommand(const oxygen::Predicate & predicate); + protected: TCommandMap mCommandMap; Modified: branches/gui-bullet/rcssserver3d/rcssserver3d/naorobottypes.rb =================================================================== --- branches/gui-bullet/rcssserver3d/rcssserver3d/naorobottypes.rb 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/rcssserver3d/naorobottypes.rb 2015-03-27 19:39:48 UTC (rev 387) @@ -1,27 +1,59 @@ NaoType = [ # Type 0 (Standard Nao) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.04, 'AnkleRelShank_Z' => -0.055, 'lj5_max_abs_speed' => 6.1395, 'lj6_max_abs_speed' => 6.1395, - 'ElbowRelUpperArm_Y' => 0.07 + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'false' }, -# Type 1 +# Type 1 (longer legs and arms) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.05832, 'AnkleRelShank_Z' => -0.07332, 'lj5_max_abs_speed' => 6.1395, 'lj6_max_abs_speed' => 6.1395, - 'ElbowRelUpperArm_Y' => 0.10664 + 'ElbowRelUpperArm_Y' => 0.10664, + 'UseToe' => 'false' }, -# Type 2 +# Type 2 (faster ankle-pitch and slower ankle-roll speed) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.04, 'AnkleRelShank_Z' => -0.055, 'lj5_max_abs_speed' => 8.80667, 'lj6_max_abs_speed' => 3.47234, - 'ElbowRelUpperArm_Y' => 0.07 + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'false' +}, +# Type 3 (longer legs and arms + wider hip) +{ + 'Hip1RelTorso_X' => 0.072954143, + 'Hip1RelTorso_Z' => -0.115, + 'ThighRelHip2_Z' => -0.067868424, + 'AnkleRelShank_Z' => -0.082868424, + 'lj5_max_abs_speed' => 6.1395, + 'lj6_max_abs_speed' => 6.1395, + 'ElbowRelUpperArm_Y' => 0.125736848, + 'UseToe' => 'false' +}, +# Type 4 (Nao toes model) +{ + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, + 'ThighRelHip2_Z' => -0.04, + 'AnkleRelShank_Z' => -0.055, + 'lj5_max_abs_speed' => 6.1395, + 'lj6_max_abs_speed' => 6.1395, + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'true', + 'ToeLength' => 0.035517656 } ] Modified: branches/gui-bullet/rcssserver3d/rcssserver3d/naosoccersim.rb =================================================================== --- branches/gui-bullet/rcssserver3d/rcssserver3d/naosoccersim.rb 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/rcssserver3d/rcssserver3d/naosoccersim.rb 2015-03-27 19:39:48 UTC (rev 387) @@ -54,6 +54,7 @@ addSoccerVar('AutomaticKickOff', false) addSoccerVar('WaitBeforeKickOff', 30.0) addSoccerVar('CoinTossForKickOff', false) +addSoccerVar('PenaltyShootout', false) addSoccerVar('AutomaticQuit', false) addSoccerVar('ChangeSidesInSecondHalf', false) @@ -78,7 +79,7 @@ addSoccerVar('MaxTouchGroupSize', 2) # charging foul parameters -addSoccerVar('UseCharging', true) +addSoccerVar('UseCharging', false) addSoccerVar('ChargingMinSpeed', 0.2) addSoccerVar('ChargingMinBallDist', 0.2) addSoccerVar('IllegalInterceptMinAngle', 70) Modified: branches/gui-bullet/spark/ChangeLog =================================================================== --- branches/gui-bullet/spark/ChangeLog 2015-02-07 20:31:12 UTC (rev 386) +++ branches/gui-bullet/spark/ChangeLog 2015-03-27 19:39:48 UTC (rev 387) @@ -18,14 +18,14 @@ 2013-06-12 Hedayat Vatankhah <hed...@gm...> - * carbon/ - * guiplugin/ - * guilayout/ - * data/guisetups/ - * plugin/inputsysqt/ - * plugin/openglsysqt/ - - fixed compilation issues under GNU/Linux+GCC. - + * carbon/: + * guiplugin/: + * guilayout/: + * data/guisetups/: + * plugin/inputsysqt/: + * plugin/openglsysqt/: + - fixed compilation issues under GNU/Linux+GCC. + * lib/salt/gmath.h: - removed type specifier for std::isnan, since not all overloads are templates @@ -45,103 +45,103 @@ 2012-06-23 Patrick Geib <Pat...@on...> - * carbon/ - - the Carbon library - - * guiplugin/ - - generic (not soccer related) plugins for the carbon gui - - * guilayout/ - - layout projects for the Gui - - * data/guisetups/ - - image resources for the carbon gui. - - * plugin/inputsysqt/ - - a new spark plugin which handles inputs to a spark simulation by - converting from qt to spark defines. + * carbon/ + - the Carbon library + + * guiplugin/ + - generic (not soccer related) plugins for the carbon gui + + * guilayout/ + - layout projects for the Gui + + * data/guisetups/ + - image resources for the carbon gui. + + * plugin/inputsysqt/ + - a new spark plugin which handles inputs to a spark simulation by + converting from qt to spark defines. - * plugin/openglsysqt/ - - empty placeholder openglsystem to be used in simspark when an external - rendering by carbon is used. - - * spark/spark.h: - * spark/spark.cpp: - - relative path prefix can now be given in constructor as optional - parameter. Needed by carbon. - - * spark.rb: - - the spark script now contains logging functions and other functions - needed by the carbon gui - - * plugin/odeimps/odecollider.cpp: - - fixed bug where body was deleted twice + * plugin/openglsysqt/ + - empty placeholder openglsystem to be used in simspark when an external + rendering by carbon is used. + + * spark/spark.h: + * spark/spark.cpp: + - relative path prefix can now be given in constructor as optional + parameter. Needed by carbon. + + * spark.rb: + - the spark script now contains logging functions and other functions + needed by the carbon gui + + * plugin/odeimps/odecollider.cpp: + - fixed bug where body was deleted twice - * lib/zeitgeist/core.h: - * lib/zeitgeist/core.cpp: - - added function to reset the self pointer. Needed by carbon. + * lib/zeitgeist/core.h: + * lib/zeitgeist/core.cpp: + - added function to reset the self pointer. Needed by carbon. - * lib/zeitgeist/leaf_c.cpp: - - added unlinkLeaf() function to ruby interface. + * lib/zeitgeist/leaf_c.cpp: + - added unlinkLeaf() function to ruby interface. - * lib/zeitgeist/logserver/logserverstreambuf.h: - * lib/zeitgeist/logserver/logserverstreambuf.cpp: - - replaced typedef TMaskStream with struct MaskStream. Now it not only - contains the integer mask and stream pointer, but also a synchronization - flag. If the flag is true, the stream will by sync()'ed every time the - input stream flushes a message. This is needed for carbons message stream - appenders, so it can receive the logservers messages immediately when the - simulation thread sends them. + * lib/zeitgeist/logserver/logserverstreambuf.h: + * lib/zeitgeist/logserver/logserverstreambuf.cpp: + - replaced typedef TMaskStream with struct MaskStream. Now it not only + contains the integer mask and stream pointer, but also a synchronization + flag. If the flag is true, the stream will by sync()'ed every time the + input stream flushes a message. This is needed for carbons message stream + appenders, so it can receive the logservers messages immediately when the + simulation thread sends them. - * lib/zeitgeist/logserver/logserver.h: - * lib/zeitgeist/logserver/logserver.cpp: - * lib/zeitgeist/logserver/logserver_c.cpp: - - streams can now be added with an optional synchronization flag. - - updated the script interface for AddStream too. + * lib/zeitgeist/logserver/logserver.h: + * lib/zeitgeist/logserver/logserver.cpp: + * lib/zeitgeist/logserver/logserver_c.cpp: + - streams can now be added with an optional synchronization flag. + - updated the script interface for AddStream too. - * lib/zeitgeist/scriptserver/scriptserver.cpp: - - ruby error messages are now sent to ->Error() instead of ->Debug(). + * lib/zeitgeist/scriptserver/scriptserver.cpp: + - ruby error messages are now sent to ->Error() instead of ->Debug(). - * lib/oxygen/simulationserver/simulationserver.h: - * lib/oxygen/simulationserver/simulationserver.cpp: - - the Simulation can now be paused. There is a flag in the simulation - server and a pause/unpause function. When a simulation is paused, the next - simulation cycle will not call StartCycle, SenseAgent, ActAgent and - EndCycle, but a new control event CE_WaitCycle. - When a simulation is paused, the simulation time does not advance and - agents are not notified about changed time. The wait cycle lasts as long - as a normal simulation cycle. Calling pause(false) will resume the normal - simulation cycle after the current wait cycle and agents are - notified again. - The pausing function is meant to pause and observe the state of the - simulation using the carbon library and the gui. It was tested with - several agent implementations and seemed to work perfectly. + * lib/oxygen/simulationserver/simulationserver.h: + * lib/oxygen/simulationserver/simulationserver.cpp: + - the Simulation can now be paused. There is a flag in the simulation + server and a pause/unpause function. When a simulation is paused, the next + simulation cycle will not call StartCycle, SenseAgent, ActAgent and + EndCycle, but a new control event CE_WaitCycle. + When a simulation is paused, the simulation time does not advance and + agents are not notified about changed time. The wait cycle lasts as long + as a normal simulation cycle. Calling pause(false) will resume the normal + simulation cycle after the current wait cycle and agents are + notified again. + The pausing function is meant to pause and observe the state of the + simulation using the carbon library and the gui. It was tested with + several agent implementations and seemed to work perfectly. - * lib/oxygen/simulationserver/simcontrolnode.h: - - the new control event CE_WaitCycle calls a new interface function - WaitCycle() in simcontrolnodes. This way control nodes can be notified - about running and paused simulation steps. This is used by carbon. - WaitCycle() and EndCycle() are used for SimControlNodes which act as - interface between carbon and spark. + * lib/oxygen/simulationserver/simcontrolnode.h: + - the new control event CE_WaitCycle calls a new interface function + WaitCycle() in simcontrolnodes. This way control nodes can be notified + about running and paused simulation steps. This is used by carbon. + WaitCycle() and EndCycle() are used for SimControlNodes which act as + interface between carbon and spark. - * lib/kerosin/inputsystem/inputsystem.h: - * lib/kerosin/inputsystem/inputsystem.cpp: - - AddInput() and GetInput() now use a boost::shared_mutex to make the - access thread safe. This is neccessary because there may be simulatneous - access from different threads in a carbon simulation. + * lib/kerosin/inputsystem/inputsystem.h: + * lib/kerosin/inputsystem/inputsystem.cpp: + - AddInput() and GetInput() now use a boost::shared_mutex to make the + access thread safe. This is neccessary because there may be simulatneous + access from different threads in a carbon simulation. - * lib/kerosin/renderserver/renderserver.cpp: - - added OpenGlError-code checking between rendering stages. Removed double - picking-end-bracket glPopName() which caused picking to fail. + * lib/kerosin/renderserver/renderserver.cpp: + - added OpenGlError-code checking between rendering stages. Removed double + picking-end-bracket glPopName() which caused picking to fail. - * lib/kerosin/renderserver/rendercontrol.cpp: - * lib/kerosin/renderserver/rendercontrol.h: - * lib/kerosin/renderserver/rendercontrol_c.cpp: - - RenderControlNodes can no be activated or deactivated. Carbon uses this - feature to deactivate them in the spark simulation if the rendering is - done in the gui thread or any other than the server thread. - - Added setActive() function to ruby interface. - + * lib/kerosin/renderserver/rendercontrol.cpp: + * lib/kerosin/renderserver/rendercontrol.h: + * lib/kerosin/renderserver/rendercontrol_c.cpp: + - RenderControlNodes can no be activated or deactivated. Carbon uses this + feature to deactivate them in the spark simulation if the rendering is + done in the gui thread or any other than the server thread. + - Added setActive() function to ruby interface. + 2012-05-23 Hedayat Vatankhah <hed...@gm...> * lib/kerosin/CMakeLists.txt: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2015-02-07 20:31:20
|
Revision: 386 http://sourceforge.net/p/simspark/svn/386 Author: patmac369 Date: 2015-02-07 20:31:12 +0000 (Sat, 07 Feb 2015) Log Message: ----------- Adding new training command parser commands for setting the game time and score. They are the following commands: (time <time>) (score (left <score>) (right <score>)) Also removing a couple unecessary messages in the repos command that were being printed to stderr for debugging purposes. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h Modified: trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp 2015-02-06 04:28:44 UTC (rev 385) +++ trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.cpp 2015-02-07 20:31:12 UTC (rev 386) @@ -52,6 +52,8 @@ mCommandMap["repos"] = CT_REPOS; mCommandMap["killsim"] = CT_KILLSIM; mCommandMap["reqfullstate"] = CT_REQFULLSTATE; + mCommandMap["time"] = CT_TIME; + mCommandMap["score"] = CT_SCORE; // setup team index map // Originally team sides were "L","R" and "N" @@ -235,6 +237,12 @@ case CT_REQFULLSTATE: mMonitorControl->RequestFullState(); break; + case CT_TIME: + ParseTimeCommand(predicate); + break; + case CT_SCORE: + ParseScoreCommand(predicate); + break; default: return false; @@ -661,7 +669,7 @@ void TrainerCommandParser::ParseReposCommand(const oxygen::Predicate & predicate) { - cerr << "repos 2" << endl; + //cerr << "repos 2" << endl; Predicate::Iterator unumParam(predicate); int unum; @@ -714,7 +722,7 @@ ballPos = ballBody->GetPosition(); SoccerBase::GetTransformParent(**iter, agent_aspect); - cerr << "repos 3" << endl; + //cerr << "repos 3" << endl; Vector3f new_pos = mSoccerRule->RepositionOutsidePos(ballPos, (*iter)->GetUniformNumber(), (*iter)->GetTeamIndex()); SoccerBase::MoveAgent(agent_aspect, new_pos); @@ -727,3 +735,91 @@ { mSimServer->Quit(); } + +void TrainerCommandParser::ParseTimeCommand(const oxygen::Predicate & predicate) +{ + Predicate::Iterator timeParam(predicate); + float time; + + if (predicate.GetValue(timeParam,time)) + { + if (time >= 0) + { + mGameState->SetTime(time); + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: value of time " + << time << " cannot be a negative value\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse time " + << time << "\n"; + return; + } +} + +void TrainerCommandParser::ParseScoreCommand(const oxygen::Predicate & predicate) +{ + Predicate::Iterator leftScoreParam(predicate); + int scoreLeft; + if (predicate.FindParameter(leftScoreParam, "left")) + { + if (!predicate.GetValue(leftScoreParam, scoreLeft)) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse score left " + << scoreLeft << "\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not find score left\n"; + return; + } + + + Predicate::Iterator rightScoreParam(predicate); + int scoreRight; + if (predicate.FindParameter(rightScoreParam, "right")) + { + if (!predicate.GetValue(rightScoreParam, scoreRight)) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not parse score right " + << scoreRight << "\n"; + return; + } + } + else + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: could not find score right\n"; + return; + } + + if (scoreLeft < 0) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: score left " + << scoreLeft << " cannot be negative\n"; + return; + } + + if (scoreRight < 0) + { + GetLog()->Debug() + << "(TrainerCommandParser) ERROR: score right " + << scoreRight << " cannot be negative\n"; + return; + } + + mGameState->SetScores(scoreLeft, scoreRight); +} Modified: trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h 2015-02-06 04:28:44 UTC (rev 385) +++ trunk/rcssserver3d/plugin/soccer/trainercommandparser/trainercommandparser.h 2015-02-07 20:31:12 UTC (rev 386) @@ -56,7 +56,9 @@ CT_KILL, CT_REPOS, CT_KILLSIM, - CT_REQFULLSTATE + CT_REQFULLSTATE, + CT_TIME, + CT_SCORE }; typedef std::map<std::string, ECommandType> TCommandMap; @@ -132,7 +134,18 @@ predicate */ void ParseKillSimCommand(const oxygen::Predicate & predicate); + + /** parses and executes the time command contained in the given + predicate + */ + void ParseTimeCommand(const oxygen::Predicate & predicate); + + /** parses and executes the score command contained in the given + predicate + */ + void ParseScoreCommand(const oxygen::Predicate & predicate); + protected: TCommandMap mCommandMap; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2015-02-06 04:28:47
|
Revision: 385 http://sourceforge.net/p/simspark/svn/385 Author: patmac369 Date: 2015-02-06 04:28:44 +0000 (Fri, 06 Feb 2015) Log Message: ----------- Adding penalty shootout mode where a goal is awarded to the left team (penalty kicker) if the right team's player (penalty goalie) leaves the penalty area. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h trunk/rcssserver3d/rcssserver3d/naosoccersim.rb Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-07-06 05:21:04 UTC (rev 384) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2015-02-06 04:28:44 UTC (rev 385) @@ -75,7 +75,8 @@ mMaxTouchGroupSize(1000), mMaxFoulTime(0.0), // maximum time allowed for a player to commit a positional foul before being repositioned mLastKickOffKickTime(0), - mCheckKickOffKickerFoul(false) + mCheckKickOffKickerFoul(false), + mPenaltyShootout(false) { mFreeKickPos = Vector3f(0.0,0.0,mBallRadius); } @@ -120,6 +121,28 @@ // Reset touch groups ResetTouchGroups(TI_LEFT); ResetTouchGroups(TI_RIGHT); + + // If in penalty shootout mode check that the goalie remains in the penalty area + if (mPenaltyShootout) + { + SoccerBase::TAgentStateList agent_states; + if (! SoccerBase::GetAgentStates(*mBallState.get(), agent_states, TI_RIGHT)) + return; + boost::shared_ptr<oxygen::Transform> agent_aspect; + SoccerBase::TAgentStateList::const_iterator i; + for (i = agent_states.begin(); i != agent_states.end(); ++i) + { + SoccerBase::GetTransformParent(**i, agent_aspect); + Vector3f agentPos = agent_aspect->GetWorldTransform().Pos(); + if (agentPos.x() < mRightPenaltyArea.minVec[0] || agentPos.y() < mRightPenaltyArea.minVec[1] || agentPos.y() > mRightPenaltyArea.maxVec[1]) + { + // Penalty shootout goalie has left penalty area so award goal + mPenaltyShootout = false; + mGameState->ScoreTeam(TI_LEFT); + mGameState->SetPlayMode(PM_Goal_Left); + } + } + } } } @@ -1717,6 +1740,7 @@ SoccerBase::GetSoccerVar(*this,"GoalKickDist",mGoalKickDist); SoccerBase::GetSoccerVar(*this,"AutomaticKickOff",mAutomaticKickOff); SoccerBase::GetSoccerVar(*this,"WaitBeforeKickOff",mWaitBeforeKickOff); + SoccerBase::GetSoccerVar(*this,"PenaltyShootout",mPenaltyShootout); SoccerBase::GetSoccerVar(*this,"SingleHalfTime",mSingleHalfTime); SoccerBase::GetSoccerVar(*this,"AutomaticQuit",mAutomaticQuit); SoccerBase::GetSoccerVar(*this,"ChangeSidesInSecondHalf",mChangeSidesInSecondHalf); Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2014-07-06 05:21:04 UTC (rev 384) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h 2015-02-06 04:28:44 UTC (rev 385) @@ -448,6 +448,8 @@ boost::shared_ptr<oxygen::AgentAspect> mLastKickOffTaker; /** if kickoff taker should be checked for single kick rule */ bool mCheckKickOffKickerFoul; + /** if in penalty shootout mode */ + bool mPenaltyShootout; /** complete foul history */ std::vector<Foul> mFouls; Modified: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2014-07-06 05:21:04 UTC (rev 384) +++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2015-02-06 04:28:44 UTC (rev 385) @@ -54,6 +54,7 @@ addSoccerVar('AutomaticKickOff', false) addSoccerVar('WaitBeforeKickOff', 30.0) addSoccerVar('CoinTossForKickOff', false) +addSoccerVar('PenaltyShootout', false) addSoccerVar('AutomaticQuit', false) addSoccerVar('ChangeSidesInSecondHalf', false) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2014-07-06 05:21:13
|
Revision: 384 http://sourceforge.net/p/simspark/svn/384 Author: patmac369 Date: 2014-07-06 05:21:04 +0000 (Sun, 06 Jul 2014) Log Message: ----------- Fixing a bug where rules such as too many players in their own penalty area was not being enforced. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-24 20:58:27 UTC (rev 383) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-07-06 05:21:04 UTC (rev 384) @@ -548,27 +548,26 @@ for(int unum=1; unum<=11; unum++) { TPlayMode playMode = mGameState->GetPlayMode(); - if ((playMode == PM_KickOff_Left && idx != TI_LEFT) - || (playMode == PM_KickOff_Right && idx != TI_RIGHT) - || (playMode != PM_KickOff_Left && playMode != PM_KickOff_Right)) + bool checkCrowding = (playMode == PM_KickOff_Left && idx != TI_LEFT) + || (playMode == PM_KickOff_Right && idx != TI_RIGHT) + || (playMode != PM_KickOff_Left && playMode != PM_KickOff_Right); + + // I am the third closest player but i am too near the ball (and not the goalie) + if (checkCrowding && unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && (distArr[unum][idx] <= mMin3PlDistance + 0.01 + && ordArr[unum][idx] == 3)) { - // I am the third closest player but i am too near the ball (and not the goalie) - if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance - && (distArr[unum][idx] <= mMin3PlDistance + 0.01 - && ordArr[unum][idx] == 3)) - { playerFoulTime[unum][idx]++; playerLastFoul[unum][idx] = FT_Crowding; - } - // I am the second closest player but i am too near the ball (and not the goalie) - else if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance - && distArr[unum][idx] <= mMin2PlDistance + 0.01 - && ordArr[unum][idx] == 2) - { + } + // I am the second closest player but i am too near the ball (and not the goalie) + else if (checkCrowding && unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && distArr[unum][idx] <= mMin2PlDistance + 0.01 + && ordArr[unum][idx] == 2) + { playerFoulTime[unum][idx]++; playerLastFoul[unum][idx] = FT_Crowding; - } - } + } // Too many players inside my own penalty area and Im am the last one to enter or // the last one to enter was the goalie and I am the one further away from own goal else if((numPlInsideOwnArea[idx] > mMaxPlayersInsideOwnArea && unum != 1 && playerInsideOwnArea[unum][idx] == 1 && This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-06-24 20:58:30
|
Revision: 383 http://sourceforge.net/p/simspark/svn/383 Author: hedayat Date: 2014-06-24 20:58:27 +0000 (Tue, 24 Jun 2014) Log Message: ----------- RCSSServer3D 0.6.8.1 release Added Paths: ----------- tags/RCSSSERVER3D_0.6.8.1_RELEASE/ Index: tags/RCSSSERVER3D_0.6.8.1_RELEASE =================================================================== --- trunk/rcssserver3d 2014-06-24 20:55:00 UTC (rev 382) +++ tags/RCSSSERVER3D_0.6.8.1_RELEASE 2014-06-24 20:58:27 UTC (rev 383) Property changes on: tags/RCSSSERVER3D_0.6.8.1_RELEASE ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,27 ## +.project + +.cproject + +Makefile.in + +rcssserver3d_config.h + +rcssserver3d_config.h.in + +configure + +stamp-h1 + +aclocal.m4 + +autom4te.cache + +config.status + +.cdtconfigure.Build (GNU) + +libtool + +Makefile + +.settings Added: svn:mergeinfo ## -0,0 +1,2 ## +/branches/agentselection/rcssserver3d:195-206 +/branches/treehole/rcssserver3d:175 \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-06-24 20:55:07
|
Revision: 382 http://sourceforge.net/p/simspark/svn/382 Author: hedayat Date: 2014-06-24 20:55:00 +0000 (Tue, 24 Jun 2014) Log Message: ----------- Add naolegtoe.rsg! Added Paths: ----------- trunk/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg Added: trunk/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg =================================================================== --- trunk/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg (rev 0) +++ trunk/rcssserver3d/data/rsg/agent/nao/naolegtoe.rsg 2014-06-24 20:55:00 UTC (rev 382) @@ -0,0 +1,447 @@ +; -*- mode: lisp; -*- + +(RSG 0 1) +( + ; + ;Template + ;@param LRFactor is (left_leg ? -1 : 1) + ; + (templ $LRFactor $LeftOrRight + $Torso_X $Torso_Y $Torso_Z $loadObj + $type + ) + + ; + ;The Names + ; + (def $Hip1Name (join $LeftOrRight hip1)) + (def $Hip2Name (join $LeftOrRight hip2)) + (def $ThighName (join $LeftOrRight thigh)) + (def $ShankName (join $LeftOrRight shank)) + (def $AnkleName (join $LeftOrRight ankle)) + (def $FootName (join $LeftOrRight foot)) + (def $ToeName (join $LeftOrRight toe)) + + (def $Hip1BodyPath (join ../../ $Hip1Name /sphereBody)) + (def $Hip2BodyPath (join ../../ $Hip2Name /sphereBody)) + (def $ThighBodyPath (join ../../ $ThighName /boxBody)) + (def $ShankBodyPath (join ../../ $ShankName /boxBody)) + (def $AnkleBodyPath (join ../../ $AnkleName /sphereBody)) + (def $FootBodyPath (join ../../ $FootName /boxBody)) + (def $ToeBodyPath (join ../../ $ToeName /boxBody)) + + (def $Joint1PerName (join $LeftOrRight lj1)) + (def $Joint2PerName (join $LeftOrRight lj2)) + (def $Joint3PerName (join $LeftOrRight lj3)) + (def $Joint4PerName (join $LeftOrRight lj4)) + (def $Joint5PerName (join $LeftOrRight lj5)) + (def $Joint6PerName (join $LeftOrRight lj6)) + (def $Joint7PerName (join $LeftOrRight lj7)) + + (def $Joint1EffName (join $LeftOrRight le1)) + (def $Joint2EffName (join $LeftOrRight le2)) + (def $Joint3EffName (join $LeftOrRight le3)) + (def $Joint4EffName (join $LeftOrRight le4)) + (def $Joint5EffName (join $LeftOrRight le5)) + (def $Joint6EffName (join $LeftOrRight le6)) + (def $Joint7EffName (join $LeftOrRight le7)) + + (def $FRPName (join $LeftOrRight f)) + (def $FRPToeName (join $LeftOrRight f1)) + + ; + ;Size and Mass Parameters + ; + (def $Hip1Radius 0.01) + (def $Hip1Mass 0.09) + + (def $Hip2Radius 0.01) + (def $Hip2Mass 0.125) + + (def $ThighSizeX 0.07) + (def $ThighSizeY 0.07) + (def $ThighSizeZ 0.14) + (def $ThighMass 0.275) + + (def $ShankSizeX 0.08) + (def $ShankSizeY 0.07) + (def $ShankSizeZ 0.11) + (def $ShankMass 0.225) + + (def $AnkleRadius 0.01) + (def $AnkleMass 0.125) + + (def $ToeLength (eval "NaoType["$type"]['ToeLength']")) + (def $TotalFootLength 0.16) + (def $FootToeMassRatio (eval (eval $ToeLength / $TotalFootLength) * 0.5)) + (def $FootTotalMass 0.2) + + (def $FootSizeX 0.08) + (def $FootSizeY (eval $TotalFootLength - $ToeLength)) + (def $FootSizeZ 0.02) + (def $FootMass (eval (eval 1 - $FootToeMassRatio) * $FootTotalMass)) + + (def $ToeSizeX 0.08) + (def $ToeSizeY $ToeLength) + (def $ToeSizeZ 0.01) + (def $ToeMass (eval $FootToeMassRatio * $FootTotalMass)) + + + ; + ;Position Parameters + ; + ;(def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + (def $Hip1RelTorso_X (eval $LRFactor * (eval "NaoType["$type"]['Hip1RelTorso_X']"))) + (def $Hip1RelTorso_Y -0.01) + ;(def $Hip1RelTorso_Z -0.115) + (def $Hip1RelTorso_Z (eval "NaoType["$type"]['Hip1RelTorso_Z']")) + + (def $Hip2RelHip1_X 0) + (def $Hip2RelHip1_Y 0) + (def $Hip2RelHip1_Z 0) + + (def $ThighRelHip2_X 0) + (def $ThighRelHip2_Y 0.01) + ;(def $ThighRelHip2_Z -0.04) + (def $ThighRelHip2_Z (eval "NaoType["$type"]['ThighRelHip2_Z']")) + + (def $ShankRelThigh_X 0) + (def $ShankRelThigh_Y 0.005) + (def $ShankRelThigh_Z -0.125) + + (def $AnkleRelShank_X 0) + (def $AnkleRelShank_Y -0.01) + ;(def $AnkleRelShank_Z -0.055) + (def $AnkleRelShank_Z (eval "NaoType["$type"]['AnkleRelShank_Z']")) + + (def $FootRelAnkle_X 0) + (def $FootRelAnkle_Y (eval (eval $FootSizeY * 0.5) - 0.05)) + (def $FootRelAnkle_Z -0.04) + + (def $ToeRelFoot_X 0) + (def $ToeRelFoot_Y (eval $TotalFootLength * 0.5)) + (def $ToeRelFoot_Z -0.005) + + (def $Hip1_X (eval $Torso_X + $Hip1RelTorso_X)) + (def $Hip1_Y (eval $Torso_Y + $Hip1RelTorso_Y)) + (def $Hip1_Z (eval $Torso_Z + $Hip1RelTorso_Z)) + + (def $Hip2_X (eval $Hip1_X + $Hip2RelHip1_X)) + (def $Hip2_Y (eval $Hip1_Y + $Hip2RelHip1_Y)) + (def $Hip2_Z (eval $Hip1_Z + $Hip2RelHip1_Z)) + + (def $Thigh_X (eval $Hip2_X + $ThighRelHip2_X)) + (def $Thigh_Y (eval $Hip2_Y + $ThighRelHip2_Y)) + (def $Thigh_Z (eval $Hip2_Z + $ThighRelHip2_Z)) + + (def $Shank_X (eval $Thigh_X + $ShankRelThigh_X)) + (def $Shank_Y (eval $Thigh_Y + $ShankRelThigh_Y)) + (def $Shank_Z (eval $Thigh_Z + $ShankRelThigh_Z)) + + (def $Ankle_X (eval $Shank_X + $AnkleRelShank_X)) + (def $Ankle_Y (eval $Shank_Y + $AnkleRelShank_Y)) + (def $Ankle_Z (eval $Shank_Z + $AnkleRelShank_Z)) + + (def $Foot_X (eval $Ankle_X + $FootRelAnkle_X)) + (def $Foot_Y (eval $Ankle_Y + $FootRelAnkle_Y)) + (def $Foot_Z (eval $Ankle_Z + $FootRelAnkle_Z)) + + (def $Toe_X (eval $Foot_X + $ToeRelFoot_X)) + (def $Toe_Y (eval $Foot_Y + $ToeRelFoot_Y)) + (def $Toe_Z (eval $Foot_Z + $ToeRelFoot_Z)) + + ; + ;Joint Parameters + ; + (def $PI 3.14159265) + (def $MaxAbsJointSpeed (eval $PI * (eval 351.77 / 180.0))) + + (def $lj1_min -90) + (def $lj1_max 1) + (def $lj1_max_abs_speed $MaxAbsJointSpeed) + + (def $right_lj2_min -45) + (def $left_lj2_min -25) + (def $lj2_min_c1 (eval (eval $right_lj2_min + $left_lj2_min) * 0.5)) + (def $lj2_min_c2 (eval (eval $right_lj2_min - $left_lj2_min) * 0.5)) + (def $lj2_min (eval $lj2_min_c1 + (eval $LRFactor * $lj2_min_c2))) + + (def $right_lj2_max 25) + (def $left_lj2_max 45) + (def $lj2_max_c1 (eval (eval $right_lj2_max + $left_lj2_max) * 0.5)) + (def $lj2_max_c2 (eval (eval $right_lj2_max - $left_lj2_max) * 0.5)) + (def $lj2_max (eval $lj2_max_c1 + (eval $LRFactor * $lj2_max_c2))) + (def $lj2_max_abs_speed $MaxAbsJointSpeed) + + (def $lj3_min -25) + (def $lj3_max 100) + (def $lj3_max_abs_speed $MaxAbsJointSpeed) + + (def $lj4_min -130) + (def $lj4_max 1) + (def $lj4_max_abs_speed $MaxAbsJointSpeed) + + (def $lj5_min -45) + (def $lj5_max 75) + (def $lj5_max_abs_speed (eval "NaoType["$type"]['lj5_max_abs_speed']")) + + (def $right_lj6_min -25) + (def $left_lj6_min -45) + (def $lj6_min_c1 (eval (eval $right_lj6_min + $left_lj6_min) * 0.5)) + (def $lj6_min_c2 (eval (eval $right_lj6_min - $left_lj6_min) * 0.5)) + (def $lj6_min (eval $lj6_min_c1 + (eval $LRFactor * $lj6_min_c2))) + + (def $right_lj6_max 45) + (def $left_lj6_max 25) + (def $lj6_max_c1 (eval (eval $right_lj6_max + $left_lj6_max) * 0.5)) + (def $lj6_max_c2 (eval (eval $right_lj6_max - $left_lj6_max) * 0.5)) + (def $lj6_max (eval $lj6_max_c1 + (eval $LRFactor * $lj6_max_c2))) + (def $lj6_max_abs_speed (eval "NaoType["$type"]['lj6_max_abs_speed']")) + + (def $lj7_min -1) + (def $lj7_max 70) + (def $lj7_max_abs_speed $MaxAbsJointSpeed) + + (def $lj1_axis_x -0.7071) + (def $lj1_axis_y 0) + (def $lj1_axis_z (eval $LRFactor * 0.7071)) + + (def $lj3_Anchor_X (eval -1 * $ThighRelHip2_X)) + (def $lj3_Anchor_Y (eval -1 * $ThighRelHip2_Y)) + (def $lj3_Anchor_Z (eval -1 * $ThighRelHip2_Z)) + + (def $lj6_Anchor_X 0) + (def $lj6_Anchor_Y -0.03) + (def $lj6_Anchor_Z 0.035) + + (def $lj7_Anchor_X 0) + (def $lj7_Anchor_Y (eval -0.5 * $ToeLength)) + (def $lj7_Anchor_Z -0.005) + + ; + ;Models obj + ; + (def $ThighObj (join models/ $LeftOrRight thigh.obj)) + (def $ShankObj (join models/ $LeftOrRight shank.obj)) + (def $FootObj (join models/ $LeftOrRight foot.obj)) + + ; + ;Construct Hip1 + ; + (nd Transform + (setName $Hip1Name) + (setLocalPos $Hip1_X $Hip1_Y $Hip1_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $Hip1Radius matYellow) + ;(importScene rsg/agent/nao/sphere_physics $Hip1Radius $Hip1Mass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $Hip1Radius $Hip1Mass) + + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint1PerName $Joint1EffName + ../sphereBody ../../body/boxBody + 0 0 0 + $lj1_axis_x $lj1_axis_y $lj1_axis_z + $lj1_min $lj1_max + $lj1_max_abs_speed) + ) + + ; + ;Construct Hip2 + ; + (nd Transform + (setName $Hip2Name) + (setLocalPos $Hip2_X $Hip2_Y $Hip2_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $Hip2Radius matYellow) + ;(importScene rsg/agent/nao/sphere_physics.rsg $Hip2Radius $Hip2Mass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $Hip2Radius $Hip2Mass) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint2PerName $Joint2EffName + ../sphereBody $Hip1BodyPath + 0 0 0 ;anchor + 0 1 0 ;axis + $lj2_min $lj2_max + $lj2_max_abs_speed) + ) + + ; + ;Construct Thigh + ; + (nd Transform + (setName $ThighName) + (setLocalPos $Thigh_X $Thigh_Y $Thigh_Z) + + (switch $loadObj + (true + (nd StaticMesh (load $ThighObj) (setScale $ThighSizeX $ThighSizeX $ThighSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ThighSizeX $ThighSizeY $ThighSizeZ matBlue) + ) + ) + + ;(importScene rsg/agent/nao/box_physics.rsg $ThighSizeX $ThighSizeY $ThighSizeZ $ThighMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ThighSizeX $ThighSizeY $ThighSizeZ $ThighMass) + + (nd BoxCollider + (setName (join $LeftOrRight ThighCollider)) + (addNotCollideWithColliderName TorsoCollider true) + (setBoxLengths $ThighSizeX $ThighSizeY $ThighSizeZ) + (importScene rsg/agent/nao/contactjointhandler.rsg) + ) + + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint3PerName $Joint3EffName + ../boxBody $Hip2BodyPath + $lj3_Anchor_X $lj3_Anchor_Y $lj3_Anchor_Z + 1 0 0 ;1 -1 -1 + $lj3_min $lj3_max + $lj3_max_abs_speed) + + ) + + ; + ;Construct Shank + ; + (nd Transform + (setName $ShankName) + (setLocalPos $Shank_X $Shank_Y $Shank_Z) + + (switch $loadObj + (true + (nd StaticMesh (load $ShankObj) (setScale $ShankSizeX $ShankSizeX $ShankSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ShankSizeX $ShankSizeY $ShankSizeZ matGrey) + ) + ) + + ;(importScene rsg/agent/nao/box_physics.rsg $ShankSizeX $ShankSizeY $ShankSizeZ $ShankMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ShankSizeX $ShankSizeY $ShankSizeZ $ShankMass) + + (nd BoxCollider + (setName (join $LeftOrRight ShankCollider)) + (setBoxLengths $ShankSizeX $ShankSizeY $ShankSizeZ) + (importScene rsg/agent/nao/contactjointhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint4PerName $Joint4EffName + ../boxBody $ThighBodyPath + 0 -0.01 0.045 + 1 0 0 ;0 -1 -1 + $lj4_min $lj4_max + $lj4_max_abs_speed) + + ) + + ; + ;Construct Ankle + ; + (nd Transform + (setName $AnkleName) + (setLocalPos $Ankle_X $Ankle_Y $Ankle_Z) + + (importScene rsg/agent/nao/sphere_appearance.rsg $AnkleRadius matRed) + ;(importScene rsg/agent/nao/sphere_physics.rsg $AnkleRadius $AnkleMass) + (importScene rsg/agent/nao/sphere_physics_nocollider.rsg $AnkleRadius $AnkleMass) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint5PerName $Joint5EffName + ../sphereBody $ShankBodyPath + 0 0 0 + 1 0 0 ;0 -1 -1 + $lj5_min $lj5_max + $lj5_max_abs_speed) + + ) + + ; + ;Construct Foot + ; + (nd Transform + (setName $FootName) + (setLocalPos $Foot_X $Foot_Y $Foot_Z) + + (nd ForceResistancePerceptor + (setName $FRPName) + ) + + (switch $loadObj + (true + (nd StaticMesh (load $FootObj) (setScale $FootSizeX (eval $FootSizeX * (eval $FootSizeY / $TotalFootLength)) $FootSizeX)) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $FootSizeX $FootSizeY $FootSizeZ matBlue) + ) + ) + + ;(importScene rsg/agent/nao/box_physics_with_handler.rsg $FootSizeX $FootSizeY $FootSizeZ $FootMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $FootSizeX $FootSizeY $FootSizeZ $FootMass) + + (nd BoxCollider + (setName (join $LeftOrRight FootCollider)) + (addNotCollideWithColliderName (join $LeftOrRight ShankCollider) true) + (setBoxLengths $FootSizeX $FootSizeY $FootSizeZ) + (importScene rsg/agent/nao/touchperceptorhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint6PerName $Joint6EffName + ../boxBody $AnkleBodyPath + $lj6_Anchor_X $lj6_Anchor_Y $lj6_Anchor_Z + 0 1 0 ;1 -1 -1 + $lj6_min $lj6_max + $lj6_max_abs_speed) + + (nd ObjectState + (setID $FootName) + ) + + + ) + + + + ; + ;Construct Toe + ; + (nd Transform + (setName $ToeName) + (setLocalPos $Toe_X $Toe_Y $Toe_Z) + + (nd ForceResistancePerceptor + (setName $FRPToeName) + ) + + (switch $loadObj + (true + (nd StaticMesh (load $FootObj) (setScale $FootSizeX (eval $FootSizeX * (eval $ToeSizeY / $FootSizeY)) (eval $FootSizeX * (eval $ToeSizeZ / $FootSizeZ)))) + ) + (false + (importScene rsg/agent/nao/box_appearance.rsg $ToeSizeX $ToeSizeY $ToeSizeZ matGrey) + ) + ) + + ;(importScene rsg/agent/nao/box_physics_with_handler.rsg $ToeSizeX $ToeSizeY $ToeSizeZ $ToeMass) + (importScene rsg/agent/nao/box_physics_nocollider.rsg $ToeSizeX $ToeSizeY $ToeSizeZ $ToeMass) + + (nd BoxCollider + (setName (join $LeftOrRight ToeCollider)) + (addNotCollideWithColliderName (join $LeftOrRight FootCollider) true) + (setBoxLengths $ToeSizeX $ToeSizeY $ToeSizeZ) + (importScene rsg/agent/nao/touchperceptorhandler.rsg) + ) + + (importScene rsg/agent/nao/hingejoint.rsg + $Joint7PerName $Joint7EffName + ../boxBody $FootBodyPath + $lj7_Anchor_X $lj7_Anchor_Y $lj7_Anchor_Z + 1 0 0 ;1 -1 -1 + $lj7_min $lj7_max + $lj7_max_abs_speed) + ) +) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-06-24 20:52:15
|
Revision: 381 http://sourceforge.net/p/simspark/svn/381 Author: hedayat Date: 2014-06-24 20:52:12 +0000 (Tue, 24 Jun 2014) Log Message: ----------- RoboCup 2014 Release (hopefully!) - Update version to 0.6.8.1 - Add robot types for RoboCup 2014 Modified Paths: -------------- trunk/rcssserver3d/CMakeLists.txt trunk/rcssserver3d/ChangeLog trunk/rcssserver3d/NEWS trunk/rcssserver3d/RELEASE trunk/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg trunk/rcssserver3d/data/rsg/agent/nao/naoleg.rsg trunk/rcssserver3d/rcssserver3d/naorobottypes.rb Modified: trunk/rcssserver3d/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/CMakeLists.txt 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/CMakeLists.txt 2014-06-24 20:52:12 UTC (rev 381) @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.6) project(rcssserver3d CXX C) -set(PACKAGE_VERSION "0.6.8") +set(PACKAGE_VERSION "0.6.8.1") ########## check for headerfiles/libraries ########## include(CheckIncludeFile) Modified: trunk/rcssserver3d/ChangeLog =================================================================== --- trunk/rcssserver3d/ChangeLog 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/ChangeLog 2014-06-24 20:52:12 UTC (rev 381) @@ -1,3 +1,17 @@ +2014-06-25 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - prepared for 0.6.8.1 release + + * data/rsg/agent/nao/nao_hetero.rsg: + * data/rsg/agent/nao/naoleg.rsg: + * data/rsg/agent/nao/naolegtoe.rsg: + * rcssserver3d/naorobottypes.rb: + - Update robot types for RoboCup 2014 including two new types, one of which + has toes! Thanks to Patrick, Stefan and Klaus. + 2014-05-30 Hedayat Vatankhah <hed...@gm...> * NEWS: Modified: trunk/rcssserver3d/NEWS =================================================================== --- trunk/rcssserver3d/NEWS 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/NEWS 2014-06-24 20:52:12 UTC (rev 381) @@ -1,3 +1,8 @@ +[0.6.8.1] +This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. +It also includes few other changes: a small bug fix, and new hetero robot types +for RoboCup 2014. Now, our Nao robots can have toe! :) + [0.6.8] This release mainly comes with 2 new features: 1. labeling hear messages with team names so that it is clear which team the message comes from. 2. Score Modified: trunk/rcssserver3d/RELEASE =================================================================== --- trunk/rcssserver3d/RELEASE 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/RELEASE 2014-06-24 20:52:12 UTC (rev 381) @@ -1,5 +1,10 @@ -RELEASE News of rcssserver3d-0.6.8 +RELEASE News of rcssserver3d-0.6.8.1 +This is a bug-fix release for 0.6.8, which had a bug in labeling hear messages. +It also includes few other changes: a small bug fix, and new hetero robot types +for RoboCup 2014. Now, our Nao robots can have toe! :) + +And this is the release news for 0.6.8: This release mainly comes with 2 new features: 1. labeling hear messages with team names so that it is clear which team the message comes from. 2. Score reporting. A few bug fixes are also included. Modified: trunk/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg =================================================================== --- trunk/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/data/rsg/agent/nao/nao_hetero.rsg 2014-06-24 20:52:12 UTC (rev 381) @@ -25,6 +25,9 @@ (def $TorsoInitZ 1.5) (def $loadObj (eval Nao.UseTexture)) + +(def $useToe (eval "NaoType["$type"]['UseToe']")) + ; ;Begin Construct of Nao ; @@ -131,18 +134,38 @@ ; ;The Right Leg ; - (importScene rsg/agent/nao/naoleg.rsg - 1 r - $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj - $type) - + (switch $useToe + (true + (importScene rsg/agent/nao/naolegtoe.rsg + 1 r + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + (false + (importScene rsg/agent/nao/naoleg.rsg + 1 r + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + ) + ; ;The Left Leg ; - (importScene rsg/agent/nao/naoleg.rsg - -1 l - $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj - $type) + (switch $useToe + (true + (importScene rsg/agent/nao/naolegtoe.rsg + -1 l + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + (false + (importScene rsg/agent/nao/naoleg.rsg + -1 l + $TorsoInitX $TorsoInitY $TorsoInitZ $loadObj + $type) + ) + ) );end of nd Space Modified: trunk/rcssserver3d/data/rsg/agent/nao/naoleg.rsg =================================================================== --- trunk/rcssserver3d/data/rsg/agent/nao/naoleg.rsg 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/data/rsg/agent/nao/naoleg.rsg 2014-06-24 20:52:12 UTC (rev 381) @@ -47,9 +47,11 @@ ; ;Position Parameters ; - (def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + ;(def $Hip1RelTorso_X (eval $LRFactor * 0.055)) + (def $Hip1RelTorso_X (eval $LRFactor * (eval "NaoType["$type"]['Hip1RelTorso_X']"))) (def $Hip1RelTorso_Y -0.01) - (def $Hip1RelTorso_Z -0.115) + ;(def $Hip1RelTorso_Z -0.115) + (def $Hip1RelTorso_Z (eval "NaoType["$type"]['Hip1RelTorso_Z']")) (def $Hip2RelHip1_X 0) (def $Hip2RelHip1_Y 0) Modified: trunk/rcssserver3d/rcssserver3d/naorobottypes.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naorobottypes.rb 2014-06-08 07:29:26 UTC (rev 380) +++ trunk/rcssserver3d/rcssserver3d/naorobottypes.rb 2014-06-24 20:52:12 UTC (rev 381) @@ -1,27 +1,59 @@ NaoType = [ # Type 0 (Standard Nao) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.04, 'AnkleRelShank_Z' => -0.055, 'lj5_max_abs_speed' => 6.1395, 'lj6_max_abs_speed' => 6.1395, - 'ElbowRelUpperArm_Y' => 0.07 + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'false' }, -# Type 1 +# Type 1 (longer legs and arms) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.05832, 'AnkleRelShank_Z' => -0.07332, 'lj5_max_abs_speed' => 6.1395, 'lj6_max_abs_speed' => 6.1395, - 'ElbowRelUpperArm_Y' => 0.10664 + 'ElbowRelUpperArm_Y' => 0.10664, + 'UseToe' => 'false' }, -# Type 2 +# Type 2 (faster ankle-pitch and slower ankle-roll speed) { + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, 'ThighRelHip2_Z' => -0.04, 'AnkleRelShank_Z' => -0.055, 'lj5_max_abs_speed' => 8.80667, 'lj6_max_abs_speed' => 3.47234, - 'ElbowRelUpperArm_Y' => 0.07 + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'false' +}, +# Type 3 (longer legs and arms + wider hip) +{ + 'Hip1RelTorso_X' => 0.072954143, + 'Hip1RelTorso_Z' => -0.115, + 'ThighRelHip2_Z' => -0.067868424, + 'AnkleRelShank_Z' => -0.082868424, + 'lj5_max_abs_speed' => 6.1395, + 'lj6_max_abs_speed' => 6.1395, + 'ElbowRelUpperArm_Y' => 0.125736848, + 'UseToe' => 'false' +}, +# Type 4 (Nao toes model) +{ + 'Hip1RelTorso_X' => 0.055, + 'Hip1RelTorso_Z' => -0.115, + 'ThighRelHip2_Z' => -0.04, + 'AnkleRelShank_Z' => -0.055, + 'lj5_max_abs_speed' => 6.1395, + 'lj6_max_abs_speed' => 6.1395, + 'ElbowRelUpperArm_Y' => 0.07, + 'UseToe' => 'true', + 'ToeLength' => 0.035517656 } ] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2014-06-08 07:29:31
|
Revision: 380 http://sourceforge.net/p/simspark/svn/380 Author: patmac369 Date: 2014-06-08 07:29:26 +0000 (Sun, 08 Jun 2014) Log Message: ----------- Fixing a bug where the height of the position of the ball when moved after a failed free kick attempt (for instance a goal kick where the ball is not moved out of the goal box) might not be on the ground. I've seen this happen when manually changing play modes through the training command parser while trying to restore the state of a game from a logfile. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-02 11:08:41 UTC (rev 379) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-08 07:29:26 UTC (rev 380) @@ -1271,6 +1271,7 @@ { // update freekickpos mFreeKickPos = mBallState->GetLastValidBallPosition(); + mFreeKickPos[2] = mBallRadius; return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2014-06-02 11:08:44
|
Revision: 379 http://sourceforge.net/p/simspark/svn/379 Author: patmac369 Date: 2014-06-02 11:08:41 +0000 (Mon, 02 Jun 2014) Log Message: ----------- Allowing the automated referee for collision fouls to be turned on by setting the UseCharging variable to true (default value is false). Previously charging fouls were hard coded to be ignored regardless of the value of UseCharging. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp trunk/rcssserver3d/rcssserver3d/naosoccersim.rb Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-02 10:39:21 UTC (rev 378) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-02 11:08:41 UTC (rev 379) @@ -58,7 +58,7 @@ mNotOffside(false), mLastModeWasPlayOn(false), mUseOffside(true), - mUseCharging(true), + mUseCharging(false), mChargingMinSpeed(0.2), mChargingMinBallDist(0.2), mChargingMaxOppSpeedAngle(90), @@ -647,14 +647,11 @@ int unum = (*i)->GetUniformNumber(); if (playerFoulTime[unum][idx] > mMaxFoulTime / 0.02) { - if (playerLastFoul[unum][idx] != FT_Charging) - { - // I am not a very good soccer player... I am violating the rules... - salt::Vector3f new_pos = RepositionOutsidePos(ballPos, unum, idx); - //Calculate my Reposition pos outside of the field - SoccerBase::MoveAgent(agent_aspect, new_pos); - //Oh my God!! I am flying!! I am going outside of the field - } + // I am not a very good soccer player... I am violating the rules... + salt::Vector3f new_pos = RepositionOutsidePos(ballPos, unum, idx); + //Calculate my Reposition pos outside of the field + SoccerBase::MoveAgent(agent_aspect, new_pos); + //Oh my God!! I am flying!! I am going outside of the field ResetFoulCounterPlayer(unum, idx); // Record faul mFouls.push_back(Foul(mFouls.size() + 1, playerLastFoul[unum][idx], *i)); Modified: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2014-06-02 10:39:21 UTC (rev 378) +++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2014-06-02 11:08:41 UTC (rev 379) @@ -78,7 +78,7 @@ addSoccerVar('MaxTouchGroupSize', 2) # charging foul parameters -addSoccerVar('UseCharging', true) +addSoccerVar('UseCharging', false) addSoccerVar('ChargingMinSpeed', 0.2) addSoccerVar('ChargingMinBallDist', 0.2) addSoccerVar('IllegalInterceptMinAngle', 70) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2014-06-02 10:39:26
|
Revision: 378 http://sourceforge.net/p/simspark/svn/378 Author: patmac369 Date: 2014-06-02 10:39:21 +0000 (Mon, 02 Jun 2014) Log Message: ----------- Fixing bug where opponent messaages were incorrectly labeled with a team's own team name. Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-05-30 16:27:30 UTC (rev 377) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-06-02 10:39:21 UTC (rev 378) @@ -1795,12 +1795,16 @@ boost::shared_ptr<Transform> transform_parent; boost::shared_ptr<RigidBody> agent_body; + std::string team = ""; + for ( SoccerBase::TAgentStateList::const_iterator it = agent_states.begin(); it != agent_states.end(); it++ ) { + // Get name of team to label all messages with + team = (*it)->GetPerceptName(ObjectState::PT_Player); if ( (*it)->GetUniformNumber() == number) { (*it)->AddSelfMessage(message); @@ -1818,7 +1822,6 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, idx); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); (*it)->AddMessage(message, team, direction, true); } } @@ -1841,7 +1844,6 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, SoccerBase::OpponentTeam(idx)); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); (*it)->AddMessage(message, team, direction, false); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-05-30 16:27:32
|
Revision: 377 http://sourceforge.net/p/simspark/svn/377 Author: hedayat Date: 2014-05-30 16:27:30 +0000 (Fri, 30 May 2014) Log Message: ----------- Tag rcssserver3d 0.6.8 release Added Paths: ----------- tags/RCSSSERVER3D_0.6.8_RELEASE/ Index: tags/RCSSSERVER3D_0.6.8_RELEASE =================================================================== --- trunk/rcssserver3d 2014-05-30 13:15:18 UTC (rev 376) +++ tags/RCSSSERVER3D_0.6.8_RELEASE 2014-05-30 16:27:30 UTC (rev 377) Property changes on: tags/RCSSSERVER3D_0.6.8_RELEASE ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,27 ## +.project + +.cproject + +Makefile.in + +rcssserver3d_config.h + +rcssserver3d_config.h.in + +configure + +stamp-h1 + +aclocal.m4 + +autom4te.cache + +config.status + +.cdtconfigure.Build (GNU) + +libtool + +Makefile + +.settings Added: svn:mergeinfo ## -0,0 +1,2 ## +/branches/agentselection/rcssserver3d:195-206 +/branches/treehole/rcssserver3d:175 \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-05-30 13:15:22
|
Revision: 376 http://sourceforge.net/p/simspark/svn/376 Author: hedayat Date: 2014-05-30 13:15:18 +0000 (Fri, 30 May 2014) Log Message: ----------- Preparing 0.6.8 release Modified Paths: -------------- trunk/rcssserver3d/CMakeLists.txt trunk/rcssserver3d/ChangeLog trunk/rcssserver3d/NEWS trunk/rcssserver3d/RELEASE Modified: trunk/rcssserver3d/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/CMakeLists.txt 2014-05-29 20:42:29 UTC (rev 375) +++ trunk/rcssserver3d/CMakeLists.txt 2014-05-30 13:15:18 UTC (rev 376) @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.6) project(rcssserver3d CXX C) -set(PACKAGE_VERSION "0.6.7") +set(PACKAGE_VERSION "0.6.8") ########## check for headerfiles/libraries ########## include(CheckIncludeFile) Modified: trunk/rcssserver3d/ChangeLog =================================================================== --- trunk/rcssserver3d/ChangeLog 2014-05-29 20:42:29 UTC (rev 375) +++ trunk/rcssserver3d/ChangeLog 2014-05-30 13:15:18 UTC (rev 376) @@ -1,3 +1,12 @@ +2014-05-30 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - prepared for 0.6.8 release; including changes in this release like hear + message labeling, score reporting and bug fixes not documented in + ChangeLog + 2013-06-20 Hedayat Vatankhah <hed...@gm...> * plugin/soccermonitor/CMakeLists.txt: Modified: trunk/rcssserver3d/NEWS =================================================================== --- trunk/rcssserver3d/NEWS 2014-05-29 20:42:29 UTC (rev 375) +++ trunk/rcssserver3d/NEWS 2014-05-30 13:15:18 UTC (rev 376) @@ -1,6 +1,37 @@ +[0.6.8] +This release mainly comes with 2 new features: 1. labeling hear messages with +team names so that it is clear which team the message comes from. 2. Score +reporting. A few bug fixes are also included. + +* Hear message labeling: + - Now hear messages include team names - Ex: (hear teamName 9 10 text) + +* Score Reporting: + - Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) + +* New Options in naosoccersim.rb: + - LabelMessages - Toggles on/off labeling of messages (default on) + - ReportScores - Toggles on/off score reporting (default on) + - MaxRobotTypeCount - Maximum number of any one robot type that may be + used (default 7 and can be set to 11 to preserve 2013 competition behavior) + - MinRobotTypesCount - Minimum number of robot types that must be used for a + full team (default 3 and can be set to 1 to preserve 2013 competition + behavior) + - MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types + (default 9 but can be set to 11 to preserve 2013 competition behavior) + +* Other changes: + - Robot type checking to ensure that enough robot types (3) are used and that + not too many of any one (7) or two (9) types is used. + - Updating naorobottypes.rb with robot types used in 2013 competitions + - Clear Players in GoalLeft/Right before kickoff to make sure that opponent + doesn't touch ball at the middle of the field. + - Don't enforce crowding rules on kickoff, since opponent should not come + near the ball + [0.6.7] This is the RoboCup 2013 release. It comes with some bug fixes, and also -compatibility with latest Boost libraries. New foulds and new debugging +compatibility with latest Boost libraries. New fouls and new debugging facility are provided. Now, fouls are sent to the monitor so that it can provide visual feedback about them. Finally, support for heterogeneous robots is added and two sample types are provided. Modified: trunk/rcssserver3d/RELEASE =================================================================== --- trunk/rcssserver3d/RELEASE 2014-05-29 20:42:29 UTC (rev 375) +++ trunk/rcssserver3d/RELEASE 2014-05-30 13:15:18 UTC (rev 376) @@ -1,49 +1,34 @@ -RELEASE News of rcssserver3d-0.6.7 +RELEASE News of rcssserver3d-0.6.8 -This is the RoboCup 2013 release. It comes with some bug fixes, and also -compatibility with latest Boost libraries. New foulds and new debugging -facility are provided. Now, fouls are sent to the monitor so that it can -provide visual feedback about them. Finally, support for heterogeneous robots -is added and two sample types are provided. +This release mainly comes with 2 new features: 1. labeling hear messages with +team names so that it is clear which team the message comes from. 2. Score +reporting. A few bug fixes are also included. -* Heterogeneous Players: - This release supports heterogeneous players. Currently, two extra Nao robots - are provided beside the standard Nao (thanks Stefan and Klaus). +* Hear message labeling: + - Now hear messages include team names - Ex: (hear teamName 9 10 text) - - Usage: to use the new heterogeneous players, a new scene command should be - used. While the old style scene commands work, for using hetero players you - should send "(scene rsg/agent/nao/nao_hetero.rsg TYPE_NO)", in which TYPE_NO - is the type number of the player type. Type 0 is the standard type, and - hetero types start from 1. Therefore, to load Nao type 1 the following - command should be sent: (scene rsg/agent/nao/nao_hetero.rsg 1). Notice that - you can use the new style command for loading standard Nao, using 0 as - TYPE_NO. - - - Heterogeneous Robot Parameters: The robot parameters for different types - are defined in a new file: "naorobottypes.rb". New types can be added to the - array. But to define new parameters, corresponding .rsg files should be - modified. - - - Rules: Each team can use a limited number of hetero players. The limits - can be configured in naosoccersim.rb using "MaxTotalHeteroCount" and - "MaxHeteroTypeCount" variables. The former limits the total number of hetero - players for each team, and the latter specifies the maximum number of players - of a single hetero player type. +* Score Reporting: + - Example: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) -* Other Features/Changes: - - Charging fouls rules are added (thanks Patrick). These fouls are not - penalized, but recorded and sent to the monitor. New rules can be configured - in naosoccersim.rb. - - Fouls are added to the monitor protocol to provide visual feedback about - them to viewers. - - For debugging purposes, sensing the orientation of the agent can be - enabled using "setSenseMyOrien" option in the .rsg file of an agent (added - by Patrick) - - A player can kick the ball in kickoff if there are only 2 players in - the field to support current penalty mode. - - Fixed bugs in goal counting when changing team sides in the second half. - Now, this feature should work fine. However, it is disabled by default now - since we don't use it currently in the competitions. +* New Options in naosoccersim.rb: + - LabelMessages - Toggles on/off labeling of messages (default on) + - ReportScores - Toggles on/off score reporting (default on) + - MaxRobotTypeCount - Maximum number of any one robot type that may be + used (default 7 and can be set to 11 to preserve 2013 competition behavior) + - MinRobotTypesCount - Minimum number of robot types that must be used for a + full team (default 3 and can be set to 1 to preserve 2013 competition + behavior) + - MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types + (default 9 but can be set to 11 to preserve 2013 competition behavior) + +* Other changes: + - Robot type checking to ensure that enough robot types (3) are used and that + not too many of any one (7) or two (9) types is used. + - Updating naorobottypes.rb with robot types used in 2013 competitions + - Clear Players in GoalLeft/Right before kickoff to make sure that opponent + doesn't touch ball at the middle of the field. + - Don't enforce crowding rules on kickoff, since opponent should not come + near the ball You can get the package on the Simspark page on SourceForge at http://sourceforge.net/projects/simspark/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-05-29 20:42:32
|
Revision: 375 http://sourceforge.net/p/simspark/svn/375 Author: hedayat Date: 2014-05-29 20:42:29 +0000 (Thu, 29 May 2014) Log Message: ----------- Merge with trunk/rcssserver3d Modified Paths: -------------- branches/gui-bullet/rcssserver3d/CMakeLists.txt branches/gui-bullet/rcssserver3d/ChangeLog branches/gui-bullet/rcssserver3d/NEWS branches/gui-bullet/rcssserver3d/RELEASE branches/gui-bullet/rcssserver3d/cmake/AdditionalSearchPaths.cmake branches/gui-bullet/rcssserver3d/plugin/soccer/CMakeLists.txt branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.h branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.h branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem.h branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccermonitor/CMakeLists.txt branches/gui-bullet/rcssserver3d/rcssagent3d/naobehavior.cpp branches/gui-bullet/rcssserver3d/rcssserver3d/naorobottypes.rb branches/gui-bullet/rcssserver3d/rcssserver3d/naosoccersim.rb Property Changed: ---------------- branches/gui-bullet/rcssserver3d/ branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.c branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/compatible.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.c branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.c branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpwrapper.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.h branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.h branches/gui-bullet/rcssserver3d/plugin/soccer/line/line_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem.cpp branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem.h branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleitem_c.cpp Index: branches/gui-bullet/rcssserver3d =================================================================== --- branches/gui-bullet/rcssserver3d 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1 ## -/trunk/rcssserver3d:329-355 +/trunk/rcssserver3d:329-355,360-372 \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/CMakeLists.txt =================================================================== --- branches/gui-bullet/rcssserver3d/CMakeLists.txt 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/CMakeLists.txt 2014-05-29 20:42:29 UTC (rev 375) @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.6) project(rcssserver3d CXX C) -set(PACKAGE_VERSION "0.6.6") +set(PACKAGE_VERSION "0.6.7") ########## check for headerfiles/libraries ########## include(CheckIncludeFile) @@ -12,7 +12,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) if (WIN32) - set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) Modified: branches/gui-bullet/rcssserver3d/ChangeLog =================================================================== --- branches/gui-bullet/rcssserver3d/ChangeLog 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/ChangeLog 2014-05-29 20:42:29 UTC (rev 375) @@ -1,3 +1,58 @@ +2013-06-20 Hedayat Vatankhah <hed...@gm...> + + * plugin/soccermonitor/CMakeLists.txt: + * plugin/soccer/CMakeLists.txt: + - link boost libraries + + * CMakeLists.txt: + * cmake/AdditionalSearchPaths.cmake: + - support cross-compiling from multiple root dirs + +2013-06-13 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + - added a note about fixing side changing bug in 0.6.7 release + + * rcssserver3d/naosoccersim.rb: + - disabled ChangeSidesInSecondHalf by default for 0.6.7 release, since this + is what we use currently in competitions. But it should work fine if + enabled. + +2013-06-12 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - Updated for 0.6.7 release + + * rcssagent3d/naobehavior.cpp: + - use the new style scene command to load standard Nao + + * rcssserver3d/naorobottypes.rb: + * plugin/soccer/soccerruleaspect/soccerruleaspect.cpp: + - re-formatted for better readability & consistency + (SoccerRuleAspect::SwapTeamSides): + - swap gamestateaspect internal team data too (should fix bugs related to + changing team's sides in the second half) + + * rcssserver3d/naosoccersim.rb: + - added charging foul parameters to silent 'variable not found' errors + + * plugin/soccer/gamestateaspect/gamestateaspect.h: + * plugin/soccer/gamestateaspect/gamestateaspect.cpp: + - added new functions to swap teams internal data structures when they + change sides + +2013-06-12 Sander van Dijk <sgv...@gm...> + + * plugin/soccer/soccerruleaspect/soccerruleaspect.h: + * plugin/soccer/soccerruleaspect/soccerruleaspect.cpp: + * rcssserver3d/naosoccersim.rb: + - added Patrick's charging foul rules, plus soccervar parameters + to enable and configure them. these fouls are not penalized, only + recorded and sent to the monitor + 2013-06-09 Hedayat Vatankhah <hed...@gm...> * plugin/soccer/gamestateaspect/gamestateaspect.h: @@ -8,7 +63,7 @@ both the total number of heterogeneous players of each team (MaxTotalHeteroCount variable in naosoccersim.rb), and the number of heterogeneous players of each type (MaxHeteroTypeCount variable) - + 2013-06-06 Hedayat Vatankhah <hed...@gm...> * plugin/soccer/restrictedvisionperceptor/restrictedvisionperceptor.h: Modified: branches/gui-bullet/rcssserver3d/NEWS =================================================================== --- branches/gui-bullet/rcssserver3d/NEWS 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/NEWS 2014-05-29 20:42:29 UTC (rev 375) @@ -1,3 +1,49 @@ +[0.6.7] +This is the RoboCup 2013 release. It comes with some bug fixes, and also +compatibility with latest Boost libraries. New foulds and new debugging +facility are provided. Now, fouls are sent to the monitor so that it can +provide visual feedback about them. Finally, support for heterogeneous robots +is added and two sample types are provided. + +* Heterogeneous Players: + This release supports heterogeneous players. Currently, two extra Nao robots + are provided beside the standard Nao (thanks Stefan and Klaus). + + - Usage: to use the new heterogeneous players, a new scene command should be + used. While the old style scene commands work, for using hetero players you + should send "(scene rsg/agent/nao/nao_hetero.rsg TYPE_NO)", in which TYPE_NO + is the type number of the player type. Type 0 is the standard type, and + hetero types start from 1. Therefore, to load Nao type 1 the following + command should be sent: (scene rsg/agent/nao/nao_hetero.rsg 1). Notice that + you can use the new style command for loading standard Nao, using 0 as + TYPE_NO. + + - Heterogeneous Robot Parameters: The robot parameters for different types + are defined in a new file: "naorobottypes.rb". New types can be added to the + array. But to define new parameters, corresponding .rsg files should be + modified. + + - Rules: Each team can use a limited number of hetero players. The limits + can be configured in naosoccersim.rb using "MaxTotalHeteroCount" and + "MaxHeteroTypeCount" variables. The former limits the total number of hetero + players for each team, and the latter specifies the maximum number of players + of a single hetero player type. + +* Other Features/Changes: + - Charging fouls rules are added (thanks Patrick). These fouls are not + penalized, but recorded and sent to the monitor. New rules can be configured + in naosoccersim.rb. + - Fouls are added to the monitor protocol to provide visual feedback about + them to viewers. + - For debugging purposes, sensing the orientation of the agent can be + enabled using "setSenseMyOrien" option in the .rsg file of an agent (added + by Patrick) + - A player can kick the ball in kickoff if there are only 2 players in + the field to support current penalty mode. + - Fixed bugs in goal counting when changing team sides in the second half. + Now, this feature should work fine. However, it is disabled by default now + since we don't use it currently in the competitions. + [0.6.6] It's time for a new release! This release comes with a number of bug fixes and several minor enhancements here and there. Now, you can run the server for Modified: branches/gui-bullet/rcssserver3d/RELEASE =================================================================== --- branches/gui-bullet/rcssserver3d/RELEASE 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/RELEASE 2014-05-29 20:42:29 UTC (rev 375) @@ -1,64 +1,49 @@ -RELEASE News of rcssserver3d-0.6.6 +RELEASE News of rcssserver3d-0.6.7 -It's time for a new release! This release comes with a number of bug fixes and -several minor enhancements here and there. Now, you can run the server for -two complete halves. Teams now change their sides in the second half. Also, -automatic kick off and automatic quit modes are added. Field dimensions are -also increased to 20x30 meters, and free kick distance is 2.0 meters now. -More detailed information about this release follows: +This is the RoboCup 2013 release. It comes with some bug fixes, and also +compatibility with latest Boost libraries. New foulds and new debugging +facility are provided. Now, fouls are sent to the monitor so that it can +provide visual feedback about them. Finally, support for heterogeneous robots +is added and two sample types are provided. -* Rule Changes: - - automatic referee now enforces rules whenever players are permitted to - play, rather than only in playon play mode. - - it is no longer possible to score directly from kick off, the ball should - at least touch another player before going into the goal - - in kickoff playmode, the kicker cannot touch the ball again until another - player touches it. +* Heterogeneous Players: + This release supports heterogeneous players. Currently, two extra Nao robots + are provided beside the standard Nao (thanks Stefan and Klaus). + + - Usage: to use the new heterogeneous players, a new scene command should be + used. While the old style scene commands work, for using hetero players you + should send "(scene rsg/agent/nao/nao_hetero.rsg TYPE_NO)", in which TYPE_NO + is the type number of the player type. Type 0 is the standard type, and + hetero types start from 1. Therefore, to load Nao type 1 the following + command should be sent: (scene rsg/agent/nao/nao_hetero.rsg 1). Notice that + you can use the new style command for loading standard Nao, using 0 as + TYPE_NO. + + - Heterogeneous Robot Parameters: The robot parameters for different types + are defined in a new file: "naorobottypes.rb". New types can be added to the + array. But to define new parameters, corresponding .rsg files should be + modified. + + - Rules: Each team can use a limited number of hetero players. The limits + can be configured in naosoccersim.rb using "MaxTotalHeteroCount" and + "MaxHeteroTypeCount" variables. The former limits the total number of hetero + players for each team, and the latter specifies the maximum number of players + of a single hetero player type. -* Field/Dimension Changes: - - New dimensions: 20x30 - - Free kick distance: 2.0 - - Corner kick position: in the middle point between goal and corner of the - field, to facilitate faster corner kicks. - - Nao's foot height is now 0.02 rather than 0.03. Ankle's position changed - accordingly +* Other Features/Changes: + - Charging fouls rules are added (thanks Patrick). These fouls are not + penalized, but recorded and sent to the monitor. New rules can be configured + in naosoccersim.rb. + - Fouls are added to the monitor protocol to provide visual feedback about + them to viewers. + - For debugging purposes, sensing the orientation of the agent can be + enabled using "setSenseMyOrien" option in the .rsg file of an agent (added + by Patrick) + - A player can kick the ball in kickoff if there are only 2 players in + the field to support current penalty mode. + - Fixed bugs in goal counting when changing team sides in the second half. + Now, this feature should work fine. However, it is disabled by default now + since we don't use it currently in the competitions. -* Several Bug fixes. Some notable ones are: - - Penalty lines and middle circle are now visible at their actual position - (Thanks to Marcus for his bug report, and Sander). - - Fixed a small bug in parsing move paramter (Thanks to Andreas Seekircher) - - Fixed a mistake which prevented from touch group rules to be applied at all - - Fixed a small bug in goal counting which cause this function to always - count a goal when ball moved out of the field - -* Enhance Automatic Kickoff Support: - - Changed default value of 'WaitBeforeKickOff' to 30, since 5 seconds - is too small for any team to start. - - WaitBeforeKickOff is now calculated from when the first agent connects - rather than from the beginning of the before kickoff playmode (when the - simulator is started) - - A game can be started with kick off for the left team, or using 'coin toss' - to determine which team should start the game. CoinTossForKickOff variable - in naosoccersim.rb can be used to change the behavior. It is disabled - by default. - -* Enhance Support for 'Second Half': - - Automatic Kick Off mode assigns Kick off to the correct team in the second - half - - Change teams' sides in the second half if enabled (enabled by default). It - can be disabled using ChangeSidesInSecondHalf variable in naosoccersim.rb. - -* Automatic Quit: - - In Automatic Quit mode rcsssever3d shuts down automatically when the game - is over. It is disabled by default but can be enabled using 'AutomaticQuit' - variable in naosoccersim.rb - -* Other Enhancements: - - The location of init scripts (e.g. zeitgeist.rb) can now be specified using - --init-script-prefix (you still can put most of the scripts and data files - like rsg/ directory inside your ~/.simspark/ instead). - - Better Windows support - - Support creating Windows binaries under Linux using MinGW - You can get the package on the Simspark page on SourceForge at http://sourceforge.net/projects/simspark/ Modified: branches/gui-bullet/rcssserver3d/cmake/AdditionalSearchPaths.cmake =================================================================== --- branches/gui-bullet/rcssserver3d/cmake/AdditionalSearchPaths.cmake 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/cmake/AdditionalSearchPaths.cmake 2014-05-29 20:42:29 UTC (rev 375) @@ -1,3 +1,7 @@ +# useful for cross-compilation from multiple root directories +set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} + "$ENV{CMAKE_ALTERNATIVE_ROOT}") + if (WIN32) set(ENV{SDLDIR} $ENV{SDLDIR} C:/library/SDL/ "C:/Program Files/SDL/" Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/CMakeLists.txt =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/CMakeLists.txt 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/CMakeLists.txt 2014-05-29 20:42:29 UTC (rev 375) @@ -136,7 +136,9 @@ add_library(soccer MODULE ${soccer_LIB_SRCS} ${soccer_LIB_HDRS}) -target_link_libraries(soccer ${spark_libs} ${spark_debug_libs} ${spark_release_libs} ${OPENGL_gl_LIBRARY}) +target_link_libraries(soccer ${spark_libs} + ${spark_debug_libs} ${spark_release_libs} ${OPENGL_gl_LIBRARY} + ${Boost_LIBRARIES}) if (NOT APPLE) set_target_properties(soccer PROPERTIES VERSION 1.1.0 SOVERSION 1) Index: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: recorderhandler.h 176 2010-02-25 12:19:37Z a-held $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: recorderhandler_c.cpp 176 2010-02-25 12:19:37Z a-held $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/agentcollisionhandler/agentcollisionhandler_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -136,7 +136,7 @@ } void -AgentState::AddMessage(const string& msg, float direction, bool teamMate) +AgentState::AddMessage(const string& msg, const string& team, float direction, bool teamMate) { if (teamMate) { @@ -148,6 +148,7 @@ mHearMateCap -= mHearDecay; mMateMsg = msg; + mMateTeam = team; mMateMsgDir = direction; mIfMateMsg = true; } @@ -161,6 +162,7 @@ mHearOppCap -= mHearDecay; mOppMsg = msg; + mOppTeam = team; mOppMsgDir = direction; mIfOppMsg = true; } @@ -174,7 +176,7 @@ } bool -AgentState::GetMessage(string& msg, float& direction, bool teamMate) +AgentState::GetMessage(string& msg, string& team, float& direction, bool teamMate) { if (teamMate) { @@ -189,6 +191,7 @@ } msg = mMateMsg; + team = mMateTeam; direction = mMateMsgDir; mIfMateMsg = false; return true; @@ -206,6 +209,7 @@ } msg = mOppMsg; + team = mOppTeam; direction = mOppMsgDir; mIfOppMsg = false; return true; Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/agentstate/agentstate.h 2014-05-29 20:42:29 UTC (rev 375) @@ -94,11 +94,11 @@ bool ReduceBattery(float consumption); /** Add a new message to the list */ - void AddMessage(const std::string& msg, float direction, bool teamMate); + void AddMessage(const std::string& msg, const std::string& team, float direction, bool teamMate); void AddSelfMessage(const std::string& msg); /** Get the first message from the list */ - bool GetMessage(std::string& msg, float& direction, bool teamMate); + bool GetMessage(std::string& msg, std::string& team, float& direction, bool teamMate); bool GetSelfMessage(std::string& msg); /** Whether agent is selected */ @@ -143,10 +143,12 @@ /** team-mate's message */ std::string mMateMsg; + std::string mMateTeam; float mMateMsgDir; /** opponent's message */ std::string mOppMsg; + std::string mOppTeam; float mOppMsgDir; /** max hear capacity units */ Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -20,6 +20,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include "gamestateaspect.h" +#include <algorithm> #include <zeitgeist/logserver/logserver.h> #include <soccerbase/soccerbase.h> #include <agentstate/agentstate.h> @@ -40,8 +41,6 @@ mGameHalf = GH_FIRST; mRobotTypeCount[0].push_back(0); // add count for type 0 (default type) mRobotTypeCount[1].push_back(0); - mHeteroCount[0] = 0; - mHeteroCount[1] = 0; mScore[0] = 0; mScore[1] = 0; mLastKickOffGameHalf = GH_NONE; @@ -51,8 +50,12 @@ mAgentRadius = 3.5; mFinished = false; mGamePaused = true; - mMaxHeteroTypeCount = 3; - mMaxTotalHeteroCount = 9; + mMaxRobotTypeCount = 7; + mMinRobotTypesCount = 3; + mMaxSumTwoRobotTypes = 9; + mInternalIndex[TI_NONE] = -1; + mInternalIndex[TI_LEFT] = 0; + mInternalIndex[TI_RIGHT] = 1; } GameStateAspect::~GameStateAspect() @@ -163,30 +166,19 @@ void GameStateAspect::SetTeamName(TTeamIndex idx, const std::string& name) { - switch (idx) - { - case TI_LEFT: - mTeamName[0] = name; - break; - case TI_RIGHT: - mTeamName[1] = name; - break; - } + int i = GetInternalIndex(idx); + if (i > -1) + mTeamName[i] = name; return; } std::string GameStateAspect::GetTeamName(TTeamIndex idx) const { - switch (idx) - { - case TI_LEFT: - return mTeamName[0]; - case TI_RIGHT: - return mTeamName[1]; - default: + int i = GetInternalIndex(idx); + if (i < 0) return ""; - } + return mTeamName[i]; } TTeamIndex @@ -197,34 +189,30 @@ if (mTeamName[i].empty()) { mTeamName[i] = teamName; - return static_cast<TTeamIndex>(i + TI_LEFT); + return GetInternalIndex(TI_LEFT) == i ? TI_LEFT : TI_RIGHT; } if (mTeamName[i] == teamName) { - return static_cast<TTeamIndex>(i + TI_LEFT); + return GetInternalIndex(TI_LEFT) == i ? TI_LEFT : TI_RIGHT; } } return TI_NONE; } +inline int +GameStateAspect::GetInternalIndex(TTeamIndex idx) const +{ + return mInternalIndex[idx]; +} + bool GameStateAspect::InsertUnum(TTeamIndex idx, int unum) { - int i; - - switch (idx) - { - case TI_LEFT: - i = 0; - break; - case TI_RIGHT: - i = 1; - break; - default: + int i = GetInternalIndex(idx); + if (i < 0) return false; - } TUnumSet& set = mUnumSet[i]; @@ -244,19 +232,9 @@ bool GameStateAspect::EraseUnum(TTeamIndex idx, int unum) { - int i; - - switch (idx) - { - case TI_LEFT: - i = 0; - break; - case TI_RIGHT: - i = 1; - break; - default: + int i = GetInternalIndex(idx); + if (i < 0) return false; - } TUnumSet& set = mUnumSet[i]; @@ -275,40 +253,57 @@ bool GameStateAspect::InsertRobotType(TTeamIndex idx, int type) { - int i; - - switch (idx) - { - case TI_LEFT: - i = 0; - break; - case TI_RIGHT: - i = 1; - break; - default: + int i = GetInternalIndex(idx); + if (i < 0) return false; - } - if (type) // heterogeneous player + int numRobots = 0; + int numRobotTypes = 0; + int maxSumTwoRobotTypes = 0; + + if (mRobotTypeCount[i].size() <= type) + mRobotTypeCount[i].resize(type+1); + + for (int j = 0; j < mRobotTypeCount[i].size(); j++) { - if (mHeteroCount[i] == mMaxTotalHeteroCount) + if (mRobotTypeCount[i][j] > 0) { - GetLog()->Error() - << "ERROR: (GameStateAspect::InsertRobotType) Hetero player" - " count limit reached.\n"; - return false; + numRobots += mRobotTypeCount[i][j]; + numRobotTypes++; } + int sumTwoRobotTypes = mRobotTypeCount[i][type]+1; + if (j != type) + sumTwoRobotTypes += mRobotTypeCount[i][j]; + + if (sumTwoRobotTypes > maxSumTwoRobotTypes) + maxSumTwoRobotTypes = sumTwoRobotTypes; + } - ++mHeteroCount[i]; + if (mRobotTypeCount[i][type] == mMaxRobotTypeCount) + { + GetLog()->Error() + << "ERROR: (GameStateAspect::InsertRobotType) No more robots " + "of type " << type << " are allowed.\n"; + return false; + } - if (mRobotTypeCount[i].size() <= type) - mRobotTypeCount[i].resize(type+1); - - if (mRobotTypeCount[i][type] == mMaxHeteroTypeCount) + if (maxSumTwoRobotTypes > mMaxSumTwoRobotTypes) + { + GetLog()->Error() + << "ERROR: (GameStateAspect::InsertRobotType) Maximum sum of " + "robots of two robot types limit reached. No more robots of " + "type " << type << " are allowed.\n"; + return false; + } + + if ((11-numRobots) <= (mMinRobotTypesCount-numRobotTypes)) + { + if (mRobotTypeCount[i][type] != 0) { GetLog()->Error() - << "ERROR: (GameStateAspect::InsertRobotType) No more robots " - "of type " << type << " are allowed.\n"; + << "ERROR: (GameStateAspect::InsertRobotType) Minimum number" + " of different robot types not reached. Only robots of a type" + " not yet used can be added.\n"; return false; } } @@ -321,28 +316,15 @@ bool GameStateAspect::EraseRobotType(TTeamIndex idx, int type) { - int i; - - switch (idx) - { - case TI_LEFT: - i = 0; - break; - case TI_RIGHT: - i = 1; - break; - default: + int i = GetInternalIndex(idx); + if (i < 0) return false; - } if (mRobotTypeCount[i].size() <= type || !mRobotTypeCount[i][type]) { return false; } - if (type) // heterogeneous player - --mHeteroCount[i]; - --mRobotTypeCount[i][type]; return true; @@ -447,30 +429,21 @@ void GameStateAspect::ScoreTeam(TTeamIndex idx) { - switch (idx) - { - case TI_LEFT: - ++mScore[0]; - break; - case TI_RIGHT: - ++mScore[1]; - break; - } - return; + int i = GetInternalIndex(idx); + if (i < 0) + return; + + ++mScore[i]; } int GameStateAspect::GetScore(TTeamIndex idx) const { - switch (idx) - { - case TI_LEFT: - return mScore[0]; - case TI_RIGHT: - return mScore[1]; - default: + int i = GetInternalIndex(idx); + if (i < 0) return 0; - } + + return mScore[i]; } Vector3f @@ -546,25 +519,17 @@ if (!coinTossKickOff) mNextHalfKickOff = TI_LEFT; - SoccerBase::GetSoccerVar(*this, "MaxHeteroTypeCount", mMaxHeteroTypeCount); - SoccerBase::GetSoccerVar(*this, "MaxTotalHeteroCount", mMaxTotalHeteroCount); + SoccerBase::GetSoccerVar(*this, "MaxRobotTypeCount", mMaxRobotTypeCount); + SoccerBase::GetSoccerVar(*this, "MinRobotTypesCount", mMinRobotTypesCount); + SoccerBase::GetSoccerVar(*this, "MaxSumTwoRobotTypes", mMaxSumTwoRobotTypes); } int GameStateAspect::RequestUniformNumber(TTeamIndex ti) const { - int idx; - switch (ti) - { - case TI_LEFT: - idx = 0; - break; - case TI_RIGHT: - idx = 1; - break; - default: + int idx = GetInternalIndex(ti); + if (idx < 0) return 0; - } for (int i = 1; i <=11; ++i) if (mUnumSet[idx].find(i) == mUnumSet[idx].end()) @@ -593,3 +558,8 @@ { mGamePaused = paused; } + +void GameStateAspect::SwapTeamIndexes() +{ + swap(mInternalIndex[TI_LEFT], mInternalIndex[TI_RIGHT]); +} Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h 2014-05-29 20:42:29 UTC (rev 375) @@ -119,6 +119,9 @@ /** sets the game running state (paused or not) */ void SetPaused(bool paused); + /** swaps the team index (side) of current teams */ + void SwapTeamIndexes(); + protected: /** setup the init positions for the agents */ virtual void OnLink(); @@ -152,6 +155,13 @@ */ TTeamIndex GetTeamIndex(const std::string& teamName); + /** + * @param[in] idx the team index + * @return the internal index used for indexing variables storing data + * about teams. If idx is TI_NONE, it will return -1 + */ + int GetInternalIndex(TTeamIndex idx) const; + protected: /** the current play mode */ TPlayMode mPlayMode; @@ -177,6 +187,10 @@ /** the team that has to start the next half */ TTeamIndex mNextHalfKickOff; + /** the internal index for a team, since its TTeamIndex might change in + * the second half */ + int mInternalIndex[3]; + /** the names of the two teams */ std::string mTeamName[2]; @@ -186,9 +200,6 @@ /** the array of robot type counts for each team */ std::vector<int> mRobotTypeCount[2]; - /** the number of heterogeneous players for each team */ - int mHeteroCount[2]; - /** the scores of two teams */ int mScore[2]; @@ -207,11 +218,14 @@ /** flag if the game is running or paused (e.g. in goal_left/right state) */ bool mGamePaused; - /** the maximum number of heterogeneous players of a single type per team */ - int mMaxHeteroTypeCount; + /** the maximum number of players of a single type per team */ + int mMaxRobotTypeCount; - /** the maximum number of total heterogeneous players for a team */ - int mMaxTotalHeteroCount; + /** the minimum number of different robot types per team */ + int mMinRobotTypesCount; + + /** the maximum sum of robots for any two robot types */ + int mMaxSumTwoRobotTypes; }; DECLARE_CLASS(GameStateAspect); Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -33,6 +33,7 @@ GameStatePerceptor::GameStatePerceptor() : oxygen::Perceptor() { mFirstPercept = true; + mReportScore = true; } GameStatePerceptor::~GameStatePerceptor() @@ -127,6 +128,18 @@ InsertInitialPercept(predicate); } + if (mReportScore) { + // score left + ParameterList& slElement = predicate.parameter.AddList(); + slElement.AddValue(string("sl")); + slElement.AddValue(mGameState->GetScore(TI_LEFT)); + + // score right + ParameterList& srElement = predicate.parameter.AddList(); + srElement.AddValue(string("sr")); + srElement.AddValue(mGameState->GetScore(TI_RIGHT)); + } + // time ParameterList& timeElement = predicate.parameter.AddList(); timeElement.AddValue(string("t")); @@ -145,6 +158,7 @@ { SoccerBase::GetGameState(*this,mGameState); SoccerBase::GetAgentState(*this,mAgentState); + SoccerBase::GetSoccerVar(*this,"ReportScore",mReportScore); } void Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h 2014-05-29 20:42:29 UTC (rev 375) @@ -73,6 +73,9 @@ is assigned to a team with a successful init command */ bool mFirstPercept; + + /** report game score to agent */ + bool mReportScore; }; DECLARE_CLASS(GameStatePerceptor); Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -30,6 +30,7 @@ HearPerceptor::HearPerceptor() : oxygen::Perceptor() { + mLabelMessages = true; } HearPerceptor::~HearPerceptor() @@ -50,6 +51,7 @@ bool result = false; string message; + string team; float direction; if (mAgentState->GetSelfMessage(message)) @@ -58,28 +60,37 @@ Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(mAgentState->GetPerceptName(ObjectState::PT_Player)); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(self); predicate.parameter.AddValue(message); result = true; } - if (mAgentState->GetMessage(message, direction, true)) + if (mAgentState->GetMessage(message, team, direction, true)) { Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(team); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(direction); predicate.parameter.AddValue(message); result = true; } - if (mAgentState->GetMessage(message, direction, false)) + if (mAgentState->GetMessage(message, team, direction, false)) { Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(team); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(direction); predicate.parameter.AddValue(message); @@ -94,6 +105,7 @@ { SoccerBase::GetAgentState(*this, mAgentState); SoccerBase::GetGameState(*this, mGameState); + SoccerBase::GetSoccerVar(*this, "LabelMessages", mLabelMessages); } void Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h 2014-05-29 20:42:29 UTC (rev 375) @@ -53,6 +53,11 @@ /** reference to the GameStateAspect */ boost::shared_ptr<GameStateAspect> mGameState; + + /** label agent messages with the team of the sender */ + bool mLabelMessages; + + }; DECLARE_CLASS(HearPerceptor); Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.c =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.c 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.c 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.c ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/base.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/compatible.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/compatible.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/compatible.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/compatible.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.c =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.c 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.c 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.c ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/hmdp_c.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.c =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.c 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.c 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.c ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdp_c/sine_fixed.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: forceaction.h,v 1.3 2004/02/12 14:07:24 fruit Exp $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpaction.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: HMDPeffector.h,v 1.5 2007/06/14 17:55:18 jboedeck Exp $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: forceeffector_c.cpp,v 1.3 2004/02/21 15:51:39 fruit Exp $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpeffector_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: gyrorateperceptor.h,v 1.2 2007/05/30 18:40:49 jboedeck Exp $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor_c.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor_c.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor_c.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpperceptor_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpwrapper.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpwrapper.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpwrapper.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/hmdpwrapper.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/hmdp_effector/naospecific.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.h 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line_c.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/line/line_c.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/line/line_c.cpp 2014-05-29 20:42:29 UTC (rev 375) Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/line/line_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: RCS3DMonitor.cpp 246 2011-02-18 18:44:14Z sgvandijk $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: sparkmonitor.h 3 2008-11-21 02:38:08Z hedayat $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: sparkmonitor_c.cpp 3 2008-11-21 02:38:08Z hedayat $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/rcssserver3d/plugin/soccer/rcs3dmonitor/rcs3dmonitor_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-05-29 19:39:15 UTC (rev 374) +++ branches/gui-bullet/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-05-29 20:42:29 UTC (rev 375) @@ -58,6 +58,11 @@ mNotOffside(false), mLastModeWasPlayOn(false), mUseOffside(true), + mUseCharging(true), + mChargingMinSpeed(0.2), + mChargingMinBallDist(0.2), + mChargingMaxOppSpeedAngle(90), + mChargingIllInterceptMinMutualSpeedAngel(70), mDropBallTime(15), mNotStandingMaxTime(1000), // max time player may be sitted or laying down before being repositioned mGoalieNotStandingMaxTime(1000), // max time goalie may be sitted or laying down before being repositioned @@ -133,8 +138,9 @@ void SoccerRuleAspect::ResetFoulCounter(TTeamIndex idx) { - for(int t=1; t<=11; t++) { - ResetFoulCounterPlayer(t,idx); + for (int t = 1; t <= 11; t++) + { + ResetFoulCounterPlayer(t, idx); } } @@ -275,6 +281,204 @@ return; random_shuffle(agent_states.begin(), agent_states.end()); + + // BEGIN FOUL DETECTION + if (mUseCharging) + { + + SoccerBase::TAgentStateList::iterator asIt = agent_states.begin(); + for (; asIt != agent_states.end(); ++asIt) + { + boost::shared_ptr<TouchGroup> touchGroup = (*asIt)->GetTouchGroup(); + + if (touchGroup->size() != 2) + { + continue; + } + + salt::Vector3f agentVel[2]; + salt::Vector3f agentPos[2]; + float s[2]; //agentSpeed + float d[2]; //agentDistToBall + float a[2]; //agentAngleOfSpeedVectorToBall + float agentAngleOfSpeedVectorToOpponent[2]; + float m; //mutualAngleOfSpeed + int agentUNum[2]; + int agentTeamIndex[2]; + + salt::Vector3f ballPos = mBallBody->GetPosition(); + + int i = 0; + for (TouchGroup::iterator agentIt = touchGroup->begin(); + agentIt != touchGroup->end(); ++agentIt) + { + + boost::shared_ptr<Transform> transform_parent; + boost::shared_ptr<RigidBody> agent_body; + + SoccerBase::GetTransformParent(*(*agentIt), transform_parent); + SoccerBase::GetAgentBody(transform_parent, agent_body); + + // Get agent position + agentPos[i] = agent_body->GetPosition(); + + // Compute agent distance to ball + d[i] = sqrt(pow(agentPos[i].x() - ballPos.x(), 2) + + pow(agentPos[i].y() - ballPos.y(), 2)); + + // Get agent velocity + agentVel[i] = agent_body->GetVelocity(); + + // Compute agent speed + s[i] = sqrt(pow(agentVel[i].x(), 2) + pow(agentVel[i].y(), 2)); + + // Compute speed vector angle to ball + a[i] = abs(salt::gRadToDeg(salt::gNormalizeRad( + salt::gArcTan2(agentVel[i].y(), agentVel[i].x()) - + salt::gArcTan2(ballPos.y()-agentPos[i].y(), ballPos.x()-agentPos[i].x()) + ))); + + // Get agent uniform numbe... [truncated message content] |
From: <he...@us...> - 2014-05-29 19:39:22
|
Revision: 374 http://sourceforge.net/p/simspark/svn/374 Author: hedayat Date: 2014-05-29 19:39:15 +0000 (Thu, 29 May 2014) Log Message: ----------- Merge with trunk/spark Modified Paths: -------------- branches/gui-bullet/spark/CMakeLists.txt branches/gui-bullet/spark/ChangeLog branches/gui-bullet/spark/NEWS branches/gui-bullet/spark/RELEASE branches/gui-bullet/spark/cmake/AdditionalSearchPaths.cmake branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject.h branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject_c.cpp branches/gui-bullet/spark/lib/zeitgeist/scriptserver/rubywrapper.h branches/gui-bullet/spark/lib/zeitgeist/scriptserver/scriptserver.cpp branches/gui-bullet/spark/utility/libobj/_vsnprintf.c branches/gui-bullet/spark/utility/libobj/libobj.c Property Changed: ---------------- branches/gui-bullet/spark/ branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.h branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.h branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/genericphysicsobjects.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/angularmotorint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/balljointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/bodyint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/boxcolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/capsulecolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/colliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/compoundcolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/concavecolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conecolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conetwistjointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/contactjointhandlerint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/convexcolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/cylindercolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/dynamicbodyint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/emptycolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/fixedjointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/generic6dofjointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hinge2jointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hingejointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/jointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/physicsobjectint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/physicsserverint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/planecolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/raycolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/rigidbodyint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/sliderjointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/softbodyint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/spaceint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/spherecolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/staticbodyint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/transformcolliderint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/universaljointint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/int/worldint.h branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject.h branches/gui-bullet/spark/lib/oxygen/physicsserver/physicsobject_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/rigidbody.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/rigidbody.h branches/gui-bullet/spark/lib/oxygen/physicsserver/rigidbody_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/softbody.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/softbody.h branches/gui-bullet/spark/lib/oxygen/physicsserver/softbody_c.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/staticbody.cpp branches/gui-bullet/spark/lib/oxygen/physicsserver/staticbody.h branches/gui-bullet/spark/lib/oxygen/physicsserver/staticbody_c.cpp branches/gui-bullet/spark/lib/salt/line2.h branches/gui-bullet/spark/lib/salt/linesegment2.h branches/gui-bullet/spark/plugin/imageperceptor/imagerender.h branches/gui-bullet/spark/plugin/odeimps/export.cpp branches/gui-bullet/spark/plugin/odeimps/odeangularmotor.cpp branches/gui-bullet/spark/plugin/odeimps/odeangularmotor.h branches/gui-bullet/spark/plugin/odeimps/odeangularmotor_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeballjoint.cpp branches/gui-bullet/spark/plugin/odeimps/odeballjoint.h branches/gui-bullet/spark/plugin/odeimps/odeballjoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odebody.cpp branches/gui-bullet/spark/plugin/odeimps/odebody.h branches/gui-bullet/spark/plugin/odeimps/odebody_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeboxcollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeboxcollider.h branches/gui-bullet/spark/plugin/odeimps/odeboxcollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odecapsulecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odecapsulecollider.h branches/gui-bullet/spark/plugin/odeimps/odecapsulecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odecollider.h branches/gui-bullet/spark/plugin/odeimps/odecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odecompoundcollider.cpp branches/gui-bullet/spark/plugin/odeimps/odecompoundcollider.h branches/gui-bullet/spark/plugin/odeimps/odecompoundcollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeconcavecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeconcavecollider.h branches/gui-bullet/spark/plugin/odeimps/odeconcavecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeconecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeconecollider.h branches/gui-bullet/spark/plugin/odeimps/odeconecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeconetwistjoint.cpp branches/gui-bullet/spark/plugin/odeimps/odeconetwistjoint.h branches/gui-bullet/spark/plugin/odeimps/odeconetwistjoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odecontactjointhandler.cpp branches/gui-bullet/spark/plugin/odeimps/odecontactjointhandler.h branches/gui-bullet/spark/plugin/odeimps/odecontactjointhandler_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeconvexcollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeconvexcollider.h branches/gui-bullet/spark/plugin/odeimps/odeconvexcollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odecylindercollider.cpp branches/gui-bullet/spark/plugin/odeimps/odecylindercollider.h branches/gui-bullet/spark/plugin/odeimps/odecylindercollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odedynamicbody.cpp branches/gui-bullet/spark/plugin/odeimps/odedynamicbody.h branches/gui-bullet/spark/plugin/odeimps/odedynamicbody_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeemptycollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeemptycollider.h branches/gui-bullet/spark/plugin/odeimps/odeemptycollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odefixedjoint.cpp branches/gui-bullet/spark/plugin/odeimps/odefixedjoint.h branches/gui-bullet/spark/plugin/odeimps/odefixedjoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odegeneric6dofjoint.cpp branches/gui-bullet/spark/plugin/odeimps/odegeneric6dofjoint.h branches/gui-bullet/spark/plugin/odeimps/odegeneric6dofjoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odehinge2joint.cpp branches/gui-bullet/spark/plugin/odeimps/odehinge2joint.h branches/gui-bullet/spark/plugin/odeimps/odehinge2joint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odehingejoint.cpp branches/gui-bullet/spark/plugin/odeimps/odehingejoint.h branches/gui-bullet/spark/plugin/odeimps/odehingejoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odejoint.cpp branches/gui-bullet/spark/plugin/odeimps/odejoint.h branches/gui-bullet/spark/plugin/odeimps/odejoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odephysicsobject.cpp branches/gui-bullet/spark/plugin/odeimps/odephysicsobject.h branches/gui-bullet/spark/plugin/odeimps/odephysicsobject_c.cpp branches/gui-bullet/spark/plugin/odeimps/odephysicsserver.cpp branches/gui-bullet/spark/plugin/odeimps/odephysicsserver.h branches/gui-bullet/spark/plugin/odeimps/odephysicsserver_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeplanecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odeplanecollider.h branches/gui-bullet/spark/plugin/odeimps/odeplanecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/oderaycollider.cpp branches/gui-bullet/spark/plugin/odeimps/oderaycollider.h branches/gui-bullet/spark/plugin/odeimps/oderaycollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/oderigidbody.cpp branches/gui-bullet/spark/plugin/odeimps/oderigidbody.h branches/gui-bullet/spark/plugin/odeimps/oderigidbody_c.cpp branches/gui-bullet/spark/plugin/odeimps/odesliderjoint.cpp branches/gui-bullet/spark/plugin/odeimps/odesliderjoint.h branches/gui-bullet/spark/plugin/odeimps/odesliderjoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odesoftbody.cpp branches/gui-bullet/spark/plugin/odeimps/odesoftbody.h branches/gui-bullet/spark/plugin/odeimps/odesoftbody_c.cpp branches/gui-bullet/spark/plugin/odeimps/odespace.cpp branches/gui-bullet/spark/plugin/odeimps/odespace.h branches/gui-bullet/spark/plugin/odeimps/odespace_c.cpp branches/gui-bullet/spark/plugin/odeimps/odespherecollider.cpp branches/gui-bullet/spark/plugin/odeimps/odespherecollider.h branches/gui-bullet/spark/plugin/odeimps/odespherecollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odestaticbody.cpp branches/gui-bullet/spark/plugin/odeimps/odestaticbody.h branches/gui-bullet/spark/plugin/odeimps/odestaticbody_c.cpp branches/gui-bullet/spark/plugin/odeimps/odetransformcollider.cpp branches/gui-bullet/spark/plugin/odeimps/odetransformcollider.h branches/gui-bullet/spark/plugin/odeimps/odetransformcollider_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeuniversaljoint.cpp branches/gui-bullet/spark/plugin/odeimps/odeuniversaljoint.h branches/gui-bullet/spark/plugin/odeimps/odeuniversaljoint_c.cpp branches/gui-bullet/spark/plugin/odeimps/odeworld.cpp branches/gui-bullet/spark/plugin/odeimps/odeworld.h branches/gui-bullet/spark/plugin/odeimps/odeworld_c.cpp branches/gui-bullet/spark/plugin/odeimps/odewrapper.h branches/gui-bullet/spark/utility/libb64/cdecode.c branches/gui-bullet/spark/utility/libb64/cdecode.h branches/gui-bullet/spark/utility/libb64/cencode.c branches/gui-bullet/spark/utility/libb64/cencode.h branches/gui-bullet/spark/utility/libb64/decode.h branches/gui-bullet/spark/utility/libb64/encode.h branches/gui-bullet/spark/utility/libobj/_vsnprintf.c branches/gui-bullet/spark/utility/libobj/libobj.c branches/gui-bullet/spark/utility/libobj/memcmp.c branches/gui-bullet/spark/utility/sfsexp/cstring.c branches/gui-bullet/spark/utility/sfsexp/faststack.c branches/gui-bullet/spark/utility/sfsexp/io.c branches/gui-bullet/spark/utility/sfsexp/malloc_util.c branches/gui-bullet/spark/utility/sfsexp/parser.c branches/gui-bullet/spark/utility/sfsexp/sexp.c branches/gui-bullet/spark/utility/sfsexp/sexp_ops.c branches/gui-bullet/spark/windows/include/GL/glext.h branches/gui-bullet/spark/windows/include/GL/glxext.h branches/gui-bullet/spark/windows/include/GL/wglext.h Index: branches/gui-bullet/spark =================================================================== --- branches/gui-bullet/spark 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1 ## -/trunk/spark:327-352 +/trunk/spark:327-352,358-370 \ No newline at end of property Modified: branches/gui-bullet/spark/CMakeLists.txt =================================================================== --- branches/gui-bullet/spark/CMakeLists.txt 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/CMakeLists.txt 2014-05-29 19:39:15 UTC (rev 374) @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 2.6) project(simspark CXX C) -set(PACKAGE_VERSION "0.2.3") +set(PACKAGE_VERSION "0.2.4") ########## check for headerfiles/libraries ########## @@ -39,7 +39,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) if (WIN32) - set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) @@ -162,13 +162,13 @@ set(SALT_SO_VERSION 1) set(SALT_VERSION ${SALT_SO_VERSION}.0.0) set(ZEITGEIST_SO_VERSION 3) -set(ZEITGEIST_VERSION ${ZEITGEIST_SO_VERSION}.1.3) +set(ZEITGEIST_VERSION ${ZEITGEIST_SO_VERSION}.1.4) set(OXYGEN_SO_VERSION 6) -set(OXYGEN_VERSION ${OXYGEN_SO_VERSION}.0.0) +set(OXYGEN_VERSION ${OXYGEN_SO_VERSION}.0.1) set(KEROSIN_SO_VERSION 2) -set(KEROSIN_VERSION ${KEROSIN_SO_VERSION}.1.0) +set(KEROSIN_VERSION ${KEROSIN_SO_VERSION}.1.1) set(SPARK_SO_VERSION 1) -set(SPARK_VERSION ${SPARK_SO_VERSION}.0.0) +set(SPARK_VERSION ${SPARK_SO_VERSION}.0.1) set(CARBON_SO_VERSION 1) set(CARBON_VERSION ${CARBON_SO_VERSION}.0.0) set(RCSSNET_SO_VERSION 0) @@ -225,35 +225,42 @@ if (WIN32) # try to find and install third-party .dlls to lib/thirdparty directory set(THLIBDIR ${LIBDIR}/thirdparty) - # MinGW dll installation on a single root system + # MinGW dll installation on a single root system if (${CMAKE_CXX_COMPILER} MATCHES "mingw") - set(MINGW_BIN_DIR "${Boost_LIBRARY_DIRS}/../bin/") - install(DIRECTORY ${MINGW_BIN_DIR} DESTINATION ${THLIBDIR} - FILES_MATCHING - PATTERN "libstdc++*.dll" - PATTERN "libgcc_s_sjlj*.dll" - PATTERN "libode*.dll" - PATTERN "tbb*.dll" - PATTERN "*boost*regex*mt*.dll" - PATTERN "*boost*date_time*mt*.dll" - PATTERN "*boost*thread*mt*.dll" - PATTERN "libIL*.dll" - PATTERN "libjpeg*.dll" - PATTERN "libpng*.dll" - PATTERN "*freetype*.dll" - PATTERN "*SDL*.dll") + foreach(ROOT_DIR ${CMAKE_FIND_ROOT_PATH}) + file(GLOB inst_lib_files "${ROOT_DIR}/*/libstdc++*.dll" + "${ROOT_DIR}/*/libstdc++*.dll" + "${ROOT_DIR}/*/libgcc_s_sjlj*.dll" + "${ROOT_DIR}/*/libode*.dll" + "${ROOT_DIR}/*/tbb*.dll" + "${ROOT_DIR}/*/*boost*system*mt*.dll" + "${ROOT_DIR}/*/*boost*chrono*mt*.dll" + "${ROOT_DIR}/*/*boost*regex*mt*.dll" + "${ROOT_DIR}/*/*boost*date_time*mt*.dll" + "${ROOT_DIR}/*/*boost*thread*mt*.dll" + "${ROOT_DIR}/*/libIL*.dll" + "${ROOT_DIR}/*/libjpeg*.dll" + "${ROOT_DIR}/*/libpng*.dll" + "${ROOT_DIR}/*/libbz2*.dll" + "${ROOT_DIR}/*/*freetype*.dll" + "${ROOT_DIR}/*/*ruby*.dll" + "${ROOT_DIR}/*/*SDL*.dll") + install(PROGRAMS ${inst_lib_files} DESTINATION ${THLIBDIR}) + endforeach(ROOT_DIR) endif (${CMAKE_CXX_COMPILER} MATCHES "mingw") string(REGEX REPLACE "(.*)\\.lib" "\\1.dll" ODEDLL "${ODE_LIBRARY}") if (EXISTS ${ODEDLL} AND ${ODEDLL} MATCHES ".dll$") install(PROGRAMS ${ODEDLL} DESTINATION ${THLIBDIR}) endif (EXISTS ${ODEDLL} AND ${ODEDLL} MATCHES ".dll$") + + file(GLOB INST_BOOST "${Boost_LIBRARY_DIRS}/*boost*system*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*chrono*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*regex*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*date_time*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*thread*mt*.dll") + install(PROGRAMS ${INST_BOOST} DESTINATION ${THLIBDIR}) - install(DIRECTORY "${Boost_LIBRARY_DIRS}/" DESTINATION ${THLIBDIR} - FILES_MATCHING PATTERN "*boost*regex*mt*.dll" - PATTERN "*boost*date_time*mt*.dll" - PATTERN "*boost*thread*mt*.dll") - string(REGEX REPLACE "(.*)\\.lib" "\\1.dll" DevIL_DLL "${IL_LIBRARIES}") if (EXISTS ${DevIL_DLL} AND ${DevIL_DLL} MATCHES ".dll$") install(PROGRAMS ${DevIL_DLL} DESTINATION ${THLIBDIR}) @@ -262,10 +269,11 @@ string(REGEX REPLACE "(.*)/ruby(.exe)?" "\\1/" RUBY_BINDIR "${RUBY_EXECUTABLE}") install(DIRECTORY "${RUBY_BINDIR}" DESTINATION ${THLIBDIR} FILES_MATCHING PATTERN "*.dll") - - install(DIRECTORY "${FREETYPE_INCLUDE_DIR_ft2build}/../bin/" - DESTINATION ${THLIBDIR} FILES_MATCHING - PATTERN "*freetype*.dll" PATTERN "*zlib*.dll") + + set(FREETYPE_BIN_DIR "${FREETYPE_INCLUDE_DIR_ft2build}/../bin") + file(GLOB INST_FREETYPE "${FREETYPE_BIN_DIR}/*freetype*.dll" + "${FREETYPE_BIN_DIR}/*zlib*.dll") + install(PROGRAMS ${INST_FREETYPE} DESTINATION ${THLIBDIR}) set(SDL_DLL "${SDL_INCLUDE_DIR}/../lib/sdl.dll") if (EXISTS ${SDL_DLL}) Modified: branches/gui-bullet/spark/ChangeLog =================================================================== --- branches/gui-bullet/spark/ChangeLog 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/ChangeLog 2014-05-29 19:39:15 UTC (rev 374) @@ -1,3 +1,15 @@ +2013-06-20 Hedayat Vatankhah <hed...@gm...> + + * lib/zeitgeist/scriptserver/rubywrapper.h: + - disalbed unsupported pragmas for MinGW + + * lib/zeitgeist/scriptserver/scriptserver.cpp: + - fixed a bug in changing current directory in Windows + + * CMakeLists.txt: + * cmake/AdditionalSearchPaths.cmake: + - fixed some problems in building Windows installer (with MinGW) + 2013-06-13 Hedayat Vatankhah <hed...@gm...> * README: @@ -18,6 +30,13 @@ - removed type specifier for std::isnan, since not all overloads are templates +2013-06-12 Hedayat Vatankhah <hed...@gm...> + + * NEWS: + * RELEASE: + * CMakeLists.txt: + - final changes for 0.2.4 release + 2012-11-24 Hedayat Vatankhah <hed...@gm...> * plugin/sceneeffector/sceneaction.h: Modified: branches/gui-bullet/spark/NEWS =================================================================== --- branches/gui-bullet/spark/NEWS 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/NEWS 2014-05-29 19:39:15 UTC (rev 374) @@ -1,3 +1,13 @@ +[0.2.4] +Simspark 0.2.4 is ready. This release is mostly a bug fix and compile fix +release for RoboCup 2013. New exciting changes are pending, but will be +released in Simspark 0.3.0 very soon. The most considerable change in this +release is the possibility of sending parameters to the SceneEffector, which +is required for Heterogeneous robots functionality. + +Additionally, a paper about recent changes to Simspark/Rcssserver3d which is +mostly written by Yuan Xu is available in SimSpark SVN repository. + [0.2.3] Finally, a new release of simspark has come! The most exciting feature of this release is probably the multi-threaded agent control (thanks to Andreas from Modified: branches/gui-bullet/spark/RELEASE =================================================================== --- branches/gui-bullet/spark/RELEASE 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/RELEASE 2014-05-29 19:39:15 UTC (rev 374) @@ -1,30 +1,13 @@ -RELEASE News of simspark-0.2.3 +RELEASE News of simspark-0.2.4 -Finally, a new release of simspark has come! The most exciting feature of this -release is probably the multi-threaded agent control (thanks to Andreas from -RoboCanes for the initial patch). Previously, this part of the code was -sequential even in multi-threaded mode, but now it can manage several agnets in -parallel which should (hopefully!) increase performance. Besides, there are -a number of compilation and bug fixes here and there and also better Windows -support. Small enhancements are also available. You can find more details below: +Simspark 0.2.4 is ready. This release is mostly a bug fix and compile fix +release for RoboCup 2013. New exciting changes are pending, but will be +released in Simspark 0.3.0 very soon. The most considerable change in this +release is the possibility of sending parameters to the SceneEffector, which +is required for Heterogeneous robots functionality. -- Multi-threaded Agent Control - -- AgentControl multi-threaded implementation added and enabled by default. - It can be disabled using $threadedAgentControl variable inside spark.rb. -- OpenGL System can now request the end of simulation (makes it possible to - close spark monitor's window to quit! -- The location of init scripts (e.g. zeitgeist.rb) can now be specified using - --init-script-prefix (you still can put most of the scripts and data files - like rsg/ directory inside your ~/.simspark/ instead). -- Compilation fixes -- Support more recent Ruby versions -- Windows Compilation fixes, and few enhancements for better Windows support -- Support for building Windows binary in GNU/Linux using Mingw32 - -- Notice: Windows related changes were already used in 0.2.2 simspark - installer -- Several bug fixes +Additionally, a paper about recent changes to Simspark/Rcssserver3d which is +mostly written by Yuan Xu is available in SimSpark SVN repository. -Thanks to Yuan Xu and Sander van Dijk for their contributions in this release. - You can get the package on the Simspark page on SourceForge at http://sourceforge.net/projects/simspark/ Modified: branches/gui-bullet/spark/cmake/AdditionalSearchPaths.cmake =================================================================== --- branches/gui-bullet/spark/cmake/AdditionalSearchPaths.cmake 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/cmake/AdditionalSearchPaths.cmake 2014-05-29 19:39:15 UTC (rev 374) @@ -1,3 +1,7 @@ +# useful for cross-compilation from multiple root directories +set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} + "$ENV{CMAKE_ALTERNATIVE_ROOT}") + if (WIN32) set(ENV{SDLDIR} $ENV{SDLDIR} C:/library/SDL/ "C:/Program Files/SDL/" Modified: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp =================================================================== --- branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp 2014-05-29 19:39:15 UTC (rev 374) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: capsule.cpp 3 2008-11-21 02:38:08Z hedayat $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h =================================================================== --- branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h 2014-05-29 19:39:15 UTC (rev 374) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: capsule.h 57 2009-03-18 07:26:56Z hedayat $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp 2014-05-29 19:39:15 UTC (rev 374) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: capsule_c.cpp 3 2008-11-21 02:38:08Z hedayat $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/kerosin/sceneserver/capsule_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp 2014-05-29 19:39:15 UTC (rev 374) @@ -3,7 +3,7 @@ this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2003 Koblenz University - $Id: capsulecollider.cpp 108 2009-11-25 10:20:10Z a-held $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h 2014-05-29 19:39:15 UTC (rev 374) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: capsulecollider.h 108 2009-11-25 10:20:10Z a-held $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) @@ -3,7 +3,7 @@ this file is part of rcssserver3D Fri May 9 2003 Copyright (C) 2003 Koblenz University - $Id: capsulecollider_c.cpp 108 2009-11-25 10:20:10Z a-held $ + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/capsulecollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/compoundcollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/concavecollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Modified: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp 2014-05-29 19:39:15 UTC (rev 374) @@ -4,7 +4,7 @@ Fri May 9 2003 Copyright (C) 2002,2003 Koblenz University Copyright (C) 2003 RoboCup Soccer Server 3D Maintenance Group - $Id: conecollider.cpp + $Id$ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -43,18 +43,18 @@ if (mConeColliderImp.get() == 0) mConeColliderImp = dynamic_pointer_cast<ConeColliderInt> (GetCore()->New("ConeColliderImp")); - + if (mConeColliderImp.get() == 0) { //we can't use the logserver here std::cerr << "(ConeCollider) ERROR: No implementation found at '/classes/ConeColliderImp'"; return false; } - + if (!Collider::ConstructInternal()) return false; - + //we can't use the logserver here std::cerr << "(ConeCollider) ERROR: ConeCollider is not implemented yet. Did nothing"; - + return true; } Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conecollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/conetwistjoint_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/convexcollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/cylindercollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/dynamicbody_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/emptycollider_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint_c.cpp =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint_c.cpp 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint_c.cpp 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/generic6dofjoint_c.cpp ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/genericphysicsobjects.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/genericphysicsobjects.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/genericphysicsobjects.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/genericphysicsobjects.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/angularmotorint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/angularmotorint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/angularmotorint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/angularmotorint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/balljointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/balljointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/balljointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/balljointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/bodyint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/bodyint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/bodyint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/bodyint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/boxcolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/boxcolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/boxcolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/boxcolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/capsulecolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/capsulecolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/capsulecolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/capsulecolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/colliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/colliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/colliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/colliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/compoundcolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/compoundcolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/compoundcolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/compoundcolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/concavecolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/concavecolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/concavecolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/concavecolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conecolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conecolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conecolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conecolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conetwistjointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conetwistjointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conetwistjointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/conetwistjointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/contactjointhandlerint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/contactjointhandlerint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/contactjointhandlerint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/contactjointhandlerint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/convexcolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/convexcolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/convexcolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/convexcolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/cylindercolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/cylindercolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/cylindercolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/cylindercolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/dynamicbodyint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/dynamicbodyint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/dynamicbodyint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/dynamicbodyint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/emptycolliderint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/emptycolliderint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/emptycolliderint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/emptycolliderint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/fixedjointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/fixedjointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/fixedjointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/fixedjointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/generic6dofjointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/generic6dofjointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/generic6dofjointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/generic6dofjointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hinge2jointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hinge2jointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hinge2jointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hinge2jointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hingejointint.h =================================================================== --- branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hingejointint.h 2014-05-13 15:21:12 UTC (rev 373) +++ branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hingejointint.h 2014-05-29 19:39:15 UTC (rev 374) Property changes on: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/hingejointint.h ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: branches/gui-bullet/spark/lib/oxygen/physicsserver/int/joint... [truncated message content] |
From: <he...@us...> - 2014-05-13 15:21:16
|
Revision: 373 http://sourceforge.net/p/simspark/svn/373 Author: hedayat Date: 2014-05-13 15:21:12 +0000 (Tue, 13 May 2014) Log Message: ----------- Fix compatibility with recent Boost versions Modified Paths: -------------- branches/gui-bullet/rcssserver3d/guiplugin/soccercontrolframe/soccercontrolframe.cpp branches/gui-bullet/spark/carbon/libraryloader.cpp branches/gui-bullet/spark/carbon/simspark.cpp branches/gui-bullet/spark/carbon/simulation.cpp branches/gui-bullet/spark/carbon/simulationmanager.cpp branches/gui-bullet/spark/carbon/sparkcommands.cpp branches/gui-bullet/spark/carbon/sparkcontroller.cpp branches/gui-bullet/spark/carbon/sparkpropertycontrolbasic.cpp branches/gui-bullet/spark/carbon/sparkpropertymanager.cpp branches/gui-bullet/spark/carbon/sparkpropertywidget.cpp branches/gui-bullet/spark/carbon/sparksimulationthread.cpp branches/gui-bullet/spark/guiplugin/monitorframe/monitorframe_sparkglrender.cpp branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe.cpp branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe_scenegraphwidget.cpp branches/gui-bullet/spark/guiplugin/setupframe/setupframe.cpp branches/gui-bullet/spark/guiplugin/simulationframe/simulationframe.cpp Modified: branches/gui-bullet/rcssserver3d/guiplugin/soccercontrolframe/soccercontrolframe.cpp =================================================================== --- branches/gui-bullet/rcssserver3d/guiplugin/soccercontrolframe/soccercontrolframe.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/rcssserver3d/guiplugin/soccercontrolframe/soccercontrolframe.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -270,10 +270,10 @@ } SimSpark* spark = &*mSparkController->getSpark(); - boost::shared_ptr<GameControlServer> gameControl(shared_dynamic_cast<GameControlServer>(spark->GetCore()->Get(gameControlServer.toStdString()))); - boost::shared_ptr<GameStateAspect> gameState (shared_dynamic_cast<GameStateAspect> (spark->GetCore()->Get(gameStateAspect.toStdString()))); - boost::shared_ptr<SoccerRuleAspect> soccerRule (shared_dynamic_cast<SoccerRuleAspect> (spark->GetCore()->Get(soccerRuleAspect.toStdString()))); - boost::shared_ptr<BallStateAspect> ballState (shared_dynamic_cast<BallStateAspect> (spark->GetCore()->Get(ballStateAspect.toStdString()))); + boost::shared_ptr<GameControlServer> gameControl(dynamic_pointer_cast<GameControlServer>(spark->GetCore()->Get(gameControlServer.toStdString()))); + boost::shared_ptr<GameStateAspect> gameState (dynamic_pointer_cast<GameStateAspect> (spark->GetCore()->Get(gameStateAspect.toStdString()))); + boost::shared_ptr<SoccerRuleAspect> soccerRule (dynamic_pointer_cast<SoccerRuleAspect> (spark->GetCore()->Get(soccerRuleAspect.toStdString()))); + boost::shared_ptr<BallStateAspect> ballState (dynamic_pointer_cast<BallStateAspect> (spark->GetCore()->Get(ballStateAspect.toStdString()))); bool success = true; if (!gameControl.get()) Modified: branches/gui-bullet/spark/carbon/libraryloader.cpp =================================================================== --- branches/gui-bullet/spark/carbon/libraryloader.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/libraryloader.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -451,7 +451,7 @@ else { LOG_INFO() << "Failed to access export plugin function in library " << lib.mLibrary->fileName() << ": " << lib.mLibrary->errorString().toStdString().c_str(); - return false; + return 0; } //Set exported flag Modified: branches/gui-bullet/spark/carbon/simspark.cpp =================================================================== --- branches/gui-bullet/spark/carbon/simspark.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/simspark.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -281,7 +281,7 @@ std::string pathStr; path.GetString(pathStr); boost::shared_ptr<zeitgeist::Leaf> leaf(GetCore()->Get(pathStr)); - boost::shared_ptr<oxygen::Scene> scene = boost::shared_ptr<oxygen::Scene>(boost::shared_static_cast<oxygen::Scene>(leaf)); + boost::shared_ptr<oxygen::Scene> scene = boost::shared_ptr<oxygen::Scene>(boost::static_pointer_cast<oxygen::Scene>(leaf)); boost::shared_ptr<oxygen::World> world; boost::shared_ptr<oxygen::Space> space; @@ -289,7 +289,7 @@ { if (it->get()->GetName().compare("world") == 0) { - world = boost::shared_static_cast<oxygen::World>(*it); + world = boost::static_pointer_cast<oxygen::World>(*it); scene->RemoveChildReference(*it); break; } @@ -298,13 +298,13 @@ { if (it->get()->GetName().compare("space") == 0) { - space = boost::shared_static_cast<oxygen::Space>(*it); + space = boost::static_pointer_cast<oxygen::Space>(*it); scene->RemoveChildReference(*it); break; } } - //boost::shared_ptr<oxygen::GameControlServer> gc = boost::shared_static_cast<oxygen::GameControlServer>(GetCore()->Get("/sys/server/gamecontrol/")); + //boost::shared_ptr<oxygen::GameControlServer> gc = boost::static_pointer_cast<oxygen::GameControlServer>(GetCore()->Get("/sys/server/gamecontrol/")); //boost::shared_ptr<zeitgeist::Leaf> gc_state = gc->GetChild("GameStateAspect"); //boost::shared_ptr<zeitgeist::Leaf> gc_ball = gc->GetChild("BallStateAspect"); //boost::shared_ptr<zeitgeist::Leaf> gc_rule = gc->GetChild("SoccerRuleAspect"); @@ -316,7 +316,7 @@ //gc_rule.reset(); //gc.reset(); - boost::shared_ptr<zeitgeist::Node> root = boost::shared_static_cast<zeitgeist::Node>(GetCore()->GetRoot()); + boost::shared_ptr<zeitgeist::Node> root = boost::static_pointer_cast<zeitgeist::Node>(GetCore()->GetRoot()); boost::shared_ptr<zeitgeist::Leaf> root_leaf(GetCore()->GetRoot()); scene->UnlinkChildren(); Modified: branches/gui-bullet/spark/carbon/simulation.cpp =================================================================== --- branches/gui-bullet/spark/carbon/simulation.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/simulation.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -279,7 +279,7 @@ { //Do not stop the main spark server if not explicitly ordered to, reset it instead skipServer = true; - shared_dynamic_cast<SparkSimulationThread>(*it)->reset(); + dynamic_pointer_cast<SparkSimulationThread>(*it)->reset(); } else*/ { @@ -706,7 +706,7 @@ } - task = shared_ptr<SimulationTask>(shared_dynamic_cast<SimulationTask>(server)); + task = shared_ptr<SimulationTask>(dynamic_pointer_cast<SimulationTask>(server)); } else { @@ -742,7 +742,7 @@ if (taskDefinition->getType() == TaskDefinition::TT_SERVERTHREAD) { - emit serverCreated(shared_static_cast<ServerThread>(task)); + emit serverCreated(static_pointer_cast<ServerThread>(task)); } //If a existing spark server reinitialized, leave it paused. Otherwise initialize the task. Modified: branches/gui-bullet/spark/carbon/simulationmanager.cpp =================================================================== --- branches/gui-bullet/spark/carbon/simulationmanager.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/simulationmanager.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -658,7 +658,7 @@ QString abs = entries.at(i).absoluteFilePath(); LOG_DEBUG() << "Loading contained Setup Definition file " << abs; - bool success = loadSimulationSetup(abs, false); + bool success = static_cast<bool>(loadSimulationSetup(abs, false)); if (!success) LOG_WARNING() << "Loading contained Setup Definition " << abs << " failed."; } Modified: branches/gui-bullet/spark/carbon/sparkcommands.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparkcommands.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparkcommands.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -121,7 +121,7 @@ } boost::shared_ptr<oxygen::SceneImporter> sceneImporter = - boost::shared_static_cast<oxygen::SceneImporter>(getController()->getSpark()->GetCore()->Get("sys/server/scene/RubySceneImporter")); + boost::static_pointer_cast<oxygen::SceneImporter>(getController()->getSpark()->GetCore()->Get("sys/server/scene/RubySceneImporter")); sceneImporter->SetSceneDict(&oxygen::SceneDict::GetInstance()); if (sceneImporter.get() == 0) { Modified: branches/gui-bullet/spark/carbon/sparkcontroller.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparkcontroller.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparkcontroller.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -301,7 +301,7 @@ //Initialize SimControl node and store weak ptr boost::shared_ptr<zeitgeist::Leaf> leaf( mSpark->GetCore()->CreateContext()->New("gui/GuiSimControl", "sys/server/simulation/GuiControl")); - mSimControl = boost::weak_ptr<GuiSimControl>(boost::shared_dynamic_cast<GuiSimControl>(leaf)); + mSimControl = boost::weak_ptr<GuiSimControl>(boost::dynamic_pointer_cast<GuiSimControl>(leaf)); //Init Command queue initCommandQueue(); Modified: branches/gui-bullet/spark/carbon/sparkpropertycontrolbasic.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparkpropertycontrolbasic.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparkpropertycontrolbasic.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -57,7 +57,7 @@ list.push_back(boost::shared_ptr<Property>(new Property(leaf, descriptor, NAME, QObject::tr(CAPTION), DATA, true, VALIDATOR, ##__VA_ARGS__))) #define SET_VALUE(DATAPTR) setPropertyValueProtected(prop, DATAPTR) -#define GET_VALUE(TYPE) boost::shared_static_cast<const TYPE>(prop.getTempValue())->mValue +#define GET_VALUE(TYPE) boost::static_pointer_cast<const TYPE>(prop.getTempValue())->mValue #define FORMAT_FLAG(VALUE, FLAG)\ QString((VALUE & FLAG) ? QString(#FLAG" ") : QString("")) @@ -351,7 +351,7 @@ bool BasicControl::updateClass(TLeafPtr leaf, Property& prop) const { - const Class& cl = *shared_static_cast<Class>(leaf); + const Class& cl = *static_pointer_cast<Class>(leaf); if (prop.getName().compare("GetBundle") == 0) { @@ -401,14 +401,14 @@ bool BasicControl::genBaseNode(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - boost::shared_ptr<BaseNode> baseNode = boost::shared_static_cast<BaseNode>(leaf); + boost::shared_ptr<BaseNode> baseNode = boost::static_pointer_cast<BaseNode>(leaf); ADD_READ_PROPERTY("GetWorldBoundingBox", "WorldBoundingBox", new DAABB3()); return true; } bool BasicControl::updateBaseNode(TLeafPtr leaf, Property& prop) const { - boost::shared_ptr<BaseNode> baseNode = boost::shared_static_cast<BaseNode>(leaf); + boost::shared_ptr<BaseNode> baseNode = boost::static_pointer_cast<BaseNode>(leaf); if (prop.getName().compare("GetWorldBoundingBox") == 0) {SET_VALUE(new DAABB3(baseNode->GetWorldBoundingBox()));} else return false; //Getter not supported return true; @@ -425,7 +425,7 @@ bool BasicControl::genTransform(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const Transform& trans = *shared_static_cast<Transform>(leaf); + const Transform& trans = *static_pointer_cast<Transform>(leaf); ADD_READ_PROPERTY("GetChangedMark" , "ChangedMark", new DInt()); ADD_READWRITE_PROPERTY("GetLocalTransform", "LocalTransform", new DMat4x4(), Data::doubleMatrixValidator(), QObject::tr("Local transformation matrix")); ADD_READWRITE_PROPERTY("GetWorldTransform", "WorldTransform", new DMat4x4(), Data::doubleMatrixValidator(), QObject::tr("World transformation matrix")); @@ -434,7 +434,7 @@ bool BasicControl::updateTransform(TLeafPtr leaf, Property& prop) const { - const Transform& trans = *shared_static_cast<Transform>(leaf); + const Transform& trans = *static_pointer_cast<Transform>(leaf); if (prop.getName().compare("GetChangedMark") == 0) {SET_VALUE(new DInt(trans.GetChangedMark()));} else if (prop.getName().compare("GetLocalTransform") == 0) {SET_VALUE(new DMat4x4(trans.GetLocalTransform()));} else if (prop.getName().compare("GetWorldTransform") == 0) {SET_VALUE(new DMat4x4(trans.GetWorldTransform()));} @@ -444,7 +444,7 @@ bool BasicControl::applyChangeTransform(TLeafPtr leaf, Property& prop) const { - Transform& trans = *shared_static_cast<Transform>(leaf); + Transform& trans = *static_pointer_cast<Transform>(leaf); //Supported setters if (prop.getName().compare("GetLocalTransform") == 0) {trans.SetLocalTransform(GET_VALUE(DMat4x4));} else if (prop.getName().compare("GetWorldTransform") == 0) {trans.SetWorldTransform(GET_VALUE(DMat4x4));} @@ -457,7 +457,7 @@ bool BasicControl::genRigidBody(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const RigidBody& body = *shared_static_cast<RigidBody>(leaf); + const RigidBody& body = *static_pointer_cast<RigidBody>(leaf); ADD_READWRITE_PROPERTY("GetMass", "Mass", new DFloat (), Data::doubleValidator(0)); ADD_READWRITE_PROPERTY("GetVelocity", "Velocity", new DVector3f(), Data::vector3fValidator()); ADD_READWRITE_PROPERTY("GetAngularVelocity", "AngularVelocity", new DVector3f(), Data::vector3fValidator()); @@ -467,7 +467,7 @@ bool BasicControl::updateRigidBody(TLeafPtr leaf, Property& prop) const { - const RigidBody& body = *shared_static_cast<RigidBody>(leaf); + const RigidBody& body = *static_pointer_cast<RigidBody>(leaf); if (prop.getName().compare("GetMass") == 0) {SET_VALUE(new DFloat (body.GetMass()) );} else if (prop.getName().compare("GetVelocity") == 0) {SET_VALUE(new DVector3f(body.GetVelocity()) );} else if (prop.getName().compare("GetAngularVelocity") == 0) {SET_VALUE(new DVector3f(body.GetAngularVelocity()));} @@ -478,7 +478,7 @@ bool BasicControl::applyChangeRigidBody(TLeafPtr leaf, Property& prop) const { - RigidBody& body = *shared_static_cast<RigidBody>(leaf); + RigidBody& body = *static_pointer_cast<RigidBody>(leaf); if (prop.getName().compare("GetMass") == 0) {body.SetMass (GET_VALUE(DFloat));} else if (prop.getName().compare("GetVelocity") == 0) {body.SetVelocity (GET_VALUE(DVector3f));} else if (prop.getName().compare("GetAngularVelocity") == 0) {body.SetAngularVelocity(GET_VALUE(DVector3f));} @@ -527,7 +527,7 @@ bool BasicControl::updateJoint(TLeafPtr leaf, Property& prop) const { - const Joint& joint = *shared_static_cast<Joint>(leaf); + const Joint& joint = *static_pointer_cast<Joint>(leaf); if (prop.getName().compare("FeedBackEnabled") == 0) {SET_VALUE(new DFloat(joint.FeedBackEnabled()));} else { @@ -570,7 +570,7 @@ bool BasicControl::genHingeJoint(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const HingeJoint& hinge = *shared_static_cast<HingeJoint>(leaf); + const HingeJoint& hinge = *static_pointer_cast<HingeJoint>(leaf); ADD_READ_PROPERTY("GetAngle", "Angle", new DFloat()); //todo ADD_READ_PROPERTY("GetAngleRate", "AngleRate", new DFloat()); //todo return true; @@ -578,7 +578,7 @@ bool BasicControl::updateHingeJoint(TLeafPtr leaf, Property& prop) const { - const HingeJoint& hinge = *shared_static_cast<HingeJoint>(leaf); + const HingeJoint& hinge = *static_pointer_cast<HingeJoint>(leaf); if (prop.getName().compare("GetAngle") == 0) {SET_VALUE(new DFloat(hinge.GetAngle()));} else if (prop.getName().compare("GetAngleRate") == 0) {SET_VALUE(new DFloat(hinge.GetAngleRate()));} else return false; //Getter not supported @@ -596,7 +596,7 @@ bool BasicControl::genUniversalJoint(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const UniversalJoint& univ = *shared_static_cast<UniversalJoint>(leaf); + const UniversalJoint& univ = *static_pointer_cast<UniversalJoint>(leaf); ADD_READ_PROPERTY("GetAngle(0)", "Angle(0)", new DFloat()); //todo ADD_READ_PROPERTY("GetAngle(1)", "Angle(1)", new DFloat()); //todo ADD_READ_PROPERTY("GetAngleRate(0)", "AngleRate(0)", new DFloat()); //todo @@ -606,7 +606,7 @@ bool BasicControl::updateUniversalJoint(TLeafPtr leaf, Property& prop) const { - const UniversalJoint& univ = *shared_static_cast<UniversalJoint>(leaf); + const UniversalJoint& univ = *static_pointer_cast<UniversalJoint>(leaf); if (prop.getName().compare("GetAngle(0)") == 0) {SET_VALUE(new DFloat(univ.GetAngle(Joint::AI_FIRST)));} else if (prop.getName().compare("GetAngle(1)") == 0) {SET_VALUE(new DFloat(univ.GetAngle(Joint::AI_SECOND)));} else if (prop.getName().compare("GetAngleRate(0)") == 0) {SET_VALUE(new DFloat(univ.GetAngleRate(Joint::AI_FIRST)));} @@ -626,7 +626,7 @@ bool BasicControl::genContactJointHandler(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const ContactJointHandler& cjh = *shared_static_cast<ContactJointHandler>(leaf); + const ContactJointHandler& cjh = *static_pointer_cast<ContactJointHandler>(leaf); ADD_READ_PROPERTY ("GetContactMode", "ContactMode", new DString()); ADD_READWRITE_PROPERTY("GetBounceValue", "BounceValue", new DFloat(), Data::doubleValidator()); ADD_READWRITE_PROPERTY("GetMinBounceVel", "MinBounceVel", new DFloat(), Data::doubleValidator()); @@ -640,7 +640,7 @@ bool BasicControl::updateContactJointHandler(TLeafPtr leaf, Property& prop) const { - const ContactJointHandler& cjh = *shared_static_cast<ContactJointHandler>(leaf); + const ContactJointHandler& cjh = *static_pointer_cast<ContactJointHandler>(leaf); if (prop.getName().compare("GetContactMode" ) == 0) { @@ -675,7 +675,7 @@ bool BasicControl::applyChangeContactJointHandler(TLeafPtr leaf, Property& prop) const { - ContactJointHandler& cjh = *shared_static_cast<ContactJointHandler>(leaf); + ContactJointHandler& cjh = *static_pointer_cast<ContactJointHandler>(leaf); //Supported setters if (prop.getName().compare("GetBounceValue") == 0) {cjh.SetBounceValue (GET_VALUE(DFloat));} @@ -692,7 +692,7 @@ bool BasicControl::genWorld(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const World& world = *shared_static_cast<World>(leaf); + const World& world = *static_pointer_cast<World>(leaf); ADD_READWRITE_PROPERTY("GetGravity", "Gravity", new DVector3f(), Data::vector3fValidator(), "Gravity Vector"); ADD_READWRITE_PROPERTY("GetERP", "ERP", new DFloat(), Data::doubleValidator(0.0, 1.0), @@ -708,7 +708,7 @@ bool BasicControl::updateWorld(TLeafPtr leaf, Property& prop) const { - const World& world = *shared_static_cast<World>(leaf); + const World& world = *static_pointer_cast<World>(leaf); if (prop.getName().compare("GetGravity") == 0) {SET_VALUE(new DVector3f(world.GetGravity()));} else if (prop.getName().compare("GetERP") == 0) {SET_VALUE(new DFloat (world.GetERP()));} else if (prop.getName().compare("GetCFM") == 0) {SET_VALUE(new DFloat (world.GetCFM()));} @@ -718,7 +718,7 @@ bool BasicControl::applyChangeWorld(TLeafPtr leaf, Property& prop) const { - World& world = *shared_static_cast<World>(leaf); + World& world = *static_pointer_cast<World>(leaf); if (prop.getName().compare("GetGravity") == 0) {world.SetGravity(GET_VALUE(DVector3f));} else if (prop.getName().compare("GetERP") == 0) {world.SetERP (GET_VALUE(DFloat));} else if (prop.getName().compare("GetCFM") == 0) {world.SetCFM (GET_VALUE(DFloat));} @@ -731,14 +731,14 @@ bool BasicControl::genCollisionHandler(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - boost::shared_ptr<CollisionHandler> ch = shared_static_cast<CollisionHandler>(leaf); + boost::shared_ptr<CollisionHandler> ch = static_pointer_cast<CollisionHandler>(leaf); ADD_READ_PROPERTY("IsSymmetricHandler", "SymmetricHandler", new DBool()); return true; } bool BasicControl::updateCollisionHandler(TLeafPtr leaf, Property& prop) const { - boost::shared_ptr<CollisionHandler> ch = shared_static_cast<CollisionHandler>(leaf); + boost::shared_ptr<CollisionHandler> ch = static_pointer_cast<CollisionHandler>(leaf); if (prop.getName().compare("IsSymmetricHandler") == 0) {SET_VALUE(new DBool(ch->IsSymmetricHandler()));} else return false; //Getter not supported return true; @@ -755,7 +755,7 @@ bool BasicControl::genDragController(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const DragController& dc = *shared_static_cast<DragController>(leaf); + const DragController& dc = *static_pointer_cast<DragController>(leaf); ADD_READWRITE_PROPERTY("GetLinearDrag", "LinearDrag", new DFloat(dc.GetLinearDrag()), Data::doubleValidator()); ADD_READWRITE_PROPERTY("GetAngularDrag", "AngularDrag", new DFloat(dc.GetAngularDrag()), Data::doubleValidator()); return true; @@ -763,7 +763,7 @@ bool BasicControl::updateDragController(TLeafPtr leaf, Property& prop) const { - const DragController& dc = *shared_static_cast<DragController>(leaf); + const DragController& dc = *static_pointer_cast<DragController>(leaf); if (prop.getName().compare("GetLinearDrag") == 0) {SET_VALUE(new DFloat(dc.GetLinearDrag()));} else if (prop.getName().compare("GetAngularDrag") == 0) {SET_VALUE(new DFloat(dc.GetAngularDrag()));} else return false; //Getter not supported @@ -772,7 +772,7 @@ bool BasicControl::applyChangeDragController(TLeafPtr leaf, Property& prop) const { - DragController& dc = *shared_static_cast<DragController>(leaf); + DragController& dc = *static_pointer_cast<DragController>(leaf); if (prop.getName().compare("GetLinearDrag") == 0) {dc.SetLinearDrag (GET_VALUE(DFloat));} else if (prop.getName().compare("GetAngularDrag") == 0) {dc.SetAngularDrag(GET_VALUE(DFloat));} else return false; //Setter not supported @@ -784,7 +784,7 @@ bool BasicControl::genMaterialSolid(TLeafPtr leaf, const ClassDescriptor& descriptor, TProperties& list) const { - const MaterialSolid& mat = *shared_static_cast<MaterialSolid>(leaf); + const MaterialSolid& mat = *static_pointer_cast<MaterialSolid>(leaf); ADD_READWRITE_PROPERTY("GetAmbient", "Ambient", new DRGBA(), Data::rgbaValidator()); ADD_READWRITE_PROPERTY("GetDiffuse", "Diffuse", new DRGBA(), Data::rgbaValidator()); ADD_READWRITE_PROPERTY("GetSpecular", "Specular", new DRGBA(), Data::rgbaValidator()); @@ -793,7 +793,7 @@ bool BasicControl::updateMaterialSolid(TLeafPtr leaf, Property& prop) const { - const MaterialSolid& mat = *shared_static_cast<MaterialSolid>(leaf); + const MaterialSolid& mat = *static_pointer_cast<MaterialSolid>(leaf); if (prop.getName().compare("GetAmbient") == 0) {SET_VALUE(new DRGBA(mat.GetAmbient()));} else if (prop.getName().compare("GetDiffuse") == 0) {SET_VALUE(new DRGBA(mat.GetDiffuse()));} else if (prop.getName().compare("GetSpecular") == 0) {SET_VALUE(new DRGBA(mat.GetSpecular()));} @@ -803,7 +803,7 @@ bool BasicControl::applyChangeMaterialSolid(TLeafPtr leaf, Property& prop) const { - MaterialSolid& mat = *shared_static_cast<MaterialSolid>(leaf); + MaterialSolid& mat = *static_pointer_cast<MaterialSolid>(leaf); //Supported setters if (prop.getName().compare("GetAmbient") == 0) {mat.SetAmbient (GET_VALUE(DRGBA));} else if (prop.getName().compare("GetDiffuse") == 0) {mat.SetDiffuse (GET_VALUE(DRGBA));} Modified: branches/gui-bullet/spark/carbon/sparkpropertymanager.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparkpropertymanager.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparkpropertymanager.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -265,7 +265,7 @@ std::string basePath = "/classes/" + (*base_it); //Convert base class string to class object - boost::shared_ptr<zeitgeist::Class> base = shared_dynamic_cast<Class> + boost::shared_ptr<zeitgeist::Class> base = dynamic_pointer_cast<Class> (spark->GetCore()->Get(basePath)); if (base.get() == 0) Modified: branches/gui-bullet/spark/carbon/sparkpropertywidget.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparkpropertywidget.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparkpropertywidget.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -339,20 +339,20 @@ case SparkProperty::DT_BOOL : //no edit window for bool break; case SparkProperty::DT_VEC3F : - vec3 = &boost::shared_static_cast<const DVector3f>(prop->getCurrentValue())->mValue; + vec3 = &boost::static_pointer_cast<const DVector3f>(prop->getCurrentValue())->mValue; ((Vector3Widget*)mPropertyEditWidget)->setVector(vec3->x(), vec3->y(), vec3->z()); break; case SparkProperty::DT_RGBA : - rgba = &boost::shared_static_cast<const DRGBA>(prop->getCurrentValue())->mValue; + rgba = &boost::static_pointer_cast<const DRGBA>(prop->getCurrentValue())->mValue; ((Vector4Widget*)mPropertyEditWidget)->setVector(rgba->r(), rgba->g(), rgba->b(), rgba->a()); break; case SparkProperty::DT_AABB3 : - aabb3 = &boost::shared_static_cast<const DAABB3>(prop->getCurrentValue())->mValue; + aabb3 = &boost::static_pointer_cast<const DAABB3>(prop->getCurrentValue())->mValue; ((Vector2x3Widget*)mPropertyEditWidget)->getWidget1().setVector(aabb3->minVec.x(), aabb3->minVec.y(), aabb3->minVec.z()); ((Vector2x3Widget*)mPropertyEditWidget)->getWidget2().setVector(aabb3->maxVec.x(), aabb3->maxVec.y(), aabb3->maxVec.z()); break; case SparkProperty::DT_MAT4X4: - mat = &boost::shared_static_cast<const DMat4x4>(prop->getCurrentValue())->mValue; + mat = &boost::static_pointer_cast<const DMat4x4>(prop->getCurrentValue())->mValue; ((MatrixWidget*)mPropertyEditWidget)->setMatrix( mat->m[0], mat->m[4], mat->m[ 8], mat->m[12], mat->m[1], mat->m[5], mat->m[ 9], mat->m[13], Modified: branches/gui-bullet/spark/carbon/sparksimulationthread.cpp =================================================================== --- branches/gui-bullet/spark/carbon/sparksimulationthread.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/carbon/sparksimulationthread.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -77,7 +77,7 @@ if (index == -1) LOG_ERROR() << "Current thread not found in SimulationManagers thread list."; else - return boost::shared_static_cast<SparkSimulationThread>(manager->getThreadList().at(index)); + return boost::static_pointer_cast<SparkSimulationThread>(manager->getThreadList().at(index)); } else { Modified: branches/gui-bullet/spark/guiplugin/monitorframe/monitorframe_sparkglrender.cpp =================================================================== --- branches/gui-bullet/spark/guiplugin/monitorframe/monitorframe_sparkglrender.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/guiplugin/monitorframe/monitorframe_sparkglrender.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -90,7 +90,7 @@ } //Search camera - mCamera = shared_dynamic_cast<Camera> + mCamera = dynamic_pointer_cast<Camera> (mSpark->GetCore()->Get(mCameraPath)); if (mCamera.get() == 0) @@ -100,7 +100,7 @@ } //Search RenderServer - mRenderServer = shared_dynamic_cast<RenderServer> + mRenderServer = dynamic_pointer_cast<RenderServer> (mSpark->GetCore()->Get(mRenderServerPath)); if (mRenderServer.get() == 0) @@ -110,7 +110,7 @@ } //Search RenderControl node - mRenderControl = shared_dynamic_cast<RenderControl> + mRenderControl = dynamic_pointer_cast<RenderControl> (mSpark->GetCore()->Get(mRenderControlPath)); if (mRenderControl.get() == 0) @@ -120,7 +120,7 @@ } //Search SceneServer - mSceneServer = shared_dynamic_cast<SceneServer> + mSceneServer = dynamic_pointer_cast<SceneServer> (mSpark->GetCore()->Get(mSceneServerPath)); if (mSceneServer.get() == 0) Modified: branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe.cpp =================================================================== --- branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -211,8 +211,8 @@ { if (thread->getTaskDefinition().isSpark()) { - connect(boost::shared_static_cast<SparkSimulationThread>(thread).get(), SIGNAL(sparkRunning(SparkController*)), this, SLOT(updateSparkRunning(SparkController*))); - connect(boost::shared_static_cast<SparkSimulationThread>(thread).get(), SIGNAL(sparkFinished(SparkController*)), this, SLOT(updateSparkFinished(SparkController*))); + connect(boost::static_pointer_cast<SparkSimulationThread>(thread).get(), SIGNAL(sparkRunning(SparkController*)), this, SLOT(updateSparkRunning(SparkController*))); + connect(boost::static_pointer_cast<SparkSimulationThread>(thread).get(), SIGNAL(sparkFinished(SparkController*)), this, SLOT(updateSparkFinished(SparkController*))); } } @@ -222,7 +222,7 @@ if (task->getTaskDefinition().isSpark() && task->getTaskDefinition().isThread()) { //Has scene graph - return boost::shared_static_cast<SparkSimulationThread>(task)->getSparkController(); + return boost::static_pointer_cast<SparkSimulationThread>(task)->getSparkController(); } else { @@ -260,7 +260,7 @@ //We can only create scene graph widgets for tasks with scene graph if (task->getTaskDefinition().getType() == TaskDefinition::TT_SERVERTHREAD) { - boost::shared_ptr<SparkSimulationThread> thread(boost::shared_static_cast<SparkSimulationThread>(task)); + boost::shared_ptr<SparkSimulationThread> thread(boost::static_pointer_cast<SparkSimulationThread>(task)); //Create widget SceneGraphFrameUtil::SceneGraphWidget* newWidget = new SceneGraphFrameUtil::SceneGraphWidget(thread, this); @@ -475,7 +475,7 @@ if (getSparkController(currentTask).get() == controller) { //Update current view - mSceneGraphWidgets.at(mCurrentTask)->updateDisplay(boost::shared_static_cast<SparkSimulationThread>(currentTask)); + mSceneGraphWidgets.at(mCurrentTask)->updateDisplay(boost::static_pointer_cast<SparkSimulationThread>(currentTask)); } //Init/update property frame @@ -500,7 +500,7 @@ } //Update scene graph - mSceneGraphWidgets.at(mCurrentTask)->updateDisplay(boost::shared_static_cast<SparkSimulationThread>(updateTask)); + mSceneGraphWidgets.at(mCurrentTask)->updateDisplay(boost::static_pointer_cast<SparkSimulationThread>(updateTask)); } void SceneGraphFrame::updatePropertyFrame() Modified: branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe_scenegraphwidget.cpp =================================================================== --- branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe_scenegraphwidget.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/guiplugin/scenegraphframe/scenegraphframe_scenegraphwidget.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -376,7 +376,7 @@ if (leaf.get() == 0) return false; - boost::shared_ptr<oxygen::BaseNode> bn(boost::shared_dynamic_cast<oxygen::BaseNode>(leaf)); + boost::shared_ptr<oxygen::BaseNode> bn(boost::dynamic_pointer_cast<oxygen::BaseNode>(leaf)); if (bn.get() == 0) { // Can only load in base nodes @@ -493,7 +493,7 @@ return; } - boost::shared_ptr<oxygen::BaseNode> bn(boost::shared_dynamic_cast<oxygen::BaseNode>(leaf)); + boost::shared_ptr<oxygen::BaseNode> bn(boost::dynamic_pointer_cast<oxygen::BaseNode>(leaf)); if (bn.get() == 0) { // Can only load in base nodes Modified: branches/gui-bullet/spark/guiplugin/setupframe/setupframe.cpp =================================================================== --- branches/gui-bullet/spark/guiplugin/setupframe/setupframe.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/guiplugin/setupframe/setupframe.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -1522,7 +1522,7 @@ { mSaving = true; - bool saved = mSimulationManager->saveSimulationSetup(mCurrentSetup); + bool saved = static_cast<bool>(mSimulationManager->saveSimulationSetup(mCurrentSetup)); mSaving = false; if (!saved) { Modified: branches/gui-bullet/spark/guiplugin/simulationframe/simulationframe.cpp =================================================================== --- branches/gui-bullet/spark/guiplugin/simulationframe/simulationframe.cpp 2014-05-13 14:54:02 UTC (rev 372) +++ branches/gui-bullet/spark/guiplugin/simulationframe/simulationframe.cpp 2014-05-13 15:21:12 UTC (rev 373) @@ -178,7 +178,7 @@ { boost::shared_ptr<TaskDefinition> newDefinition(mSimulationManager->newTaskDefinition(TaskDefinition::mTypes[mChosenTask])); - bool success = mSimulationManager->getSimulation()->addNewTask(*newDefinition); + bool success = static_cast<bool>(mSimulationManager->getSimulation()->addNewTask(*newDefinition)); if (!success) LOG_INFO() << "Could not initialize task " << newDefinition->getName() << " (" << TaskDefinition::getTypeString(newDefinition->getType()) << ")"; else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-05-13 14:54:05
|
Revision: 372 http://sourceforge.net/p/simspark/svn/372 Author: hedayat Date: 2014-05-13 14:54:02 +0000 (Tue, 13 May 2014) Log Message: ----------- * Clear Players in GoalLeft/Right before kickoff to make sure that opponent doesn't touch ball at the middle of the field. * Don't enforce crowding rules on kickoff, since opponent should not come near the ball Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-02-19 17:46:49 UTC (rev 371) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-05-13 14:54:02 UTC (rev 372) @@ -547,20 +547,28 @@ for(int unum=1; unum<=11; unum++) { - // I am the third closest player but i am too near the ball (and not the goalie) - if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance && - (distArr[unum][idx] <= mMin3PlDistance + 0.01 && ordArr[unum][idx] == 3)) + TPlayMode playMode = mGameState->GetPlayMode(); + if ((playMode == PM_KickOff_Left && idx != TI_LEFT) + || (playMode == PM_KickOff_Right && idx != TI_RIGHT) + || (playMode != PM_KickOff_Left && playMode != PM_KickOff_Right)) { - playerFoulTime[unum][idx]++; - playerLastFoul[unum][idx] = FT_Crowding; + // I am the third closest player but i am too near the ball (and not the goalie) + if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && (distArr[unum][idx] <= mMin3PlDistance + 0.01 + && ordArr[unum][idx] == 3)) + { + playerFoulTime[unum][idx]++; + playerLastFoul[unum][idx] = FT_Crowding; + } + // I am the second closest player but i am too near the ball (and not the goalie) + else if (unum != 1 && closestPlayerDist[idx2] < mMinOppDistance + && distArr[unum][idx] <= mMin2PlDistance + 0.01 + && ordArr[unum][idx] == 2) + { + playerFoulTime[unum][idx]++; + playerLastFoul[unum][idx] = FT_Crowding; + } } - // I am the second closest player but i am too near the ball (and not the goalie) - else if(unum != 1 && closestPlayerDist[idx2] < mMinOppDistance && - distArr[unum][idx] <= mMin2PlDistance + 0.01 && ordArr[unum][idx] == 2 ) - { - playerFoulTime[unum][idx]++; - playerLastFoul[unum][idx] = FT_Crowding; - } // Too many players inside my own penalty area and Im am the last one to enter or // the last one to enter was the goalie and I am the one further away from own goal else if((numPlInsideOwnArea[idx] > mMaxPlayersInsideOwnArea && unum != 1 && playerInsideOwnArea[unum][idx] == 1 && @@ -1631,7 +1639,11 @@ break; case PM_Goal_Left: + ClearPlayersBeforeKickOff(TI_RIGHT); + UpdateGoal(); + break; case PM_Goal_Right: + ClearPlayersBeforeKickOff(TI_LEFT); UpdateGoal(); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pat...@us...> - 2014-02-19 17:46:51
|
Revision: 371 http://sourceforge.net/p/simspark/svn/371 Author: patmac369 Date: 2014-02-19 17:46:49 +0000 (Wed, 19 Feb 2014) Log Message: ----------- This commit includes the following changes for the 2014 competition: - labeling of hear messages with team names - Ex: (hear teamName 9 10 text) - score reporting - Ex: (GS (unum 8) (team left) (sl 1) (sr 2) (t 0.00) (pm BeforeKickOff)) - robot type checking to ensure that enough robot types (3) are used and that not too many of any one (7) or two (9) types is used - Allowed formations include (7-1-1-1-1), (4-4-3), (3-3-3-2), (3-2-2-2-2), etc. but not (7-3-1) - Updating naorobottypes.rb with robot types for the 2014 competition (the same ones that were used at the 2013 competition) For backwards compatibility the following options have been added to naosoccersim.rb to toggle on and off these changes. LabelMessages - Toggles on/off labeling of messages (default on) ReportScores - Toggles on/off score reporting (default on) MaxRobotTypeCount - Maximum number of any one robot type that may be used (default 7 and can be set to 11 to preserve 2013 competition behavior) MinRobotTypesCount - Minimum number of robot types that must be used for a full team (default 3 and can be set to 1 to preserve 2013 competition behavior) MaxSumTwoRobotTypes - The maximum sum of robots for any two robot types (default 9 but can be set to 11 to preserve 2013 competition behavior) Modified Paths: -------------- trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.h trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp trunk/rcssserver3d/rcssserver3d/naorobottypes.rb trunk/rcssserver3d/rcssserver3d/naosoccersim.rb Modified: trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.cpp 2014-02-19 17:46:49 UTC (rev 371) @@ -136,7 +136,7 @@ } void -AgentState::AddMessage(const string& msg, float direction, bool teamMate) +AgentState::AddMessage(const string& msg, const string& team, float direction, bool teamMate) { if (teamMate) { @@ -148,6 +148,7 @@ mHearMateCap -= mHearDecay; mMateMsg = msg; + mMateTeam = team; mMateMsgDir = direction; mIfMateMsg = true; } @@ -161,6 +162,7 @@ mHearOppCap -= mHearDecay; mOppMsg = msg; + mOppTeam = team; mOppMsgDir = direction; mIfOppMsg = true; } @@ -174,7 +176,7 @@ } bool -AgentState::GetMessage(string& msg, float& direction, bool teamMate) +AgentState::GetMessage(string& msg, string& team, float& direction, bool teamMate) { if (teamMate) { @@ -189,6 +191,7 @@ } msg = mMateMsg; + team = mMateTeam; direction = mMateMsgDir; mIfMateMsg = false; return true; @@ -206,6 +209,7 @@ } msg = mOppMsg; + team = mOppTeam; direction = mOppMsgDir; mIfOppMsg = false; return true; Modified: trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.h 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/agentstate/agentstate.h 2014-02-19 17:46:49 UTC (rev 371) @@ -94,11 +94,11 @@ bool ReduceBattery(float consumption); /** Add a new message to the list */ - void AddMessage(const std::string& msg, float direction, bool teamMate); + void AddMessage(const std::string& msg, const std::string& team, float direction, bool teamMate); void AddSelfMessage(const std::string& msg); /** Get the first message from the list */ - bool GetMessage(std::string& msg, float& direction, bool teamMate); + bool GetMessage(std::string& msg, std::string& team, float& direction, bool teamMate); bool GetSelfMessage(std::string& msg); /** Whether agent is selected */ @@ -143,10 +143,12 @@ /** team-mate's message */ std::string mMateMsg; + std::string mMateTeam; float mMateMsgDir; /** opponent's message */ std::string mOppMsg; + std::string mOppTeam; float mOppMsgDir; /** max hear capacity units */ Modified: trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.cpp 2014-02-19 17:46:49 UTC (rev 371) @@ -41,8 +41,6 @@ mGameHalf = GH_FIRST; mRobotTypeCount[0].push_back(0); // add count for type 0 (default type) mRobotTypeCount[1].push_back(0); - mHeteroCount[0] = 0; - mHeteroCount[1] = 0; mScore[0] = 0; mScore[1] = 0; mLastKickOffGameHalf = GH_NONE; @@ -52,8 +50,9 @@ mAgentRadius = 3.5; mFinished = false; mGamePaused = true; - mMaxHeteroTypeCount = 3; - mMaxTotalHeteroCount = 9; + mMaxRobotTypeCount = 7; + mMinRobotTypesCount = 3; + mMaxSumTwoRobotTypes = 9; mInternalIndex[TI_NONE] = -1; mInternalIndex[TI_LEFT] = 0; mInternalIndex[TI_RIGHT] = 1; @@ -258,26 +257,53 @@ if (i < 0) return false; - if (type) // heterogeneous player + int numRobots = 0; + int numRobotTypes = 0; + int maxSumTwoRobotTypes = 0; + + if (mRobotTypeCount[i].size() <= type) + mRobotTypeCount[i].resize(type+1); + + for (int j = 0; j < mRobotTypeCount[i].size(); j++) { - if (mHeteroCount[i] == mMaxTotalHeteroCount) + if (mRobotTypeCount[i][j] > 0) { - GetLog()->Error() - << "ERROR: (GameStateAspect::InsertRobotType) Hetero player" - " count limit reached.\n"; - return false; + numRobots += mRobotTypeCount[i][j]; + numRobotTypes++; } + int sumTwoRobotTypes = mRobotTypeCount[i][type]+1; + if (j != type) + sumTwoRobotTypes += mRobotTypeCount[i][j]; + + if (sumTwoRobotTypes > maxSumTwoRobotTypes) + maxSumTwoRobotTypes = sumTwoRobotTypes; + } - ++mHeteroCount[i]; + if (mRobotTypeCount[i][type] == mMaxRobotTypeCount) + { + GetLog()->Error() + << "ERROR: (GameStateAspect::InsertRobotType) No more robots " + "of type " << type << " are allowed.\n"; + return false; + } - if (mRobotTypeCount[i].size() <= type) - mRobotTypeCount[i].resize(type+1); - - if (mRobotTypeCount[i][type] == mMaxHeteroTypeCount) + if (maxSumTwoRobotTypes > mMaxSumTwoRobotTypes) + { + GetLog()->Error() + << "ERROR: (GameStateAspect::InsertRobotType) Maximum sum of " + "robots of two robot types limit reached. No more robots of " + "type " << type << " are allowed.\n"; + return false; + } + + if ((11-numRobots) <= (mMinRobotTypesCount-numRobotTypes)) + { + if (mRobotTypeCount[i][type] != 0) { GetLog()->Error() - << "ERROR: (GameStateAspect::InsertRobotType) No more robots " - "of type " << type << " are allowed.\n"; + << "ERROR: (GameStateAspect::InsertRobotType) Minimum number" + " of different robot types not reached. Only robots of a type" + " not yet used can be added.\n"; return false; } } @@ -299,9 +325,6 @@ return false; } - if (type) // heterogeneous player - --mHeteroCount[i]; - --mRobotTypeCount[i][type]; return true; @@ -496,8 +519,9 @@ if (!coinTossKickOff) mNextHalfKickOff = TI_LEFT; - SoccerBase::GetSoccerVar(*this, "MaxHeteroTypeCount", mMaxHeteroTypeCount); - SoccerBase::GetSoccerVar(*this, "MaxTotalHeteroCount", mMaxTotalHeteroCount); + SoccerBase::GetSoccerVar(*this, "MaxRobotTypeCount", mMaxRobotTypeCount); + SoccerBase::GetSoccerVar(*this, "MinRobotTypesCount", mMinRobotTypesCount); + SoccerBase::GetSoccerVar(*this, "MaxSumTwoRobotTypes", mMaxSumTwoRobotTypes); } int Modified: trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/gamestateaspect/gamestateaspect.h 2014-02-19 17:46:49 UTC (rev 371) @@ -200,9 +200,6 @@ /** the array of robot type counts for each team */ std::vector<int> mRobotTypeCount[2]; - /** the number of heterogeneous players for each team */ - int mHeteroCount[2]; - /** the scores of two teams */ int mScore[2]; @@ -221,11 +218,14 @@ /** flag if the game is running or paused (e.g. in goal_left/right state) */ bool mGamePaused; - /** the maximum number of heterogeneous players of a single type per team */ - int mMaxHeteroTypeCount; + /** the maximum number of players of a single type per team */ + int mMaxRobotTypeCount; - /** the maximum number of total heterogeneous players for a team */ - int mMaxTotalHeteroCount; + /** the minimum number of different robot types per team */ + int mMinRobotTypesCount; + + /** the maximum sum of robots for any two robot types */ + int mMaxSumTwoRobotTypes; }; DECLARE_CLASS(GameStateAspect); Modified: trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.cpp 2014-02-19 17:46:49 UTC (rev 371) @@ -33,6 +33,7 @@ GameStatePerceptor::GameStatePerceptor() : oxygen::Perceptor() { mFirstPercept = true; + mReportScore = true; } GameStatePerceptor::~GameStatePerceptor() @@ -127,6 +128,18 @@ InsertInitialPercept(predicate); } + if (mReportScore) { + // score left + ParameterList& slElement = predicate.parameter.AddList(); + slElement.AddValue(string("sl")); + slElement.AddValue(mGameState->GetScore(TI_LEFT)); + + // score right + ParameterList& srElement = predicate.parameter.AddList(); + srElement.AddValue(string("sr")); + srElement.AddValue(mGameState->GetScore(TI_RIGHT)); + } + // time ParameterList& timeElement = predicate.parameter.AddList(); timeElement.AddValue(string("t")); @@ -145,6 +158,7 @@ { SoccerBase::GetGameState(*this,mGameState); SoccerBase::GetAgentState(*this,mAgentState); + SoccerBase::GetSoccerVar(*this,"ReportScore",mReportScore); } void Modified: trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/gamestateperceptor/gamestateperceptor.h 2014-02-19 17:46:49 UTC (rev 371) @@ -73,6 +73,9 @@ is assigned to a team with a successful init command */ bool mFirstPercept; + + /** report game score to agent */ + bool mReportScore; }; DECLARE_CLASS(GameStatePerceptor); Modified: trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.cpp 2014-02-19 17:46:49 UTC (rev 371) @@ -30,6 +30,7 @@ HearPerceptor::HearPerceptor() : oxygen::Perceptor() { + mLabelMessages = true; } HearPerceptor::~HearPerceptor() @@ -50,6 +51,7 @@ bool result = false; string message; + string team; float direction; if (mAgentState->GetSelfMessage(message)) @@ -58,28 +60,37 @@ Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(mAgentState->GetPerceptName(ObjectState::PT_Player)); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(self); predicate.parameter.AddValue(message); result = true; } - if (mAgentState->GetMessage(message, direction, true)) + if (mAgentState->GetMessage(message, team, direction, true)) { Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(team); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(direction); predicate.parameter.AddValue(message); result = true; } - if (mAgentState->GetMessage(message, direction, false)) + if (mAgentState->GetMessage(message, team, direction, false)) { Predicate& predicate = predList->AddPredicate(); predicate.name = "hear"; predicate.parameter.Clear(); + if (mLabelMessages) { + predicate.parameter.AddValue(team); + } predicate.parameter.AddValue(mGameState->GetTime()); predicate.parameter.AddValue(direction); predicate.parameter.AddValue(message); @@ -94,6 +105,7 @@ { SoccerBase::GetAgentState(*this, mAgentState); SoccerBase::GetGameState(*this, mGameState); + SoccerBase::GetSoccerVar(*this, "LabelMessages", mLabelMessages); } void Modified: trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h =================================================================== --- trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/hearperceptor/hearperceptor.h 2014-02-19 17:46:49 UTC (rev 371) @@ -53,6 +53,11 @@ /** reference to the GameStateAspect */ boost::shared_ptr<GameStateAspect> mGameState; + + /** label agent messages with the team of the sender */ + bool mLabelMessages; + + }; DECLARE_CLASS(HearPerceptor); Modified: trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp =================================================================== --- trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/plugin/soccer/soccerruleaspect/soccerruleaspect.cpp 2014-02-19 17:46:49 UTC (rev 371) @@ -1806,7 +1806,8 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, idx); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - (*it)->AddMessage(message, direction, true); + std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); + (*it)->AddMessage(message, team, direction, true); } } @@ -1828,7 +1829,8 @@ Vector3f relPos = pos - new_pos; relPos = SoccerBase::FlipView(relPos, SoccerBase::OpponentTeam(idx)); float direction = salt::gRadToDeg(salt::gArcTan2(relPos[1], relPos[0])); - (*it)->AddMessage(message, direction, false); + std::string team = (*it)->GetPerceptName(ObjectState::PT_Player); + (*it)->AddMessage(message, team, direction, false); } } } Modified: trunk/rcssserver3d/rcssserver3d/naorobottypes.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naorobottypes.rb 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/rcssserver3d/naorobottypes.rb 2014-02-19 17:46:49 UTC (rev 371) @@ -9,18 +9,18 @@ }, # Type 1 { - 'ThighRelHip2_Z' => -0.06, - 'AnkleRelShank_Z' => -0.075, + 'ThighRelHip2_Z' => -0.05832, + 'AnkleRelShank_Z' => -0.07332, 'lj5_max_abs_speed' => 6.1395, 'lj6_max_abs_speed' => 6.1395, - 'ElbowRelUpperArm_Y' => 0.11 + 'ElbowRelUpperArm_Y' => 0.10664 }, # Type 2 { 'ThighRelHip2_Z' => -0.04, 'AnkleRelShank_Z' => -0.055, - 'lj5_max_abs_speed' => 9.21, - 'lj6_max_abs_speed' => 4.605, + 'lj5_max_abs_speed' => 8.80667, + 'lj6_max_abs_speed' => 3.47234, 'ElbowRelUpperArm_Y' => 0.07 } Modified: trunk/rcssserver3d/rcssserver3d/naosoccersim.rb =================================================================== --- trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2013-06-19 20:55:49 UTC (rev 370) +++ trunk/rcssserver3d/rcssserver3d/naosoccersim.rb 2014-02-19 17:46:49 UTC (rev 371) @@ -60,8 +60,9 @@ # agent parameters addSoccerVar('AgentRadius', 0.4) -addSoccerVar('MaxHeteroTypeCount', 3) -addSoccerVar('MaxTotalHeteroCount', 9) +addSoccerVar('MaxRobotTypeCount', 7) +addSoccerVar('MinRobotTypesCount', 3) +addSoccerVar('MaxSumTwoRobotTypes', 9) # ball parameters addSoccerVar('BallRadius', 0.042) @@ -90,8 +91,12 @@ addSoccerVar('MaxPlayersInsideOwnArea',3) addSoccerVar('MinOppDistance',0.8) addSoccerVar('Min2PlDistance',0.4) -addSoccerVar('Min3PlDistance',1.0) +addSoccerVar('Min3PlDistance',1.0) +# 2014 server changes +addSoccerVar('ReportScore', true) +addSoccerVar('LabelMessages', true) + # auto ref parameters for testing (not for use in competition...) #addSoccerVar('NotStandingMaxTime',10) #addSoccerVar('GoalieNotStandingMaxTime',30) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2013-06-19 20:55:52
|
Revision: 370 http://sourceforge.net/p/simspark/svn/370 Author: hedayat Date: 2013-06-19 20:55:49 +0000 (Wed, 19 Jun 2013) Log Message: ----------- Better support for cross-compiling using MinGW Enhance file selection for creating Windows installer using file globs Modified Paths: -------------- trunk/rcssserver3d/CMakeLists.txt trunk/rcssserver3d/ChangeLog trunk/rcssserver3d/cmake/AdditionalSearchPaths.cmake trunk/rcssserver3d/plugin/soccer/CMakeLists.txt trunk/rcssserver3d/plugin/soccermonitor/CMakeLists.txt trunk/spark/CMakeLists.txt trunk/spark/ChangeLog trunk/spark/cmake/AdditionalSearchPaths.cmake trunk/spark/lib/zeitgeist/scriptserver/rubywrapper.h trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp Modified: trunk/rcssserver3d/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/CMakeLists.txt 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/rcssserver3d/CMakeLists.txt 2013-06-19 20:55:49 UTC (rev 370) @@ -12,7 +12,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) if (WIN32) - set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) Modified: trunk/rcssserver3d/ChangeLog =================================================================== --- trunk/rcssserver3d/ChangeLog 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/rcssserver3d/ChangeLog 2013-06-19 20:55:49 UTC (rev 370) @@ -1,3 +1,13 @@ +2013-06-20 Hedayat Vatankhah <hed...@gm...> + + * plugin/soccermonitor/CMakeLists.txt: + * plugin/soccer/CMakeLists.txt: + - link boost libraries + + * CMakeLists.txt: + * cmake/AdditionalSearchPaths.cmake: + - support cross-compiling from multiple root dirs + 2013-06-13 Hedayat Vatankhah <hed...@gm...> * NEWS: Modified: trunk/rcssserver3d/cmake/AdditionalSearchPaths.cmake =================================================================== --- trunk/rcssserver3d/cmake/AdditionalSearchPaths.cmake 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/rcssserver3d/cmake/AdditionalSearchPaths.cmake 2013-06-19 20:55:49 UTC (rev 370) @@ -1,3 +1,7 @@ +# useful for cross-compilation from multiple root directories +set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} + "$ENV{CMAKE_ALTERNATIVE_ROOT}") + if (WIN32) set(ENV{SDLDIR} $ENV{SDLDIR} C:/library/SDL/ "C:/Program Files/SDL/" Modified: trunk/rcssserver3d/plugin/soccer/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/plugin/soccer/CMakeLists.txt 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/rcssserver3d/plugin/soccer/CMakeLists.txt 2013-06-19 20:55:49 UTC (rev 370) @@ -136,7 +136,8 @@ add_library(soccer MODULE ${soccer_LIB_SRCS} ${soccer_LIB_HDRS}) -target_link_libraries(soccer ${spark_libs} ${OPENGL_gl_LIBRARY}) +target_link_libraries(soccer ${spark_libs} ${OPENGL_gl_LIBRARY} + ${Boost_LIBRARIES}) if (NOT APPLE) set_target_properties(soccer PROPERTIES VERSION 1.1.0 SOVERSION 1) Modified: trunk/rcssserver3d/plugin/soccermonitor/CMakeLists.txt =================================================================== --- trunk/rcssserver3d/plugin/soccermonitor/CMakeLists.txt 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/rcssserver3d/plugin/soccermonitor/CMakeLists.txt 2013-06-19 20:55:49 UTC (rev 370) @@ -24,7 +24,8 @@ add_library(soccermonitor MODULE ${soccermonitor_LIB_SRCS} ${soccermonitor_LIB_HDRS}) -target_link_libraries(soccermonitor ${spark_libs} ${OPENGL_LIBRARIES}) +target_link_libraries(soccermonitor ${spark_libs} ${OPENGL_LIBRARIES} + ${Boost_LIBRARIES}) if (NOT APPLE) set_target_properties(soccermonitor PROPERTIES VERSION 1.0.0 SOVERSION 1) Modified: trunk/spark/CMakeLists.txt =================================================================== --- trunk/spark/CMakeLists.txt 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/spark/CMakeLists.txt 2013-06-19 20:55:49 UTC (rev 370) @@ -38,7 +38,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/) if (WIN32) - set(Boost_USE_STATIC_LIBS ON) + set(Boost_USE_STATIC_LIBS OFF) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME OFF) @@ -205,35 +205,42 @@ if (WIN32) # try to find and install third-party .dlls to lib/thirdparty directory set(THLIBDIR ${LIBDIR}/thirdparty) - # MinGW dll installation on a single root system + # MinGW dll installation on a single root system if (${CMAKE_CXX_COMPILER} MATCHES "mingw") - set(MINGW_BIN_DIR "${Boost_LIBRARY_DIRS}/../bin/") - install(DIRECTORY ${MINGW_BIN_DIR} DESTINATION ${THLIBDIR} - FILES_MATCHING - PATTERN "libstdc++*.dll" - PATTERN "libgcc_s_sjlj*.dll" - PATTERN "libode*.dll" - PATTERN "tbb*.dll" - PATTERN "*boost*regex*mt*.dll" - PATTERN "*boost*date_time*mt*.dll" - PATTERN "*boost*thread*mt*.dll" - PATTERN "libIL*.dll" - PATTERN "libjpeg*.dll" - PATTERN "libpng*.dll" - PATTERN "*freetype*.dll" - PATTERN "*SDL*.dll") + foreach(ROOT_DIR ${CMAKE_FIND_ROOT_PATH}) + file(GLOB inst_lib_files "${ROOT_DIR}/*/libstdc++*.dll" + "${ROOT_DIR}/*/libstdc++*.dll" + "${ROOT_DIR}/*/libgcc_s_sjlj*.dll" + "${ROOT_DIR}/*/libode*.dll" + "${ROOT_DIR}/*/tbb*.dll" + "${ROOT_DIR}/*/*boost*system*mt*.dll" + "${ROOT_DIR}/*/*boost*chrono*mt*.dll" + "${ROOT_DIR}/*/*boost*regex*mt*.dll" + "${ROOT_DIR}/*/*boost*date_time*mt*.dll" + "${ROOT_DIR}/*/*boost*thread*mt*.dll" + "${ROOT_DIR}/*/libIL*.dll" + "${ROOT_DIR}/*/libjpeg*.dll" + "${ROOT_DIR}/*/libpng*.dll" + "${ROOT_DIR}/*/libbz2*.dll" + "${ROOT_DIR}/*/*freetype*.dll" + "${ROOT_DIR}/*/*ruby*.dll" + "${ROOT_DIR}/*/*SDL*.dll") + install(PROGRAMS ${inst_lib_files} DESTINATION ${THLIBDIR}) + endforeach(ROOT_DIR) endif (${CMAKE_CXX_COMPILER} MATCHES "mingw") string(REGEX REPLACE "(.*)\\.lib" "\\1.dll" ODEDLL "${ODE_LIBRARY}") if (EXISTS ${ODEDLL} AND ${ODEDLL} MATCHES ".dll$") install(PROGRAMS ${ODEDLL} DESTINATION ${THLIBDIR}) endif (EXISTS ${ODEDLL} AND ${ODEDLL} MATCHES ".dll$") + + file(GLOB INST_BOOST "${Boost_LIBRARY_DIRS}/*boost*system*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*chrono*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*regex*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*date_time*mt*.dll" + "${Boost_LIBRARY_DIRS}/*boost*thread*mt*.dll") + install(PROGRAMS ${INST_BOOST} DESTINATION ${THLIBDIR}) - install(DIRECTORY "${Boost_LIBRARY_DIRS}/" DESTINATION ${THLIBDIR} - FILES_MATCHING PATTERN "*boost*regex*mt*.dll" - PATTERN "*boost*date_time*mt*.dll" - PATTERN "*boost*thread*mt*.dll") - string(REGEX REPLACE "(.*)\\.lib" "\\1.dll" DevIL_DLL "${IL_LIBRARIES}") if (EXISTS ${DevIL_DLL} AND ${DevIL_DLL} MATCHES ".dll$") install(PROGRAMS ${DevIL_DLL} DESTINATION ${THLIBDIR}) @@ -242,10 +249,11 @@ string(REGEX REPLACE "(.*)/ruby(.exe)?" "\\1/" RUBY_BINDIR "${RUBY_EXECUTABLE}") install(DIRECTORY "${RUBY_BINDIR}" DESTINATION ${THLIBDIR} FILES_MATCHING PATTERN "*.dll") - - install(DIRECTORY "${FREETYPE_INCLUDE_DIR_ft2build}/../bin/" - DESTINATION ${THLIBDIR} FILES_MATCHING - PATTERN "*freetype*.dll" PATTERN "*zlib*.dll") + + set(FREETYPE_BIN_DIR "${FREETYPE_INCLUDE_DIR_ft2build}/../bin") + file(GLOB INST_FREETYPE "${FREETYPE_BIN_DIR}/*freetype*.dll" + "${FREETYPE_BIN_DIR}/*zlib*.dll") + install(PROGRAMS ${INST_FREETYPE} DESTINATION ${THLIBDIR}) set(SDL_DLL "${SDL_INCLUDE_DIR}/../lib/sdl.dll") if (EXISTS ${SDL_DLL}) Modified: trunk/spark/ChangeLog =================================================================== --- trunk/spark/ChangeLog 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/spark/ChangeLog 2013-06-19 20:55:49 UTC (rev 370) @@ -1,3 +1,15 @@ +2013-06-20 Hedayat Vatankhah <hed...@gm...> + + * lib/zeitgeist/scriptserver/rubywrapper.h: + - disalbed unsupported pragmas for MinGW + + * lib/zeitgeist/scriptserver/scriptserver.cpp: + - fixed a bug in changing current directory in Windows + + * CMakeLists.txt: + * cmake/AdditionalSearchPaths.cmake: + - fixed some problems in building Windows installer (with MinGW) + 2013-06-12 Hedayat Vatankhah <hed...@gm...> * NEWS: Modified: trunk/spark/cmake/AdditionalSearchPaths.cmake =================================================================== --- trunk/spark/cmake/AdditionalSearchPaths.cmake 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/spark/cmake/AdditionalSearchPaths.cmake 2013-06-19 20:55:49 UTC (rev 370) @@ -1,3 +1,7 @@ +# useful for cross-compilation from multiple root directories +set(CMAKE_FIND_ROOT_PATH ${CMAKE_FIND_ROOT_PATH} + "$ENV{CMAKE_ALTERNATIVE_ROOT}") + if (WIN32) set(ENV{SDLDIR} $ENV{SDLDIR} C:/library/SDL/ "C:/Program Files/SDL/" Modified: trunk/spark/lib/zeitgeist/scriptserver/rubywrapper.h =================================================================== --- trunk/spark/lib/zeitgeist/scriptserver/rubywrapper.h 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/spark/lib/zeitgeist/scriptserver/rubywrapper.h 2013-06-19 20:55:49 UTC (rev 370) @@ -41,9 +41,11 @@ #ifdef WIN32 #include <winsock2.h> +#ifndef __MINGW32__ // disable compiler warning about type cast from VALUE to RBasic* #pragma warning (disable : 4312) #endif +#endif #include <ruby.h> @@ -59,9 +61,11 @@ #undef read #undef write +#ifndef __MINGW32__ // reenable compiler warning #pragma warning (default : 4312) #endif +#endif #undef EXTERN Modified: trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp =================================================================== --- trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp 2013-06-19 20:40:54 UTC (rev 369) +++ trunk/spark/lib/zeitgeist/scriptserver/scriptserver.cpp 2013-06-19 20:55:49 UTC (rev 370) @@ -563,7 +563,7 @@ } #if WIN32 - if (! SetCurrentDirectory(dotDir.c_str())) + if (SetCurrentDirectory(dotDir.c_str())) #else if (chdir(dotDir.c_str()) == 0) #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2013-06-19 20:40:57
|
Revision: 369 http://sourceforge.net/p/simspark/svn/369 Author: hedayat Date: 2013-06-19 20:40:54 +0000 (Wed, 19 Jun 2013) Log Message: ----------- SimSpark 0.2.4 Release Added Paths: ----------- tags/SIMSPARK_0.2.4_RELEASE/ Index: tags/SIMSPARK_0.2.4_RELEASE =================================================================== --- trunk/spark 2013-06-19 20:37:41 UTC (rev 368) +++ tags/SIMSPARK_0.2.4_RELEASE 2013-06-19 20:40:54 UTC (rev 369) Property changes on: tags/SIMSPARK_0.2.4_RELEASE ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,27 ## +.project + +.cproject + +autom4te.cache + +configure + +sparkconfig.h.in + +Makefile.in + +aclocal.m4 + +.cdtconfigure.Build (GNU) + +Makefile + +config.status + +stamp-h1 + +libtool + +sparkconfig.h + +.settings Added: svn:mergeinfo ## -0,0 +1,2 ## +/branches/agentselection/spark:195-206 +/branches/treehole/spark:175 \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2013-06-19 20:37:44
|
Revision: 368 http://sourceforge.net/p/simspark/svn/368 Author: hedayat Date: 2013-06-19 20:37:41 +0000 (Wed, 19 Jun 2013) Log Message: ----------- RCSSServer3D 0.6.7 Release Added Paths: ----------- tags/RCSSSERVER3D_0.6.7_RELEASE/ Index: tags/RCSSSERVER3D_0.6.7_RELEASE =================================================================== --- trunk/rcssserver3d 2013-06-12 20:55:37 UTC (rev 367) +++ tags/RCSSSERVER3D_0.6.7_RELEASE 2013-06-19 20:37:41 UTC (rev 368) Property changes on: tags/RCSSSERVER3D_0.6.7_RELEASE ___________________________________________________________________ Added: svn:ignore ## -0,0 +1,27 ## +.project + +.cproject + +Makefile.in + +rcssserver3d_config.h + +rcssserver3d_config.h.in + +configure + +stamp-h1 + +aclocal.m4 + +autom4te.cache + +config.status + +.cdtconfigure.Build (GNU) + +libtool + +Makefile + +.settings Added: svn:mergeinfo ## -0,0 +1,2 ## +/branches/agentselection/rcssserver3d:195-206 +/branches/treehole/rcssserver3d:175 \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2013-06-12 20:55:40
|
Revision: 367 http://sourceforge.net/p/simspark/svn/367 Author: hedayat Date: 2013-06-12 20:55:37 +0000 (Wed, 12 Jun 2013) Log Message: ----------- Replaced endlines for CMakeLists.txt files too. :P Modified Paths: -------------- branches/gui-bullet/rcssserver3d/sparkgui/CMakeLists.txt branches/gui-bullet/spark/carbon/CMakeLists.txt Modified: branches/gui-bullet/rcssserver3d/sparkgui/CMakeLists.txt =================================================================== --- branches/gui-bullet/rcssserver3d/sparkgui/CMakeLists.txt 2013-06-12 20:53:27 UTC (rev 366) +++ branches/gui-bullet/rcssserver3d/sparkgui/CMakeLists.txt 2013-06-12 20:55:37 UTC (rev 367) @@ -1,75 +1,75 @@ -########### target files ############### - -set(sparkgui_SOURCES - main.cpp -) - -########### qt properties ############### - -#Additional used libraries -set(QT_USE_QTOPENGL TRUE) -set(QT_USE_QTXML TRUE) - -#Include qt properties -include(${QT_USE_FILE}) -add_definitions(${QT_DEFINITIONS}) - -########### definitions for config file ############### - -set(GUI_LAYOUT_DIR ${carbonlayoutlibdir}) -set(GUI_PLUGIN_DIR_1 ${carbonpluginlibdir}) -set(GUI_PLUGIN_DIR_2 ${guipluginlibdir}) -set(GUI_SETUP_DIR ${carbonsetupdir}) -set(EXECUTABLE_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${BINDIR}) -set(SCRIPT_INCLUDE_DIR_1 ${sparkscriptdir}) -set(SCRIPT_INCLUDE_DIR_2 ${CMAKE_INSTALL_PREFIX}/${DATADIR}/${CMAKE_PROJECT_NAME}) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/sparkgui_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/sparkgui_config.h) - -########### create executable ############### - -add_executable(sparkgui ${sparkgui_SOURCES}) - -if (APPLE) - set(SDL_LINK_LIBS ${SDLMAIN_LIBRARY} ${SDL_LIBRARY_TEMP}) -endif (APPLE) - -include_directories(${SDL_INCLUDE_DIR} ) - -set(sparkgui_LIBS ${OPENGL_LIBRARIES} ${QT_LIBRARIES} ${SDL_LINK_LIBS} ${RCSSNET3D_LIBRARY}) -set(sparkgui_DEBUG_LIBS ${SPARK_LIBRARY_DEBUG} ${SALT_LIBRARY_DEBUG} - ${ZEITGEIST_LIBRARY_DEBUG} ${OXYGEN_LIBRARY_DEBUG} ${KEROSIN_LIBRARY_DEBUG} - ${CARBON_LIBRARY_DEBUG}) -set(sparkgui_RELEASE_LIBS ${SPARK_LIBRARY_RELEASE} ${SALT_LIBRARY_RELEASE} - ${ZEITGEIST_LIBRARY_RELEASE} ${OXYGEN_LIBRARY_RELEASE} ${KEROSIN_LIBRARY_RELEASE} - ${CARBON_LIBRARY_RELEASE}) - -target_link_libraries(sparkgui ${sparkgui_LIBS}) -FOREACH(LIB ${sparkgui_DEBUG_LIBS}) - target_link_libraries(sparkgui debug ${LIB}) -ENDFOREACH(LIB) -FOREACH(LIB ${sparkgui_RELEASE_LIBS}) - target_link_libraries(sparkgui optimized ${LIB}) -ENDFOREACH(LIB) - -target_link_libraries(sparkgui ${Boost_LIBRARIES}) - -set_target_properties(sparkgui PROPERTIES INSTALL_RPATH "${RPATH_DIRECTORIES}") -install(TARGETS sparkgui DESTINATION ${BINDIR}) - -execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink - sparkgui ${CMAKE_CURRENT_BINARY_DIR}/simspark) - -########### install files ############### - -#install script files -install(DIRECTORY ./ - DESTINATION ${DATADIR}/${CMAKE_PROJECT_NAME} - FILES_MATCHING PATTERN "*.rb" PATTERN ".svn" EXCLUDE) - -#if (NOT WIN32) -# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rcsoccersim3d -# ${CMAKE_CURRENT_BINARY_DIR}/simspark DESTINATION ${BINDIR} -# PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ -# GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) -#endif (NOT WIN32) +########### target files ############### + +set(sparkgui_SOURCES + main.cpp +) + +########### qt properties ############### + +#Additional used libraries +set(QT_USE_QTOPENGL TRUE) +set(QT_USE_QTXML TRUE) + +#Include qt properties +include(${QT_USE_FILE}) +add_definitions(${QT_DEFINITIONS}) + +########### definitions for config file ############### + +set(GUI_LAYOUT_DIR ${carbonlayoutlibdir}) +set(GUI_PLUGIN_DIR_1 ${carbonpluginlibdir}) +set(GUI_PLUGIN_DIR_2 ${guipluginlibdir}) +set(GUI_SETUP_DIR ${carbonsetupdir}) +set(EXECUTABLE_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/${BINDIR}) +set(SCRIPT_INCLUDE_DIR_1 ${sparkscriptdir}) +set(SCRIPT_INCLUDE_DIR_2 ${CMAKE_INSTALL_PREFIX}/${DATADIR}/${CMAKE_PROJECT_NAME}) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/sparkgui_config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/sparkgui_config.h) + +########### create executable ############### + +add_executable(sparkgui ${sparkgui_SOURCES}) + +if (APPLE) + set(SDL_LINK_LIBS ${SDLMAIN_LIBRARY} ${SDL_LIBRARY_TEMP}) +endif (APPLE) + +include_directories(${SDL_INCLUDE_DIR} ) + +set(sparkgui_LIBS ${OPENGL_LIBRARIES} ${QT_LIBRARIES} ${SDL_LINK_LIBS} ${RCSSNET3D_LIBRARY}) +set(sparkgui_DEBUG_LIBS ${SPARK_LIBRARY_DEBUG} ${SALT_LIBRARY_DEBUG} + ${ZEITGEIST_LIBRARY_DEBUG} ${OXYGEN_LIBRARY_DEBUG} ${KEROSIN_LIBRARY_DEBUG} + ${CARBON_LIBRARY_DEBUG}) +set(sparkgui_RELEASE_LIBS ${SPARK_LIBRARY_RELEASE} ${SALT_LIBRARY_RELEASE} + ${ZEITGEIST_LIBRARY_RELEASE} ${OXYGEN_LIBRARY_RELEASE} ${KEROSIN_LIBRARY_RELEASE} + ${CARBON_LIBRARY_RELEASE}) + +target_link_libraries(sparkgui ${sparkgui_LIBS}) +FOREACH(LIB ${sparkgui_DEBUG_LIBS}) + target_link_libraries(sparkgui debug ${LIB}) +ENDFOREACH(LIB) +FOREACH(LIB ${sparkgui_RELEASE_LIBS}) + target_link_libraries(sparkgui optimized ${LIB}) +ENDFOREACH(LIB) + +target_link_libraries(sparkgui ${Boost_LIBRARIES}) + +set_target_properties(sparkgui PROPERTIES INSTALL_RPATH "${RPATH_DIRECTORIES}") +install(TARGETS sparkgui DESTINATION ${BINDIR}) + +execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink + sparkgui ${CMAKE_CURRENT_BINARY_DIR}/simspark) + +########### install files ############### + +#install script files +install(DIRECTORY ./ + DESTINATION ${DATADIR}/${CMAKE_PROJECT_NAME} + FILES_MATCHING PATTERN "*.rb" PATTERN ".svn" EXCLUDE) + +#if (NOT WIN32) +# install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rcsoccersim3d +# ${CMAKE_CURRENT_BINARY_DIR}/simspark DESTINATION ${BINDIR} +# PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ +# GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) +#endif (NOT WIN32) Modified: branches/gui-bullet/spark/carbon/CMakeLists.txt =================================================================== --- branches/gui-bullet/spark/carbon/CMakeLists.txt 2013-06-12 20:53:27 UTC (rev 366) +++ branches/gui-bullet/spark/carbon/CMakeLists.txt 2013-06-12 20:55:37 UTC (rev 367) @@ -1,324 +1,324 @@ -########### moc target files ############### -set(carbon_QOBJECT_HEADERS - cutelogger/imessagereceiver.h - process.h - pluginthread.h - simulationprocess.h - simulationmanager.h - serverthread.h - signalplugin.h - simulationsetup.h - simulation.h - simulationthread.h - sparksimulationthread.h - simulationtask.h - taskdefinition.h - menumanager.h - menuobjectconnection.h - plugininstantiatormodel.h - plugindefinition.h - pluginmanager.h - attachableframe.h - windowdefinition.h - frameattachmentpoint.h - numberedactionreceiver.h - guisettings_pluginsettings.h - guisettings_simulationsettings.h - namedactionreceiver.h - matrixwidget.h - toolseparatorbutton.h - vector3widget.h - vector4widget.h - vector2x3widget.h - typedlineedit.h - carbon.h - settingsdialog.h - settingswidget.h - plugindialog.h - settings.h - setupdialog.h - abstractcommand.h - sparkcontroller.h - sparkcommands.h - sparktreemodel.h - sparktreeview.h - sparkpropertylist.h - sparkpropertywidget.h - sparkpropertycontrol.h - sparkpropertyexecuter.h - sparkpropertymanager.h - glwidget.h - openglmanager.h - communicationmanager.h - topic.h - ) - -set(carbon_HEADERS - cutelogger/abstractappender.h - cutelogger/abstractstringappender.h - cutelogger/consoleappender.h - cutelogger/debugappender.h - cutelogger/fileappender.h - cutelogger/functionappender.h - cutelogger/logger.h - cutelogger/logmessage.h - cutelogger/logstream.h - cutelogger/logstreambuffer.h - cutelogger/messageobjectappender.h - cutelogger/messagereceiverappender.h - cutelogger/imessagereceiver.h - sparkprocess.h - process.h - pluginthread.h - simulationprocess.h - simulationmanager.h - serverthread.h - simulationsetup.h - simulation.h - simulationthread.h - sparksimulationthread.h - simulationtask.h - taskdefinition.h - menuobject.h - menuobjectcall.h - menuobjectfile.h - menuobjectmenu.h - menuobjectmenuaction.h - menuobjecttoolbar.h - menumanager.h - menuobjectconnection.h - plugin.h - plugintype.h - signalplugin.h - abstractplugin.h - plugininstantiatormodel.h - plugindefinition.h - pluginmanager.h - attachableframe.h - windowmanager.h - windowdefinition.h - frameattachmentpoint.h - aboutdialog.h - treeitem.h - numberedactionreceiver.h - guisettings_pluginsettings.h - guisettings_simulationsettings.h - namedactionreceiver.h - matrixwidget.h - toolseparatorbutton.h - vector3widget.h - vector4widget.h - vector2x3widget.h - typedlineedit.h - libraryloader.h - carbon.h - settingsdialog.h - settingswidget.h - plugindialog.h - settings.h - setupdialog.h - abstractcommandqueue.h - guisimcontrol.h - isimcontrol.h - sparkcontext.h - simspark.h - sparkproperty.h - sparkpropertycontrolbasic.h - sparkpropertydata.h - sparkpropertytablewidget.h - abstractcommand.h - sparkcontroller.h - sparkcommands.h - sparkcommandqueue.h - sparktreemodel.h - sparktreeview.h - sparkpropertylist.h - sparkpropertywidget.h - sparkpropertycontrol.h - sparkpropertyexecuter.h - sparkpropertymanager.h - inputqt.h - glwidget.h - openglmanager.h - topicregistration.h - communicationmanager.h - topic.h - ) - -set(carbon_SOURCES - cutelogger/abstractappender.cpp - cutelogger/abstractstringappender.cpp - cutelogger/consoleappender.cpp - cutelogger/debugappender.cpp - cutelogger/fileappender.cpp - cutelogger/functionappender.cpp - cutelogger/imessagereceiver.cpp - cutelogger/logger.cpp - cutelogger/logmessage.cpp - cutelogger/logstream.cpp - cutelogger/logstreambuffer.cpp - cutelogger/messageobjectappender.cpp - cutelogger/messagereceiverappender.cpp - pluginthread.cpp - process.cpp - sparkprocess.cpp - simulationprocess.cpp - serverthread.cpp - simulationmanager.cpp - simulationsetup.cpp - simulation.cpp - simulationtask.cpp - simulationthread.cpp - sparksimulationthread.cpp - taskdefinition.cpp - menumanager.cpp - menuobject.cpp - menuobjectcall.cpp - menuobjectconnection.cpp - menuobjectfile.cpp - menuobjectmenu.cpp - menuobjectmenuaction.cpp - menuobjecttoolbar.cpp - abstractplugin.cpp - attachableframe.cpp - plugininstantiatormodel.cpp - plugindefinition.cpp - plugin.cpp - pluginmanager.cpp - plugintype.cpp - signalplugin.cpp - frameattachmentpoint.cpp - windowdefinition.cpp - windowmanager.cpp - aboutdialog.cpp - guisettings_pluginsettings.cpp - matrixwidget.cpp - namedactionreceiver.cpp - guisettings_simulationsettings.cpp - numberedactionreceiver.cpp - toolseparatorbutton.cpp - treeitem.cpp - typedlineedit.cpp - vector2x3widget.cpp - vector3widget.cpp - vector4widget.cpp - libraryloader.cpp - carbon.cpp - plugindialog.cpp - settings.cpp - settingsdialog.cpp - settingswidget.cpp - setupdialog.cpp - abstractcommand.cpp - abstractcommandqueue.cpp - guisimcontrol.cpp - guisimcontrol_c.cpp - isimcontrol.cpp - sparkcontext.cpp - sparkcontroller.cpp - sparkcommandqueue.cpp - sparkcommands.cpp - simspark.cpp - sparkproperty.cpp - sparkpropertycontrol.cpp - sparkpropertycontrolbasic.cpp - sparkpropertydata.cpp - sparkpropertyexecuter.cpp - sparkpropertylist.cpp - sparkpropertymanager.cpp - sparkpropertytablewidget.cpp - sparkpropertywidget.cpp - sparktreemodel.cpp - sparktreeview.cpp - glwidget.cpp - inputqt.cpp - openglmanager.cpp - communicationmanager.cpp - topic.cpp - topicregistration.cpp - ) - -set(carbon_FORMS - guisettings_simulationsettings.ui - matrixwidget.ui - guisettings_pluginsettings.ui - about.ui - plugindialog.ui - settingsdialog.ui - setupdialog.ui - sparkpropertywidget.ui - vector3widget.ui - vector4widget.ui - ) - -set(carbon_RESOURCES - imageresources.qrc - ) - -########### Qt properties ############### - -#Additional used libraries -set(QT_USE_QTOPENGL TRUE) -set(QT_USE_QTXML TRUE) - -#Include qt properties -include(${QT_USE_FILE}) -add_definitions(${QT_DEFINITIONS}) - -########### includes and library creation ############### - -#Meta object compiler wrapping of header files, forms and resources -QT4_WRAP_CPP(carbon_QOBJECT_HEADERS_MOC ${carbon_QOBJECT_HEADERS}) -QT4_WRAP_UI(carbon_FORMS_HEADERS ${carbon_FORMS}) -QT4_ADD_RESOURCES(carbon_RESOURCES_RCC ${carbon_RESOURCES}) - -include_directories( - ${CMAKE_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/lib - ${CMAKE_SOURCE_DIR}/utility - ${CMAKE_CURRENT_SOURCE_DIR} - ${FREETYPE_INCLUDE_DIRS} - ${IL_INCLUDE_DIR} - ${OPENGL_INCLUDE_DIR} - ${CMAKE_CURRENT_BINARY_DIR}) #intermediate directory - -add_library(carbon - ${carbon_SOURCES} - ${carbon_QOBJECT_HEADERS_MOC} - ${carbon_HEADERS} - ${carbon_FORMS_HEADERS} - ${carbon_RESOURCES_RCC} - ) - -target_link_libraries(carbon - ${FREETYPE_LIBRARIES} - ${IL_LIBRARIES} - ${OPENGL_LIBRARIES} - ${QT_LIBRARIES} - spark salt zeitgeist oxygen kerosin - ) - -add_definitions(-D_SCL_SECURE_NO_WARNINGS) - -set_target_properties(carbon PROPERTIES VERSION ${CARBON_VERSION} - SOVERSION ${CARBON_SO_VERSION} DEBUG_POSTFIX _debug) -install(TARGETS carbon DESTINATION ${LIBDIR}/${CMAKE_PROJECT_NAME}) - -#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/carbon-config.in ${CMAKE_CURRENT_BINARY_DIR}/carbon-config) - -########### install files ############### - -#install header files from actual directory -install(DIRECTORY ./ - DESTINATION ${INCLUDEDIR}/${CMAKE_PROJECT_NAME}/carbon - FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE) - -#install generated header files (ui_*.h files) -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ - DESTINATION ${INCLUDEDIR}/${CMAKE_PROJECT_NAME}/carbon - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE - PATTERN "carbon.dir" EXCLUDE - PATTERN "CMakeFiles" EXCLUDE - PATTERN "Debug" EXCLUDE - PATTERN "Release" EXCLUDE) +########### moc target files ############### +set(carbon_QOBJECT_HEADERS + cutelogger/imessagereceiver.h + process.h + pluginthread.h + simulationprocess.h + simulationmanager.h + serverthread.h + signalplugin.h + simulationsetup.h + simulation.h + simulationthread.h + sparksimulationthread.h + simulationtask.h + taskdefinition.h + menumanager.h + menuobjectconnection.h + plugininstantiatormodel.h + plugindefinition.h + pluginmanager.h + attachableframe.h + windowdefinition.h + frameattachmentpoint.h + numberedactionreceiver.h + guisettings_pluginsettings.h + guisettings_simulationsettings.h + namedactionreceiver.h + matrixwidget.h + toolseparatorbutton.h + vector3widget.h + vector4widget.h + vector2x3widget.h + typedlineedit.h + carbon.h + settingsdialog.h + settingswidget.h + plugindialog.h + settings.h + setupdialog.h + abstractcommand.h + sparkcontroller.h + sparkcommands.h + sparktreemodel.h + sparktreeview.h + sparkpropertylist.h + sparkpropertywidget.h + sparkpropertycontrol.h + sparkpropertyexecuter.h + sparkpropertymanager.h + glwidget.h + openglmanager.h + communicationmanager.h + topic.h + ) + +set(carbon_HEADERS + cutelogger/abstractappender.h + cutelogger/abstractstringappender.h + cutelogger/consoleappender.h + cutelogger/debugappender.h + cutelogger/fileappender.h + cutelogger/functionappender.h + cutelogger/logger.h + cutelogger/logmessage.h + cutelogger/logstream.h + cutelogger/logstreambuffer.h + cutelogger/messageobjectappender.h + cutelogger/messagereceiverappender.h + cutelogger/imessagereceiver.h + sparkprocess.h + process.h + pluginthread.h + simulationprocess.h + simulationmanager.h + serverthread.h + simulationsetup.h + simulation.h + simulationthread.h + sparksimulationthread.h + simulationtask.h + taskdefinition.h + menuobject.h + menuobjectcall.h + menuobjectfile.h + menuobjectmenu.h + menuobjectmenuaction.h + menuobjecttoolbar.h + menumanager.h + menuobjectconnection.h + plugin.h + plugintype.h + signalplugin.h + abstractplugin.h + plugininstantiatormodel.h + plugindefinition.h + pluginmanager.h + attachableframe.h + windowmanager.h + windowdefinition.h + frameattachmentpoint.h + aboutdialog.h + treeitem.h + numberedactionreceiver.h + guisettings_pluginsettings.h + guisettings_simulationsettings.h + namedactionreceiver.h + matrixwidget.h + toolseparatorbutton.h + vector3widget.h + vector4widget.h + vector2x3widget.h + typedlineedit.h + libraryloader.h + carbon.h + settingsdialog.h + settingswidget.h + plugindialog.h + settings.h + setupdialog.h + abstractcommandqueue.h + guisimcontrol.h + isimcontrol.h + sparkcontext.h + simspark.h + sparkproperty.h + sparkpropertycontrolbasic.h + sparkpropertydata.h + sparkpropertytablewidget.h + abstractcommand.h + sparkcontroller.h + sparkcommands.h + sparkcommandqueue.h + sparktreemodel.h + sparktreeview.h + sparkpropertylist.h + sparkpropertywidget.h + sparkpropertycontrol.h + sparkpropertyexecuter.h + sparkpropertymanager.h + inputqt.h + glwidget.h + openglmanager.h + topicregistration.h + communicationmanager.h + topic.h + ) + +set(carbon_SOURCES + cutelogger/abstractappender.cpp + cutelogger/abstractstringappender.cpp + cutelogger/consoleappender.cpp + cutelogger/debugappender.cpp + cutelogger/fileappender.cpp + cutelogger/functionappender.cpp + cutelogger/imessagereceiver.cpp + cutelogger/logger.cpp + cutelogger/logmessage.cpp + cutelogger/logstream.cpp + cutelogger/logstreambuffer.cpp + cutelogger/messageobjectappender.cpp + cutelogger/messagereceiverappender.cpp + pluginthread.cpp + process.cpp + sparkprocess.cpp + simulationprocess.cpp + serverthread.cpp + simulationmanager.cpp + simulationsetup.cpp + simulation.cpp + simulationtask.cpp + simulationthread.cpp + sparksimulationthread.cpp + taskdefinition.cpp + menumanager.cpp + menuobject.cpp + menuobjectcall.cpp + menuobjectconnection.cpp + menuobjectfile.cpp + menuobjectmenu.cpp + menuobjectmenuaction.cpp + menuobjecttoolbar.cpp + abstractplugin.cpp + attachableframe.cpp + plugininstantiatormodel.cpp + plugindefinition.cpp + plugin.cpp + pluginmanager.cpp + plugintype.cpp + signalplugin.cpp + frameattachmentpoint.cpp + windowdefinition.cpp + windowmanager.cpp + aboutdialog.cpp + guisettings_pluginsettings.cpp + matrixwidget.cpp + namedactionreceiver.cpp + guisettings_simulationsettings.cpp + numberedactionreceiver.cpp + toolseparatorbutton.cpp + treeitem.cpp + typedlineedit.cpp + vector2x3widget.cpp + vector3widget.cpp + vector4widget.cpp + libraryloader.cpp + carbon.cpp + plugindialog.cpp + settings.cpp + settingsdialog.cpp + settingswidget.cpp + setupdialog.cpp + abstractcommand.cpp + abstractcommandqueue.cpp + guisimcontrol.cpp + guisimcontrol_c.cpp + isimcontrol.cpp + sparkcontext.cpp + sparkcontroller.cpp + sparkcommandqueue.cpp + sparkcommands.cpp + simspark.cpp + sparkproperty.cpp + sparkpropertycontrol.cpp + sparkpropertycontrolbasic.cpp + sparkpropertydata.cpp + sparkpropertyexecuter.cpp + sparkpropertylist.cpp + sparkpropertymanager.cpp + sparkpropertytablewidget.cpp + sparkpropertywidget.cpp + sparktreemodel.cpp + sparktreeview.cpp + glwidget.cpp + inputqt.cpp + openglmanager.cpp + communicationmanager.cpp + topic.cpp + topicregistration.cpp + ) + +set(carbon_FORMS + guisettings_simulationsettings.ui + matrixwidget.ui + guisettings_pluginsettings.ui + about.ui + plugindialog.ui + settingsdialog.ui + setupdialog.ui + sparkpropertywidget.ui + vector3widget.ui + vector4widget.ui + ) + +set(carbon_RESOURCES + imageresources.qrc + ) + +########### Qt properties ############### + +#Additional used libraries +set(QT_USE_QTOPENGL TRUE) +set(QT_USE_QTXML TRUE) + +#Include qt properties +include(${QT_USE_FILE}) +add_definitions(${QT_DEFINITIONS}) + +########### includes and library creation ############### + +#Meta object compiler wrapping of header files, forms and resources +QT4_WRAP_CPP(carbon_QOBJECT_HEADERS_MOC ${carbon_QOBJECT_HEADERS}) +QT4_WRAP_UI(carbon_FORMS_HEADERS ${carbon_FORMS}) +QT4_ADD_RESOURCES(carbon_RESOURCES_RCC ${carbon_RESOURCES}) + +include_directories( + ${CMAKE_SOURCE_DIR} + ${CMAKE_SOURCE_DIR}/lib + ${CMAKE_SOURCE_DIR}/utility + ${CMAKE_CURRENT_SOURCE_DIR} + ${FREETYPE_INCLUDE_DIRS} + ${IL_INCLUDE_DIR} + ${OPENGL_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR}) #intermediate directory + +add_library(carbon + ${carbon_SOURCES} + ${carbon_QOBJECT_HEADERS_MOC} + ${carbon_HEADERS} + ${carbon_FORMS_HEADERS} + ${carbon_RESOURCES_RCC} + ) + +target_link_libraries(carbon + ${FREETYPE_LIBRARIES} + ${IL_LIBRARIES} + ${OPENGL_LIBRARIES} + ${QT_LIBRARIES} + spark salt zeitgeist oxygen kerosin + ) + +add_definitions(-D_SCL_SECURE_NO_WARNINGS) + +set_target_properties(carbon PROPERTIES VERSION ${CARBON_VERSION} + SOVERSION ${CARBON_SO_VERSION} DEBUG_POSTFIX _debug) +install(TARGETS carbon DESTINATION ${LIBDIR}/${CMAKE_PROJECT_NAME}) + +#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/carbon-config.in ${CMAKE_CURRENT_BINARY_DIR}/carbon-config) + +########### install files ############### + +#install header files from actual directory +install(DIRECTORY ./ + DESTINATION ${INCLUDEDIR}/${CMAKE_PROJECT_NAME}/carbon + FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE) + +#install generated header files (ui_*.h files) +install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ + DESTINATION ${INCLUDEDIR}/${CMAKE_PROJECT_NAME}/carbon + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE + PATTERN "carbon.dir" EXCLUDE + PATTERN "CMakeFiles" EXCLUDE + PATTERN "Debug" EXCLUDE + PATTERN "Release" EXCLUDE) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |