- Timestamp:
- Jun 14, 2009, 11:24:42 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/pch/src/orxonox/objects/worldentities/WorldEntity.h
r3077 r3163 75 75 76 76 public: 77 // Define our own transform space enum to avoid Ogre includes here 78 /** 79 @brief 80 Enumeration denoting the spaces which a transform can be relative to. 81 */ 82 enum TransformSpace 83 { 84 //! Transform is relative to the local space 85 Local, 86 //! Transform is relative to the space of the parent node 87 Parent, 88 //! Transform is relative to world space 89 World 90 }; 91 92 public: 77 93 WorldEntity(BaseObject* creator); 78 94 virtual ~WorldEntity(); … … 97 113 const Vector3& getWorldPosition() const; 98 114 99 void translate(const Vector3& distance, TransformSpace ::Enum relativeTo = TransformSpace::Parent);100 inline void translate(float x, float y, float z, TransformSpace ::Enum relativeTo = TransformSpace::Parent)115 void translate(const Vector3& distance, TransformSpace relativeTo = WorldEntity::Parent); 116 inline void translate(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Parent) 101 117 { this->translate(Vector3(x, y, z), relativeTo); } 102 118 … … 114 130 const Quaternion& getWorldOrientation() const; 115 131 116 void rotate(const Quaternion& rotation, TransformSpace ::Enum relativeTo = TransformSpace::Local);117 inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)132 void rotate(const Quaternion& rotation, TransformSpace relativeTo = WorldEntity::Local); 133 inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 118 134 { this->rotate(Quaternion(angle, axis), relativeTo); } 119 135 120 inline void yaw(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)136 inline void yaw(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 121 137 { this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); } 122 inline void pitch(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)138 inline void pitch(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 123 139 { this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); } 124 inline void roll(const Degree& angle, TransformSpace ::Enum relativeTo = TransformSpace::Local)140 inline void roll(const Degree& angle, TransformSpace relativeTo = WorldEntity::Local) 125 141 { this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); } 126 142 127 void lookAt(const Vector3& target, TransformSpace ::Enum relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);128 void setDirection(const Vector3& direction, TransformSpace ::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);129 inline void setDirection(float x, float y, float z, TransformSpace ::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)143 void lookAt(const Vector3& target, TransformSpace relativeTo = WorldEntity::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); 144 void setDirection(const Vector3& direction, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z); 145 inline void setDirection(float x, float y, float z, TransformSpace relativeTo = WorldEntity::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z) 130 146 { this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); } 131 147
Note: See TracChangeset
for help on using the changeset viewer.