]> git.tdb.fi Git - libs/gl.git/blobdiff - source/animation/keyframe.h
Use default member initializers for simple types
[libs/gl.git] / source / animation / keyframe.h
index 5b748add113c5432c0d3c5836e6fceaf4db8b590..5e70aa730c970bf11ac51231c72ad8defd695344 100644 (file)
@@ -19,12 +19,19 @@ class KeyFrame
 public:
        class Loader: public DataFile::CollectionObjectLoader<KeyFrame>
        {
+       private:
+               std::string inline_base_name;
+
        public:
-               Loader(KeyFrame &);
-               Loader(KeyFrame &, Collection &);
+               Loader(KeyFrame &k): Loader(k, 0) { }
+               Loader(KeyFrame &k, Collection &c): Loader(k, &c) { }
        private:
-               void init();
+               Loader(KeyFrame &, Collection *);
+
+       public:
+               void set_inline_base_name(const std::string &);
 
+       private:
                void pose(const std::string &);
                void pose_inline();
                void position(float, float, float);
@@ -60,12 +67,9 @@ public:
 private:
        Transform transform;
        UniformMap uniforms;
-       RefPtr<const Pose> pose;
+       const Pose *pose = 0;
 
 public:
-       KeyFrame();
-       ~KeyFrame();
-
        void set_transform(const Transform &);
        void set_matrix(const Matrix &);
        void set_uniform(const std::string &, const AnimatedUniform &);
@@ -73,7 +77,7 @@ public:
        const Transform &get_transform() const { return transform; }
        Matrix get_matrix() const { return transform.to_matrix(); }
        const UniformMap &get_uniforms() const { return uniforms; }
-       const Pose *get_pose() const { return pose.get(); }
+       const Pose *get_pose() const { return pose; }
 };
 
 } // namespace GL