X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FCharacter.hh;h=96ac499001110bf1882d5f93e3c2634f4aa265b2;hp=b72e8c87e58910d6296218b2eff58696e8ac2ab1;hb=d50942708db230dc5c43b8df89ede45525e1c394;hpb=fdfba4553433b9b2804c2772c7645211b828c2ea diff --git a/src/Character.hh b/src/Character.hh index b72e8c8..96ac499 100644 --- a/src/Character.hh +++ b/src/Character.hh @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include @@ -90,6 +90,11 @@ struct Character : public Mf::Entity Mf::Scalar mass; Mf::Scalar inverseMass; + void recalculate() + { + velocity = momentum * inverseMass; + } + void getDerivative(Derivative& derivative, Mf::Scalar t) const { @@ -99,11 +104,6 @@ struct Character : public Mf::Entity derivative.force = force; } - void recalculate() - { - velocity = momentum * inverseMass; - } - void applyDerivative(const Derivative& derivative, Mf::Scalar dt) { position += dt * derivative.velocity; @@ -111,6 +111,9 @@ struct Character : public Mf::Entity recalculate(); } + // these two operator overloads all using the state in generic + // interpolator implementations + State operator*(Mf::Scalar scalar) const { State state = *this; @@ -133,7 +136,7 @@ struct Character : public Mf::Entity State previous; State current; - stlplus::ntree::iterator treeNode; + Mf::OctreeNodeP treeNode; private: @@ -153,7 +156,7 @@ public: } Character(const std::string& name); - virtual ~Character(); + inline virtual ~Character() {} void update(Mf::Scalar t, Mf::Scalar dt); void handleEvent(const Mf::Event& event); @@ -164,14 +167,15 @@ public: }; -inline Character::State operator*(Mf::Scalar scalar, const Character::State& state) -{ - Character::State newState = state; - newState.position *= scalar; - newState.momentum *= scalar; - newState.recalculate(); - return newState; -} +//inline Character::State operator*(Mf::Scalar scalar, + //const Character::State& state) +//{ + //Character::State newState = state; + //newState.position *= scalar; + //newState.momentum *= scalar; + //newState.recalculate(); + //return newState; +//} #endif // _CHARACTER_HH_