Convex.h
Go to the documentation of this file.
1
/*
2
* Copyright 2015-2020 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/RobotModule.h
>
11
#include <
mc_rbdyn/fwd.h
>
12
13
#include <tvm/graph/abstract/Node.h>
14
15
namespace
mc_tvm
16
{
17
23
struct
MC_TVM_DLLAPI
Convex
:
public
tvm::graph::abstract::Node<Convex>
24
{
25
friend
struct
mc_rbdyn::Robot
;
26
27
private
:
28
struct
NewConvexToken
29
{
30
};
31
32
public
:
33
SET_OUTPUTS(
Convex
, Position)
34
SET_UPDATES(
Convex
, Position)
35
36
44
Convex
(NewConvexToken,
45
mc_rbdyn::S_ObjectPtr
object
,
46
const
mc_rbdyn::RobotFrame
& frame,
47
const
sva::PTransformd & X_f_c);
48
49
Convex
(
const
Convex
&) =
delete
;
50
Convex
& operator=(
const
Convex
&) =
delete
;
51
53
inline
mc_rbdyn::S_ObjectPtr
convex
() noexcept {
return
object_; }
54
56
inline
const
mc_rbdyn::RobotFrame
&
frame
() {
return
*frame_; }
57
58
private
:
59
mc_rbdyn::S_ObjectPtr
object_;
60
mc_rbdyn::ConstRobotFramePtr
frame_;
61
sva::PTransformd X_f_c_;
62
63
void
updatePosition();
64
};
65
66
}
// namespace mc_tvm
mc_rbdyn::S_ObjectPtr
std::shared_ptr< sch::S_Object > S_ObjectPtr
Definition:
RobotModule.h:35
mc_tvm::Convex::frame
const mc_rbdyn::RobotFrame & frame()
Definition:
Convex.h:56
MC_TVM_DLLAPI
#define MC_TVM_DLLAPI
Definition:
api.h:47
mc_rbdyn::Robot
Definition:
Robot.h:62
mc_tvm
Definition:
CollisionFunction.h:15
RobotModule.h
mc_rbdyn::RobotFrame
Definition:
RobotFrame.h:21
fwd.h
fwd.h
mc_rbdyn::ConstRobotFramePtr
std::shared_ptr< const RobotFrame > ConstRobotFramePtr
Definition:
fwd.h:25
mc_tvm::Convex::convex
mc_rbdyn::S_ObjectPtr convex() noexcept
Definition:
Convex.h:53
api.h
mc_tvm::Convex
Definition:
Convex.h:23
include
mc_tvm
Convex.h
Generated by
1.8.17