nuclear@5: #ifndef CO_XFORM_H_ nuclear@5: #define CO_XFORM_H_ nuclear@2: nuclear@2: #include nuclear@2: #include "comp.h" nuclear@2: nuclear@5: class CoXForm : public Component { nuclear@2: public: nuclear@2: Matrix4x4 xform; nuclear@2: nuclear@5: CoXForm(); nuclear@2: }; nuclear@2: nuclear@5: class CoPRS : public Component { nuclear@6: protected: nuclear@5: CoXForm *co_xform; // cached xform component of the parent object nuclear@2: nuclear@6: const char **update_before() const; nuclear@6: nuclear@2: public: nuclear@2: Vector3 pos, scale; nuclear@2: Quaternion rot; nuclear@2: nuclear@5: CoPRS(); nuclear@2: nuclear@6: void update(float dt); nuclear@2: }; nuclear@2: nuclear@8: // helper component accessors nuclear@8: CoXForm *gobj_co_xform(const GObject *obj, bool nofail = true); nuclear@8: CoPRS *gobj_co_prs(const GObject *obj, bool nofail = true); nuclear@8: nuclear@2: nuclear@5: #endif // CO_XFORM_H_