21 #ifndef IMOTION_UPDATER_H
22 #define IMOTION_UPDATER_H
29 namespace OpenSkyNet {
45 rot_.
col(2) = forward_;
64 Anchor() : _obj(0), _updatePos(true), _updateRot(true), _useAttachPoint(false), _attachPoint(BASE) {}
68 _updatePos(updatePos_), _updateRot(updateRot_), _localRot(localRot_), _useAttachPoint(true), _attachPoint(attachPoint_) {}
71 _updatePos(updatePos_), _updateRot(updateRot_), _localPos(localPos_), _localRot(localRot_), _useAttachPoint(false), _attachPoint(BASE) {}
89 virtual bool removeObject(
Object* obj_);
90 virtual void removeAllObjects();
92 virtual void updateAnchors(
Object* obj_);
101 virtual void addAnchor(
Object* base_,
Object* anchor_,
bool updatePos_,
bool updateRot_);
103 virtual void removeAnchor(
Object* base_,
Object* anchor_);
104 virtual void removeAllAnchors(
Object* base_);
109 #endif //IMOTION_UPDATER_H
bool _useAttachPoint
Definition: IMotionUpdater.h:61
Anchor(Object *obj_, bool updatePos_=true, bool updateRot_=true, ATTACH_POINT attachPoint_=BASE, const Math::Matrix3x3 &localRot_=Math::g_identityMatrix3x3)
Definition: IMotionUpdater.h:66
Math::Matrix3x3 _localRot
Definition: IMotionUpdater.h:59
Definition: IMotionUpdater.h:50
Definition: IMotionUpdater.h:54
MotionInfo(Updater::OBJECT_PRIORITY prio_=Updater::OBJ_DISABLED, bool isOneShot_=false)
Definition: IMotionUpdater.h:82
void normalize()
Definition: MPoint.h:139
Definition: CUpdater.h:49
MotionUpdater(Updater::UPDATER_TYPE type_, const char *typeName_, Updater::UPDATER_PRIORITY prio_, float interval_)
Definition: IMotionUpdater.h:94
Anchor(Object *obj_, bool updatePos_, bool updateRot_, const Math::Point<> &localPos_, const Math::Matrix3x3 &localRot_)
Definition: IMotionUpdater.h:70
Definition: IMotionUpdater.h:78
UPDATER_PRIORITY
Definition: CUpdater.h:46
bool operator<(const Anchor &rhs_) const
Definition: IMotionUpdater.h:74
T getLenSqrd() const
Definition: MPoint.h:128
const Matrix3x3 g_identityMatrix3x3
Definition: MMatrix3x3.cpp:5
bool _updateRot
Definition: IMotionUpdater.h:57
std::map< Object *, MotionInfo * > _nonCollidingInfoMap
Definition: IMotionUpdater.h:86
UPDATER_TYPE
Definition: CUpdater.h:43
Definition: CUpdater.h:40
static void setForward(Math::Matrix3x3 &rot_, Math::Point<> &forward_)
Definition: IMotionUpdater.h:35
Definition: IMotionUpdater.h:49
ATTACH_POINT _attachPoint
Definition: IMotionUpdater.h:62
OBJECT_PRIORITY
Definition: CUpdater.h:49
#define CORE_DLL
Definition: CCoreDLL.h:57
Definition: IMotionUpdater.h:33
ATTACH_POINT
Definition: IMotionUpdater.h:48
Definition: MMatrix3x3.h:32
Point< T > getCross3(const Point< T > &rhs_) const
Definition: MPoint.h:197
Object * _obj
Definition: IMotionUpdater.h:55
const float CLOSE_TO_ZERO(0.00001f)
float float rot_[3]
Definition: ViewerApp.h:31
Math::Point _localPos
Definition: IMotionUpdater.h:58
Math::Point & col(int i_)
Definition: MMatrix3x3.h:49
Anchor()
Definition: IMotionUpdater.h:64
std::set< Anchor > _anchors
Definition: IMotionUpdater.h:80
bool operator==(const Anchor &rhs_) const
Definition: IMotionUpdater.h:73
Definition: CUpdater.h:54