Commit 3be8e145 authored by Patrik Huber's avatar Patrik Huber

Added serialisation for glm::quat

parent f40904f0
...@@ -108,6 +108,7 @@ set(HEADERS ...@@ -108,6 +108,7 @@ set(HEADERS
include/eos/fitting/nonlinear_camera_estimation.hpp include/eos/fitting/nonlinear_camera_estimation.hpp
include/eos/fitting/detail/nonlinear_camera_estimation_detail.hpp include/eos/fitting/detail/nonlinear_camera_estimation_detail.hpp
include/eos/fitting/detail/optional_cerealisation.hpp include/eos/fitting/detail/optional_cerealisation.hpp
include/eos/fitting/detail/glm_cerealisation.hpp
include/eos/fitting/linear_shape_fitting.hpp include/eos/fitting/linear_shape_fitting.hpp
include/eos/fitting/contour_correspondence.hpp include/eos/fitting/contour_correspondence.hpp
include/eos/fitting/blendshape_fitting.hpp include/eos/fitting/blendshape_fitting.hpp
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "glm/gtc/quaternion.hpp" #include "glm/gtc/quaternion.hpp"
#include "eos/fitting/detail/optional_cerealisation.hpp" #include "eos/fitting/detail/optional_cerealisation.hpp"
#include "eos/fitting/detail/glm_cerealisation.hpp"
#include "cereal/cereal.hpp" #include "cereal/cereal.hpp"
#include "cereal/archives/json.hpp" #include "cereal/archives/json.hpp"
...@@ -181,8 +182,7 @@ private: ...@@ -181,8 +182,7 @@ private:
template<class Archive> template<class Archive>
void serialize(Archive& archive) void serialize(Archive& archive)
{ {
// TODO add the quaternion! archive(CEREAL_NVP(camera_type), CEREAL_NVP(frustum), CEREAL_NVP(rotation), CEREAL_NVP(t_x), CEREAL_NVP(t_y), CEREAL_NVP(screen_width), CEREAL_NVP(screen_height));
archive(CEREAL_NVP(camera_type), CEREAL_NVP(frustum), CEREAL_NVP(t_x), CEREAL_NVP(t_y), CEREAL_NVP(screen_width), CEREAL_NVP(screen_height));
}; };
}; };
......
/*
* eos - A 3D Morphable Model fitting library written in modern C++11/14.
*
* File: include/eos/fitting/detail/glm_cerealisation.hpp
*
* Copyright 2016 Patrik Huber
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#ifndef GLMCEREALISATION_HPP_
#define GLMCEREALISATION_HPP_
#include "cereal/cereal.hpp"
#include "glm/gtc/quaternion.hpp"
/**
* @brief Serialisation of GLM \c glm::quat quaternion for the serialisation
* library cereal (http://uscilab.github.io/cereal/index.html).
*
* Contains serialisation for \c glm::quat.
*/
namespace glm {
/**
* @brief Serialisation of a glm::quat using cereal.
*
* @param[in] ar The archive to (de)serialise.
* @param[in] vec The vector to (de)serialise.
*/
template <class Archive>
void serialize(Archive& ar, glm::quat& q)
{
ar(q.w, q.x, q.y, q.z);
};
} /* namespace glm */
#endif /* GLMCEREALISATION_HPP_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment