Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stack Of Tasks
pinocchio
Commits
51840667
Verified
Commit
51840667
authored
Apr 29, 2021
by
Justin Carpentier
Browse files
core: add Unirary visitor on JointDataBase<Derived> objects
parent
91d0bda3
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/multibody/visitor/joint-unary-visitor.hpp
View file @
51840667
//
// Copyright (c) 2015-201
9
CNRS INRIA
// Copyright (c) 2015-20
2
1 CNRS INRIA
//
#ifndef __pinocchio_multibody_visitior_joint_unary_visitor_hpp__
...
...
@@ -69,6 +69,14 @@ namespace pinocchio
return
boost
::
apply_visitor
(
visitor
,
jmodel
);
}
template
<
typename
Scalar
,
int
Options
,
template
<
typename
,
int
>
class
JointCollectionTpl
,
typename
ArgsTmp
>
static
ReturnType
run
(
const
JointDataTpl
<
Scalar
,
Options
,
JointCollectionTpl
>
&
jdata
,
ArgsTmp
args
)
{
InternalVisitorModel
<
ArgsTmp
>
visitor
(
args
);
return
boost
::
apply_visitor
(
visitor
,
jdata
);
}
template
<
typename
Scalar
,
int
Options
,
template
<
typename
,
int
>
class
JointCollectionTpl
>
static
ReturnType
run
(
const
JointModelTpl
<
Scalar
,
Options
,
JointCollectionTpl
>
&
jmodel
)
{
...
...
@@ -76,6 +84,13 @@ namespace pinocchio
return
boost
::
apply_visitor
(
visitor
,
jmodel
);
}
template
<
typename
Scalar
,
int
Options
,
template
<
typename
,
int
>
class
JointCollectionTpl
>
static
ReturnType
run
(
const
JointDataTpl
<
Scalar
,
Options
,
JointCollectionTpl
>
&
jdata
)
{
InternalVisitorModel
<
NoArg
>
visitor
;
return
boost
::
apply_visitor
(
visitor
,
jdata
);
}
template
<
typename
JointModelDerived
,
typename
ArgsTmp
>
static
ReturnType
run
(
const
JointModelBase
<
JointModelDerived
>
&
jmodel
,
ArgsTmp
args
)
...
...
@@ -84,6 +99,14 @@ namespace pinocchio
return
visitor
(
jmodel
.
derived
());
}
template
<
typename
JointDataDerived
,
typename
ArgsTmp
>
static
ReturnType
run
(
const
JointDataBase
<
JointDataDerived
>
&
jdata
,
ArgsTmp
args
)
{
InternalVisitorModel
<
ArgsTmp
>
visitor
(
args
);
return
visitor
(
jdata
.
derived
());
}
template
<
typename
JointModelDerived
>
static
ReturnType
run
(
const
JointModelBase
<
JointModelDerived
>
&
jmodel
)
{
...
...
@@ -91,6 +114,13 @@ namespace pinocchio
return
visitor
(
jmodel
.
derived
());
}
template
<
typename
JointDataDerived
>
static
ReturnType
run
(
const
JointDataBase
<
JointDataDerived
>
&
jdata
)
{
InternalVisitorModel
<
NoArg
>
visitor
;
return
visitor
(
jdata
.
derived
());
}
private:
template
<
typename
JointModel
,
typename
ArgType
>
...
...
@@ -155,6 +185,14 @@ namespace pinocchio
args
));
}
template
<
typename
JointDataDerived
>
ReturnType
operator
()(
const
JointDataBase
<
JointDataDerived
>
&
jdata
)
const
{
return
bf
::
invoke
(
&
JointVisitorDerived
::
template
algo
<
JointDataDerived
>,
bf
::
append
(
boost
::
ref
(
jdata
.
derived
()),
args
));
}
ReturnType
operator
()(
const
JointModelVoid
)
{
return
;}
ArgType
args
;
...
...
@@ -171,6 +209,12 @@ namespace pinocchio
{
return
JointVisitorDerived
::
template
algo
<
JointModelDerived
>(
jmodel
.
derived
());
}
template
<
typename
JointDataDerived
>
ReturnType
operator
()(
const
JointDataBase
<
JointDataDerived
>
&
jdata
)
const
{
return
JointVisitorDerived
::
template
algo
<
JointDataDerived
>(
jdata
.
derived
());
}
};
};
// struct JointUnaryVisitorBase
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment