Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 28, 2008, 7:15:55 PM (15 years ago)
Author:
rgrieder
Message:
  • Renamed TransformSpace::Space to TransformSpace::Enum
  • Small changes and adjustments WorldEntity (Revealed while commenting…)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/presentation/src/orxonox/objects/worldentities/WorldEntity.h

    r2527 r2535  
    4040#include "LinearMath/btMotionState.h"
    4141
     42#include "util/Math.h"
     43#include "core/BaseObject.h"
    4244#include "network/synchronisable/Synchronisable.h"
    43 #include "core/BaseObject.h"
    44 #include "util/Math.h"
     45#include "objects/collisionshapes/CompoundCollisionShape.h"
    4546
    4647namespace orxonox
     
    4849    class _OrxonoxExport WorldEntity : public BaseObject, public Synchronisable, public btMotionState
    4950    {
     51        friend class Scene;
     52
    5053        public:
    5154            WorldEntity(BaseObject* creator);
     
    7174            const Vector3& getWorldPosition() const;
    7275
    73             void translate(const Vector3& distance, TransformSpace::Space relativeTo = TransformSpace::Parent);
    74             inline void translate(float x, float y, float z, TransformSpace::Space relativeTo = TransformSpace::Parent)
     76            void translate(const Vector3& distance, TransformSpace::Enum relativeTo = TransformSpace::Parent);
     77            inline void translate(float x, float y, float z, TransformSpace::Enum relativeTo = TransformSpace::Parent)
    7578                { this->translate(Vector3(x, y, z), relativeTo); }
    7679
     
    8891            const Quaternion& getWorldOrientation() const;
    8992
    90             void rotate(const Quaternion& rotation, TransformSpace::Space relativeTo = TransformSpace::Local);
    91             inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace::Space relativeTo = TransformSpace::Local)
     93            void rotate(const Quaternion& rotation, TransformSpace::Enum relativeTo = TransformSpace::Local);
     94            inline void rotate(const Vector3& axis, const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
    9295                { this->rotate(Quaternion(angle, axis), relativeTo); }
    9396
    94             inline void yaw(const Degree& angle, TransformSpace::Space relativeTo = TransformSpace::Local)
     97            inline void yaw(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
    9598                { this->rotate(Quaternion(angle, Vector3::UNIT_Y), relativeTo); }
    96             inline void pitch(const Degree& angle, TransformSpace::Space relativeTo = TransformSpace::Local)
     99            inline void pitch(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
    97100                { this->rotate(Quaternion(angle, Vector3::UNIT_X), relativeTo); }
    98             inline void roll(const Degree& angle, TransformSpace::Space relativeTo = TransformSpace::Local)
     101            inline void roll(const Degree& angle, TransformSpace::Enum relativeTo = TransformSpace::Local)
    99102                { this->rotate(Quaternion(angle, Vector3::UNIT_Z), relativeTo); }
    100103
    101             void lookAt(const Vector3& target, TransformSpace::Space relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
    102             void setDirection(const Vector3& direction, TransformSpace::Space relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
    103             inline void setDirection(float x, float y, float z, TransformSpace::Space relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
     104            void lookAt(const Vector3& target, TransformSpace::Enum relativeTo = TransformSpace::Parent, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
     105            void setDirection(const Vector3& direction, TransformSpace::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z);
     106            inline void setDirection(float x, float y, float z, TransformSpace::Enum relativeTo = TransformSpace::Local, const Vector3& localDirectionVector = Vector3::NEGATIVE_UNIT_Z)
    104107                { this->setDirection(Vector3(x, y, z), relativeTo, localDirectionVector); }
    105108
     
    127130            void attach(WorldEntity* object);
    128131            void detach(WorldEntity* object);
    129             WorldEntity* getAttachedObject(unsigned int index) const;
     132            WorldEntity* getAttachedObject(unsigned int index);
    130133            inline const std::set<WorldEntity*>& getAttachedObjects() const
    131134                { return this->children_; }
     
    216219
    217220            inline void setRestitution(float restitution)
    218                 { this->restitution_ = restitution; resetPhysicsProps(); }
     221                { this->restitution_ = restitution; internalSetPhysicsProps(); }
    219222            inline float getRestitution() const
    220223                { return this->restitution_; }
    221224
    222225            inline void setAngularFactor(float angularFactor)
    223                 { this->angularFactor_ = angularFactor; resetPhysicsProps(); }
     226                { this->angularFactor_ = angularFactor; internalSetPhysicsProps(); }
    224227            inline float getAngularFactor() const
    225228                { return this->angularFactor_; }
    226229
    227230            inline void setLinearDamping(float linearDamping)
    228                 { this->linearDamping_ = linearDamping; resetPhysicsProps(); }
     231                { this->linearDamping_ = linearDamping; internalSetPhysicsProps(); }
    229232            inline float getLinearDamping() const
    230233                { return this->linearDamping_; }
    231234
    232235            inline void setAngularDamping(float angularDamping)
    233                 { this->angularDamping_ = angularDamping; resetPhysicsProps(); }
     236                { this->angularDamping_ = angularDamping; internalSetPhysicsProps(); }
    234237            inline float getAngularDamping() const
    235238                { return this->angularDamping_; }
    236239
    237240            inline void setFriction(float friction)
    238                 { this->friction_ = friction; resetPhysicsProps(); }
     241                { this->friction_ = friction; internalSetPhysicsProps(); }
    239242            inline float getFriction() const
    240243                { return this->friction_; }
     
    242245            void attachCollisionShape(CollisionShape* shape);
    243246            void detachCollisionShape(CollisionShape* shape);
    244             CollisionShape* getAttachedCollisionShape(unsigned int index) const;
    245 
    246             inline CompoundCollisionShape* getCollisionShape() const
    247                 { return this->collisionShape_; }
    248             inline btRigidBody* getPhysicalBody() const
    249                 { return this->physicalBody_; }
     247            CollisionShape* getAttachedCollisionShape(unsigned int index);
    250248
    251249            void notifyCollisionShapeChanged();
     
    265263            virtual bool isCollisionTypeLegal(CollisionType type) const = 0;
    266264
    267             btRigidBody*  physicalBody_;
     265            btRigidBody* physicalBody_;
    268266
    269267        private:
    270268            void updateCollisionType();
    271269            void recalculateMassProps();
    272             void resetPhysicsProps();
     270            void internalSetPhysicsProps();
    273271
    274272            bool notifyBeingAttached(WorldEntity* newParent);
     
    297295            bool                         bPhysicsActiveSynchronised_;
    298296            bool                         bPhysicsActiveBeforeAttaching_;
    299             CompoundCollisionShape*      collisionShape_;
     297            CompoundCollisionShape       collisionShape_;
    300298            btScalar                     mass_;
    301299            btVector3                    localInertia_;
Note: See TracChangeset for help on using the changeset viewer.