libigl v2.5.0
Loading...
Searching...
No Matches
forward_kinematics.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_FORWARD_KINEMATICS_H
9#define IGL_FORWARD_KINEMATICS_H
10#include "igl_inline.h"
11#include <Eigen/Core>
12#include <Eigen/Geometry>
13#include <Eigen/StdVector>
14#include <vector>
15
16namespace igl
17{
29 const Eigen::MatrixXd & C,
30 const Eigen::MatrixXi & BE,
31 const Eigen::VectorXi & P,
32 const std::vector<
33 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & dQ,
34 const std::vector<Eigen::Vector3d> & dT,
35 std::vector<
36 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & vQ,
37 std::vector<Eigen::Vector3d> & vT);
41 const Eigen::MatrixXd & C,
42 const Eigen::MatrixXi & BE,
43 const Eigen::VectorXi & P,
44 const std::vector<
45 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & dQ,
46 std::vector<
47 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & vQ,
48 std::vector<Eigen::Vector3d> & vT);
52 const Eigen::MatrixXd & C,
53 const Eigen::MatrixXi & BE,
54 const Eigen::VectorXi & P,
55 const std::vector<
56 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & dQ,
57 const std::vector<Eigen::Vector3d> & dT,
58 Eigen::MatrixXd & T);
61 const Eigen::MatrixXd & C,
62 const Eigen::MatrixXi & BE,
63 const Eigen::VectorXi & P,
64 const std::vector<
65 Eigen::Quaterniond,Eigen::aligned_allocator<Eigen::Quaterniond> > & dQ,
66 Eigen::MatrixXd & T);
67};
68
69#ifndef IGL_STATIC_LIBRARY
70# include "forward_kinematics.cpp"
71#endif
72#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void forward_kinematics(const Eigen::MatrixXd &C, const Eigen::MatrixXi &BE, const Eigen::VectorXi &P, const std::vector< Eigen::Quaterniond, Eigen::aligned_allocator< Eigen::Quaterniond > > &dQ, const std::vector< Eigen::Vector3d > &dT, std::vector< Eigen::Quaterniond, Eigen::aligned_allocator< Eigen::Quaterniond > > &vQ, std::vector< Eigen::Vector3d > &vT)
Given a skeleton and a set of relative bone rotations compute absolute rigid transformations for each...