Frame.h
Go to the documentation of this file.
1
/*
2
* Copyright 2015-2022 CNRS-UM LIRMM, CNRS-AIST JRL
3
*/
4
5
#pragma once
6
7
#include <
mc_tvm/api.h
>
8
#include <
mc_tvm/fwd.h
>
9
10
#include <
mc_rbdyn/Frame.h
>
11
12
#include <SpaceVecAlg/SpaceVecAlg>
13
14
#include <RBDyn/Jacobian.h>
15
16
#include <tvm/graph/abstract/Node.h>
17
#include <tvm/internal/MatrixWithProperties.h>
18
19
namespace
mc_tvm
20
{
21
33
struct
MC_TVM_DLLAPI
Frame
:
public
tvm::graph::abstract::Node<Frame>
34
{
35
SET_OUTPUTS(
Frame
, Position, Velocity)
36
SET_UPDATES(
Frame
, Position, Velocity)
37
38
friend struct
mc_rbdyn
::
Frame
;
39
40
protected:
41
struct
NewFrameToken
42
{
43
};
44
45
public
:
46
Frame
(
NewFrameToken
,
const
mc_rbdyn::Frame
& frame);
47
49
inline
const
sva::PTransformd &
position
() const noexcept {
return
position_; }
50
52
inline
const
sva::MotionVecd &
velocity
() const noexcept {
return
velocity_; }
53
55
inline
const
mc_rbdyn::Frame
&
frame
() const noexcept {
return
frame_; }
56
57
protected
:
59
const
mc_rbdyn::Frame
&
frame_
;
60
/* Cache and update functions */
61
sva::PTransformd position_ = sva::PTransformd::Identity();
62
sva::MotionVecd velocity_ = sva::MotionVecd::Zero();
63
64
void
updatePosition();
65
void
updateVelocity();
66
};
67
68
}
// namespace mc_tvm
mc_tvm::Frame::frame
const mc_rbdyn::Frame & frame() const noexcept
Definition:
Frame.h:55
mc_tvm::Frame::velocity
const sva::MotionVecd & velocity() const noexcept
Definition:
Frame.h:52
MC_TVM_DLLAPI
#define MC_TVM_DLLAPI
Definition:
api.h:47
mc_tvm::Frame::frame_
const mc_rbdyn::Frame & frame_
Definition:
Frame.h:59
mc_rbdyn::Frame
Definition:
Frame.h:27
mc_tvm
Definition:
CollisionFunction.h:15
mc_tvm::Frame::position
const sva::PTransformd & position() const noexcept
Definition:
Frame.h:49
Frame.h
mc_tvm::Frame::NewFrameToken
Definition:
Frame.h:41
fwd.h
mc_tvm::Frame
Definition:
Frame.h:33
api.h
mc_rbdyn
Definition:
generic_gripper.h:14
include
mc_tvm
Frame.h
Generated by
1.8.17