- Timestamp:
- Oct 21, 2008, 4:56:41 PM (16 years ago)
- Location:
- code/branches/objecthierarchy/src/orxonox/objects/worldentities
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/objecthierarchy/src/orxonox/objects/worldentities/MovableEntity.cc
r1968 r1989 44 44 RegisterObject(MovableEntity); 45 45 46 this->velocity_ = Vector3::ZERO; 47 this->acceleration_ = Vector3::ZERO; 48 this->rotationAxis_ = Vector3::ZERO; 49 this->rotationRate_ = 0; 50 this->momentum_ = 0; 51 52 this->overwrite_position_ = Vector3::ZERO; 53 this->overwrite_orientation_ = Quaternion::IDENTITY; 54 46 55 this->registerVariables(); 47 56 } … … 57 66 XMLPortParamTemplate(MovableEntity, "velocity", setVelocity, getVelocity, xmlelement, mode, const Vector3&); 58 67 XMLPortParamTemplate(MovableEntity, "rotationaxis", setRotationAxis, getRotationAxis, xmlelement, mode, const Vector3&); 59 XMLPortParamTemplate(MovableEntity, "rotationrate", setRotationRate, getRotationRate, xmlelement, mode, const Radian&);68 XMLPortParamTemplate(MovableEntity, "rotationrate", setRotationRate, getRotationRate, xmlelement, mode, const Degree&); 60 69 } 61 70 … … 139 148 } 140 149 141 void MovableEntity::yaw(const Radian& angle, Ogre::Node::TransformSpace relativeTo)150 void MovableEntity::yaw(const Degree& angle, Ogre::Node::TransformSpace relativeTo) 142 151 { 143 152 this->node_->yaw(angle, relativeTo); … … 145 154 } 146 155 147 void MovableEntity::pitch(const Radian& angle, Ogre::Node::TransformSpace relativeTo)156 void MovableEntity::pitch(const Degree& angle, Ogre::Node::TransformSpace relativeTo) 148 157 { 149 158 this->node_->pitch(angle, relativeTo); … … 151 160 } 152 161 153 void MovableEntity::roll(const Radian& angle, Ogre::Node::TransformSpace relativeTo)162 void MovableEntity::roll(const Degree& angle, Ogre::Node::TransformSpace relativeTo) 154 163 { 155 164 this->node_->roll(angle, relativeTo); -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/MovableEntity.h
r1968 r1989 59 59 void setOrientation(const Quaternion& orientation); 60 60 void rotate(const Quaternion& rotation, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL); 61 void yaw(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL);62 void pitch(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL);63 void roll(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL);61 void yaw(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL); 62 void pitch(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL); 63 void roll(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL); 64 64 void lookAt(const Vector3& target, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); 65 65 void setDirection(const Vector3& direction, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); … … 86 86 { return this->rotationAxis_; } 87 87 88 inline void setRotationRate(const Degree& angle) 89 { this->rotationRate_ = angle; } 88 90 inline void setRotationRate(const Radian& angle) 89 91 { this->rotationRate_ = angle; } 90 inline void setRotationRate(const Degree& angle) 91 { this->rotationRate_ = angle; } 92 inline const Radian& getRotationRate() const 92 inline const Degree& getRotationRate() const 93 93 { return this->rotationRate_; } 94 94 95 inline void setMomentum(const Degree& angle) 96 { this->momentum_ = angle; } 95 97 inline void setMomentum(const Radian& angle) 96 98 { this->momentum_ = angle; } 97 inline void setMomentum(const Degree& angle) 98 { this->momentum_ = angle; } 99 inline const Radian& getMomentum() const 99 inline const Degree& getMomentum() const 100 100 { return this->momentum_; } 101 101 … … 111 111 Vector3 acceleration_; 112 112 Vector3 rotationAxis_; 113 RadianrotationRate_;114 Radianmomentum_;113 Degree rotationRate_; 114 Degree momentum_; 115 115 116 116 Vector3 overwrite_position_; -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/PositionableEntity.h
r1968 r1989 58 58 inline void rotate(const Quaternion& rotation, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 59 59 { this->node_->rotate(rotation, relativeTo); } 60 inline void yaw(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL)60 inline void yaw(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 61 61 { this->node_->yaw(angle, relativeTo); } 62 inline void pitch(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL)62 inline void pitch(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 63 63 { this->node_->pitch(angle, relativeTo); } 64 inline void roll(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL)64 inline void roll(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 65 65 { this->node_->roll(angle, relativeTo); } 66 66 inline void lookAt(const Vector3& target, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z) -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/WorldEntity.cc
r1948 r1989 39 39 namespace orxonox 40 40 { 41 const Vector3 WorldEntity::FRONT = Vector3::NEGATIVE_UNIT_Z; 42 const Vector3 WorldEntity::BACK = Vector3::UNIT_Z; 43 const Vector3 WorldEntity::LEFT = Vector3::NEGATIVE_UNIT_X; 44 const Vector3 WorldEntity::RIGHT = Vector3::UNIT_X; 45 const Vector3 WorldEntity::DOWN = Vector3::NEGATIVE_UNIT_Y; 46 const Vector3 WorldEntity::UP = Vector3::UNIT_Y; 47 41 48 WorldEntity::WorldEntity() 42 49 { … … 46 53 this->parent_ = 0; 47 54 this->parentID_ = (unsigned int)-1; 55 56 this->node_->setPosition(Vector3::ZERO); 57 this->node_->setOrientation(Quaternion::IDENTITY); 48 58 49 59 this->registerVariables(); -
code/branches/objecthierarchy/src/orxonox/objects/worldentities/WorldEntity.h
r1940 r1989 54 54 { return this->node_; } 55 55 56 static const Vector3 FRONT; 57 static const Vector3 BACK; 58 static const Vector3 LEFT; 59 static const Vector3 RIGHT; 60 static const Vector3 DOWN; 61 static const Vector3 UP; 62 56 63 virtual void setPosition(const Vector3& position) = 0; 57 64 inline void setPosition(float x, float y, float z) … … 71 78 inline void setOrientation(const Vector3& axis, const Radian& angle) 72 79 { this->setOrientation(Quaternion(angle, axis)); } 80 inline void setOrientation(const Vector3& axis, const Degree& angle) 81 { this->setOrientation(Quaternion(angle, axis)); } 73 82 inline const Quaternion& getOrientation() const 74 83 { return this->node_->getOrientation(); } … … 77 86 78 87 virtual void rotate(const Quaternion& rotation, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 88 inline void rotate(const Vector3& axis, const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 89 { this->rotate(Quaternion(angle, axis), relativeTo); } 79 90 inline void rotate(const Vector3& axis, const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 80 91 { this->rotate(Quaternion(angle, axis), relativeTo); } 81 92 82 virtual void yaw(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 83 virtual void pitch(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 84 virtual void roll(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 93 virtual void yaw(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 94 inline void yaw(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 95 { this->yaw(Degree(angle), relativeTo); } 96 virtual void pitch(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 97 inline void pitch(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 98 { this->pitch(Degree(angle), relativeTo); } 99 virtual void roll(const Degree& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) = 0; 100 inline void roll(const Radian& angle, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL) 101 { this->roll(Degree(angle), relativeTo); } 85 102 86 103 virtual void lookAt(const Vector3& target, Ogre::Node::TransformSpace relativeTo = Ogre::Node::TS_LOCAL, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z) = 0; … … 131 148 inline void setDirection_xmlport(const Vector3& direction) 132 149 { this->setDirection(direction); } 133 inline void yaw_xmlport(const Radian& angle)150 inline void yaw_xmlport(const Degree& angle) 134 151 { this->yaw(angle); } 135 inline void pitch_xmlport(const Radian& angle)152 inline void pitch_xmlport(const Degree& angle) 136 153 { this->pitch(angle); } 137 inline void roll_xmlport(const Radian& angle)154 inline void roll_xmlport(const Degree& angle) 138 155 { this->roll(angle); } 139 156
Note: See TracChangeset
for help on using the changeset viewer.