[Orxonox-commit 6347] r11004 - in code/branches/cpp11_v2/src: modules/objects modules/towerdefense modules/weapons/projectiles orxonox/worldentities orxonox/worldentities/pawns
landauf at orxonox.net
landauf at orxonox.net
Wed Dec 30 22:07:10 CET 2015
Author: landauf
Date: 2015-12-30 22:07:09 +0100 (Wed, 30 Dec 2015)
New Revision: 11004
Modified:
code/branches/cpp11_v2/src/modules/objects/Turret.cc
code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseEnemy.cc
code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseTower.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/GravityBomb.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/IceGunProjectile.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/LightningGunProjectile.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/Projectile.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/Rocket.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/RocketOld.cc
code/branches/cpp11_v2/src/modules/weapons/projectiles/SimpleRocket.cc
code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc
code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc
code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc
code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc
code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h
code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc
code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc
Log:
using strongly typed enum class in WorldEntity
Modified: code/branches/cpp11_v2/src/modules/objects/Turret.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/objects/Turret.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/objects/Turret.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -277,7 +277,7 @@
//TODO: make the rotation better (constant velocity etc.). At the moment, the turret rotates
//slower the closer it is to the destination
Quaternion drot = Quaternion::nlerp(dt*this->rotationThrust_/20.f, Quaternion::IDENTITY, this->rotation_);
- this->rotate(drot, WorldEntity::World);
+ this->rotate(drot, WorldEntity::TransformSpace::World);
this->rotation_ = Quaternion::IDENTITY;
}
Modified: code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseEnemy.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseEnemy.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseEnemy.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -26,7 +26,7 @@
{
RegisterObject(TowerDefenseEnemy);
- this->setCollisionType(WorldEntity::Dynamic);
+ this->setCollisionType(WorldEntity::CollisionType::Dynamic);
//needed to keep track of the PlayerStats coded in TowerDefense.h
this->td = orxonox_cast<TowerDefense*>(this->getGametype());
once_ = false;
Modified: code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseTower.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseTower.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/towerdefense/TowerDefenseTower.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -25,7 +25,7 @@
{
RegisterObject(TowerDefenseTower);
game_ =nullptr;
- this->setCollisionType(WorldEntity::None);
+ this->setCollisionType(WorldEntity::CollisionType::None);
upgrade = 1;
//this->removeAllEngines();
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/GravityBomb.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/GravityBomb.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/GravityBomb.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -27,7 +27,7 @@
//Define CollisionType of the bomb
this->timeToLife_= LIFETIME;
this->setCollisionResponse(false);
- this->setCollisionType(WorldEntity::Dynamic);
+ this->setCollisionType(WorldEntity::CollisionType::Dynamic);
this->enableCollisionCallback();
//Add Collision Shape
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/IceGunProjectile.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/IceGunProjectile.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/IceGunProjectile.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -88,7 +88,7 @@
Vector3 offset = this->getWorldPosition() - otherObject->getWorldPosition();
freezer->setPosition(Vector3(0,0,0));
- freezer->translate(offset, WorldEntity::World);
+ freezer->translate(offset, WorldEntity::TransformSpace::World);
// Start the freezing effect.
freezer->startFreezing();
}
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/LightningGunProjectile.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/LightningGunProjectile.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/LightningGunProjectile.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -47,7 +47,7 @@
this->textureIndex_ = 1;
this->setMass(2);
- this->setCollisionType(Dynamic);
+ this->setCollisionType(CollisionType::Dynamic);
this->maxTextureIndex_ = 8;
this->textureTimer_.setTimer(0.01f, true, createExecutor(createFunctor(&LightningGunProjectile::changeTexture, this)));
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/Projectile.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/Projectile.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/Projectile.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -56,7 +56,7 @@
this->setMass(1.0f);
this->enableCollisionCallback();
this->setCollisionResponse(false);
- this->setCollisionType(Dynamic);
+ this->setCollisionType(CollisionType::Dynamic);
// Create a sphere collision shape and attach it to the projectile.
collisionShape_ = new SphereCollisionShape(this->getContext());
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/Rocket.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/Rocket.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/Rocket.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -69,7 +69,7 @@
if (GameMode::isMaster())
{
- this->setCollisionType(WorldEntity::Kinematic);
+ this->setCollisionType(WorldEntity::CollisionType::Kinematic);
this->setVelocity(0,0,-100);
// Create rocket model
@@ -91,7 +91,7 @@
this->enableCollisionCallback();
this->setCollisionResponse(false);
- this->setCollisionType(Kinematic);
+ this->setCollisionType(CollisionType::Kinematic);
// Add collision shape
ConeCollisionShape* collisionShape = new ConeCollisionShape(this->getContext());
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/RocketOld.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/RocketOld.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/RocketOld.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -69,7 +69,7 @@
if (GameMode::isMaster())
{
- this->setCollisionType(WorldEntity::Kinematic);
+ this->setCollisionType(WorldEntity::CollisionType::Kinematic);
this->setVelocity(0,0,-100);
// Create RocketOld model
@@ -91,7 +91,7 @@
this->enableCollisionCallback();
this->setCollisionResponse(false);
- this->setCollisionType(Kinematic);
+ this->setCollisionType(CollisionType::Kinematic);
// Add collision shape
ConeCollisionShape* collisionShape = new ConeCollisionShape(this->getContext());
Modified: code/branches/cpp11_v2/src/modules/weapons/projectiles/SimpleRocket.cc
===================================================================
--- code/branches/cpp11_v2/src/modules/weapons/projectiles/SimpleRocket.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/modules/weapons/projectiles/SimpleRocket.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -69,7 +69,7 @@
if (GameMode::isMaster())
{
- this->setCollisionType(WorldEntity::Kinematic);
+ this->setCollisionType(WorldEntity::CollisionType::Kinematic);
this->fuel_ = true;
// Create rocket model.
@@ -86,7 +86,7 @@
this->fire_->setSource("Orxonox/simplerocketfire");
this->enableCollisionCallback();
this->setCollisionResponse(false);
- this->setCollisionType(Kinematic);
+ this->setCollisionType(CollisionType::Kinematic);
// Add collision shape.
// TODO: fix the orientation and size of this collision shape to match the rocket
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/Drone.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -48,7 +48,7 @@
this->localLinearAcceleration_.setValue(0, 0, 0);
this->localAngularAcceleration_.setValue(0, 0, 0);
this->setRadarVisibility(false);
- this->setCollisionType(WorldEntity::Dynamic);
+ this->setCollisionType(WorldEntity::CollisionType::Dynamic);
myController_ = new DroneController(this->getContext()); //!< Creates a new controller and passes our this pointer to it as creator.
myController_->setDrone(this);
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/MobileEntity.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -188,7 +188,7 @@
bool MobileEntity::isCollisionTypeLegal(WorldEntity::CollisionType type) const
{
- if (type == WorldEntity::Static)
+ if (type == WorldEntity::CollisionType::Static)
{
orxout(internal_warning) << "Cannot tell a MobileEntity to have static collision type! Ignoring." << endl;
assert(false); // Only in debug mode
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/StaticEntity.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -94,7 +94,7 @@
bool StaticEntity::isCollisionTypeLegal(WorldEntity::CollisionType type) const
{
- if (type == WorldEntity::Kinematic || type == WorldEntity::Dynamic)
+ if (type == WorldEntity::CollisionType::Kinematic || type == WorldEntity::CollisionType::Dynamic)
{
orxout(internal_warning) << "Cannot tell a StaticEntity to have kinematic or dynamic collision type! Ignoring." << endl;
assert(false); // Only in debug mode
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -55,9 +55,9 @@
const Vector3 WorldEntity::UP = Vector3::UNIT_Y;
// Be sure we don't do bad conversions
- static_assert((int)Ogre::Node::TS_LOCAL == (int)WorldEntity::Local, "check enum");
- static_assert((int)Ogre::Node::TS_PARENT == (int)WorldEntity::Parent, "check enum");
- static_assert((int)Ogre::Node::TS_WORLD == (int)WorldEntity::World, "check enum");
+ static_assert((int)Ogre::Node::TS_LOCAL == (int)WorldEntity::TransformSpace::Local, "check enum");
+ static_assert((int)Ogre::Node::TS_PARENT == (int)WorldEntity::TransformSpace::Parent, "check enum");
+ static_assert((int)Ogre::Node::TS_WORLD == (int)WorldEntity::TransformSpace::World, "check enum");
RegisterAbstractClass(WorldEntity).inheritsFrom<BaseObject>().inheritsFrom<Synchronisable>();
@@ -94,8 +94,8 @@
this->bPhysicsActiveBeforeAttaching_ = false;
this->collisionShape_ = new WorldEntityCollisionShape(this->getContext());
this->collisionShape_->setWorldEntityOwner(this);
- this->collisionType_ = None;
- this->collisionTypeSynchronised_ = None;
+ this->collisionType_ = CollisionType::None;
+ this->collisionTypeSynchronised_ = CollisionType::None;
this->mass_ = 1.0f;
this->childrenMass_ = 0;
// Using bullet default values
@@ -206,7 +206,7 @@
VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionCallbackActivityChanged));
registerVariable(this->bCollisionResponseActive_,
VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionResponseActivityChanged));
- registerVariable((int&)this->collisionTypeSynchronised_,
+ registerVariable(this->collisionTypeSynchronised_,
VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::collisionTypeChanged));
registerVariable(this->bPhysicsActiveSynchronised_,
VariableDirection::ToClient, new NetworkCallback<WorldEntity>(this, &WorldEntity::physicsActivityChanged));
@@ -321,10 +321,10 @@
*/
void WorldEntity::collisionTypeChanged()
{
- if (this->collisionTypeSynchronised_ != Dynamic &&
- this->collisionTypeSynchronised_ != Kinematic &&
- this->collisionTypeSynchronised_ != Static &&
- this->collisionTypeSynchronised_ != None)
+ if (this->collisionTypeSynchronised_ != CollisionType::Dynamic &&
+ this->collisionTypeSynchronised_ != CollisionType::Kinematic &&
+ this->collisionTypeSynchronised_ != CollisionType::Static &&
+ this->collisionTypeSynchronised_ != CollisionType::None)
{
orxout(internal_error) << "Error when collsion Type was received over network. Unknown enum value:" << this->collisionTypeSynchronised_ << endl;
}
@@ -680,14 +680,14 @@
{
switch (relativeTo)
{
- case WorldEntity::Local:
+ case TransformSpace::Local:
// position is relative to parent so transform downwards
this->setPosition(this->getPosition() + this->getOrientation() * distance);
break;
- case WorldEntity::Parent:
+ case TransformSpace::Parent:
this->setPosition(this->getPosition() + distance);
break;
- case WorldEntity::World:
+ case TransformSpace::World:
// position is relative to parent so transform upwards
if (this->node_->getParent())
setPosition(getPosition() + (node_->getParent()->_getDerivedOrientation().Inverse() * distance)
@@ -710,14 +710,14 @@
{
switch(relativeTo)
{
- case WorldEntity::Local:
+ case TransformSpace::Local:
this->setOrientation(this->getOrientation() * rotation);
break;
- case WorldEntity::Parent:
+ case TransformSpace::Parent:
// Rotations are normally relative to local axes, transform up
this->setOrientation(rotation * this->getOrientation());
break;
- case WorldEntity::World:
+ case TransformSpace::World:
// Rotations are normally relative to local axes, transform up
this->setOrientation(this->getOrientation() * this->getWorldOrientation().Inverse()
* rotation * this->getWorldOrientation());
@@ -740,13 +740,13 @@
Vector3 origin(0, 0, 0);
switch (relativeTo)
{
- case WorldEntity::Local:
+ case TransformSpace::Local:
origin = Vector3::ZERO;
break;
- case WorldEntity::Parent:
+ case TransformSpace::Parent:
origin = this->getPosition();
break;
- case WorldEntity::World:
+ case TransformSpace::World:
origin = this->getWorldPosition();
break;
}
@@ -830,7 +830,7 @@
bReactivatePhysics = false;
// Check whether we have to create or destroy.
- if (type != None && this->collisionType_ == None)
+ if (type != CollisionType::None && this->collisionType_ == CollisionType::None)
{
/*
HACK HACK HACK
@@ -848,31 +848,31 @@
this->physicalBody_->setUserPointer(this);
this->physicalBody_->setActivationState(DISABLE_DEACTIVATION);
}
- else if (type == None && this->collisionType_ != None)
+ else if (type == CollisionType::None && this->collisionType_ != CollisionType::None)
{
// Destroy rigid body
assert(this->physicalBody_);
deactivatePhysics();
delete this->physicalBody_;
this->physicalBody_ = nullptr;
- this->collisionType_ = None;
- this->collisionTypeSynchronised_ = None;
+ this->collisionType_ = CollisionType::None;
+ this->collisionTypeSynchronised_ = CollisionType::None;
return;
}
// Change type
switch (type)
{
- case Dynamic:
+ case CollisionType::Dynamic:
this->physicalBody_->setCollisionFlags(this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT & !btCollisionObject::CF_KINEMATIC_OBJECT);
break;
- case Kinematic:
+ case CollisionType::Kinematic:
this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_STATIC_OBJECT) | btCollisionObject::CF_KINEMATIC_OBJECT);
break;
- case Static:
+ case CollisionType::Static:
this->physicalBody_->setCollisionFlags((this->physicalBody_->getCollisionFlags() & !btCollisionObject::CF_KINEMATIC_OBJECT) | btCollisionObject::CF_STATIC_OBJECT);
break;
- case None:
+ case CollisionType::None:
assert(false); // Doesn't happen
return;
}
@@ -894,13 +894,13 @@
const std::string& typeStrLower = getLowercase(typeStr);
CollisionType type;
if (typeStrLower == "dynamic")
- type = Dynamic;
+ type = CollisionType::Dynamic;
else if (typeStrLower == "static")
- type = Static;
+ type = CollisionType::Static;
else if (typeStrLower == "kinematic")
- type = Kinematic;
+ type = CollisionType::Kinematic;
else if (typeStrLower == "none")
- type = None;
+ type = CollisionType::None;
else
ThrowException(ParseError, std::string("Attempting to set an unknown collision type: '") + typeStr + "'.");
this->setCollisionType(type);
@@ -911,13 +911,13 @@
{
switch (this->getCollisionType())
{
- case Dynamic:
+ case CollisionType::Dynamic:
return "dynamic";
- case Kinematic:
+ case CollisionType::Kinematic:
return "kinematic";
- case Static:
+ case CollisionType::Static:
return "static";
- case None:
+ case CollisionType::None:
return "none";
default:
assert(false);
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/WorldEntity.h 2015-12-30 21:07:09 UTC (rev 11004)
@@ -81,7 +81,7 @@
@brief
Enumeration denoting the spaces which a transform can be relative to.
*/
- enum TransformSpace
+ enum class TransformSpace
{
//! Transform is relative to the local space
Local,
@@ -116,8 +116,8 @@
const Vector3& getPosition() const;
const Vector3& getWorldPosition() const;
- void translate(const Vector3& distance, TransformSpace relativeTo = WorldEntity::Parent);
- inline void translate(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Parent)
+ void translate(const Vector3& distance, TransformSpace relativeTo = TransformSpace::Parent);
+ inline void translate(float x, float y, float z, TransformSpace relativeTo = TransformSpace::Parent)
{ this->translate(Vector3(x, y, z), relativeTo); }
virtual inline const Vector3& getVelocity() const
@@ -133,20 +133,20 @@
const Quaternion& getOrientation() const;
const Quaternion& getWorldOrientation() const;
- void rotate(const Quaternion& rotation, TransformSpace relativeTo = WorldEntity::Local);
- inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+ void rotate(const Quaternion& rotation, TransformSpace relativeTo = TransformSpace::Local);
+ inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
{ this->rotate(Quaternion(angle, axis), relativeTo); }
- inline void yaw(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+ inline void yaw(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); }
- inline void pitch(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+ inline void pitch(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); }
- inline void roll(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local)
+ inline void roll(const Degree& angle, TransformSpace relativeTo = TransformSpace::Local)
{ this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); }
- void lookAt(const Vector3& target, TransformSpace relativeTo = WorldEntity::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
- void setDirection(const Vector3& direction, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
- inline void setDirection(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
+ void lookAt(const Vector3& target, TransformSpace relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+ void setDirection(const Vector3& direction, TransformSpace relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
+ inline void setDirection(float x, float y, float z, TransformSpace relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
{ this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); }
virtual void setScale3D(const Vector3& scale);
@@ -256,7 +256,7 @@
Static: Like kinematic but the object is not allowed to move during the simulation.
None: The object has no physics at all.
*/
- enum CollisionType
+ enum class CollisionType
{
Dynamic,
Kinematic,
@@ -265,13 +265,13 @@
};
//! Tells whether the object has any connection to the Bullet physics engine. If hasPhysics() is false, the object may still have a velocity.
- bool hasPhysics() const { return getCollisionType() != None ; }
+ bool hasPhysics() const { return getCollisionType() != CollisionType::None ; }
//! @see CollisionType
- bool isStatic() const { return getCollisionType() == Static ; }
+ bool isStatic() const { return getCollisionType() == CollisionType::Static ; }
//! @see CollisionType
- bool isKinematic() const { return getCollisionType() == Kinematic; }
+ bool isKinematic() const { return getCollisionType() == CollisionType::Kinematic; }
//! @see CollisionType
- bool isDynamic() const { return getCollisionType() == Dynamic ; }
+ bool isDynamic() const { return getCollisionType() == CollisionType::Dynamic ; }
//! Tells whether physics has been activated (you can temporarily deactivate it)
bool isPhysicsActive() const { return this->bPhysicsActive_; }
bool addedToPhysicalWorld() const;
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/pawns/FpsPlayer.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -78,7 +78,7 @@
// FpsPlayer is always a physical object per default
// Be aware of this call: The collision type legality check will not reach derived classes!
- this->setCollisionType(WorldEntity::Dynamic);
+ this->setCollisionType(WorldEntity::CollisionType::Dynamic);
// Get notification about collisions
this->enableCollisionCallback();
@@ -129,7 +129,7 @@
bool FpsPlayer::isCollisionTypeLegal(WorldEntity::CollisionType type) const
{
- if (type != WorldEntity::Dynamic)
+ if (type != WorldEntity::CollisionType::Dynamic)
{
orxout(internal_warning) << "Cannot tell a FpsPlayer not to be dynamic! Ignoring." << endl;
assert(false); // Only in debug mode
@@ -167,7 +167,7 @@
if (!this->isInMouseLook())
{
- this->yaw(Radian(this->yaw_ * this->getMouseLookSpeed()), WorldEntity::Parent);
+ this->yaw(Radian(this->yaw_ * this->getMouseLookSpeed()), WorldEntity::TransformSpace::Parent);
Radian pitch = this->cameraPositionRootNode_->getOrientation().getPitch();
if (pitch < Radian(math::pi_2) && pitch > Radian(-math::pi_2))
Modified: code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc 2015-12-30 20:24:39 UTC (rev 11003)
+++ code/branches/cpp11_v2/src/orxonox/worldentities/pawns/SpaceShip.cc 2015-12-30 21:07:09 UTC (rev 11004)
@@ -79,7 +79,7 @@
// SpaceShip is always a physical object per default
// Be aware of this call: The collision type legality check will not reach derived classes!
- this->setCollisionType(WorldEntity::Dynamic);
+ this->setCollisionType(WorldEntity::CollisionType::Dynamic);
// Get notification about collisions
this->enableCollisionCallback();
@@ -142,7 +142,7 @@
bool SpaceShip::isCollisionTypeLegal(WorldEntity::CollisionType type) const
{
- if (type != WorldEntity::Dynamic)
+ if (type != WorldEntity::CollisionType::Dynamic)
{
orxout(internal_warning) << "Cannot tell a SpaceShip not to be dynamic! Ignoring." << endl;
assert(false); // Only in debug mode
More information about the Orxonox-commit
mailing list