29#ifndef HPP_CORBASERVER_CONVERSIONS_HH
30#define HPP_CORBASERVER_CONVERSIONS_HH
34#include <hpp/core/parameter.hh>
35#include <hpp/util/exception-factory.hh>
38namespace corbaServer {
39typedef Eigen::Matrix<CORBA::Long, Eigen::Dynamic, Eigen::Dynamic>
IntMatrix_t;
56 if (!input)
return NULL;
73 bool throwIfNotNormalized);
77 bool throwIfNotNormalized);
88 unsigned int length = 3);
92inline char*
c_str(
const std::string& in) {
93 char* out =
new char[in.length() + 1];
94 strcpy(out, in.c_str());
98template <
typename InputIt>
100 std::size_t len = std::distance(begin, end);
101 char** nameList = Names_t::allocbuf((CORBA::ULong)len);
103 new Names_t((CORBA::ULong)len, (CORBA::ULong)len, nameList,
true);
106 while (begin != end) {
107 nameList[i] =
c_str(*begin);
114template <
typename Iterable>
116 return toNames_t(iterable.begin(), iterable.end());
119template <
typename InputIt>
121 std::size_t len = std::distance(begin, end);
123 indexes->length((CORBA::ULong)len);
126 while (begin != end) {
127 (*indexes)[i] = *begin;
134template <
typename InputIt>
136 std::size_t len = std::distance(begin, end);
138 indexes->length((CORBA::ULong)len);
141 while (begin != end) {
142 (*indexes)[(CORBA::ULong)i] = *begin;
149template <
typename OutputType>
152 for (CORBA::ULong i = 0; i < names.length(); ++i)
153 ret.push_back(std::string(names[i]));
168 CORBA::Any* ap =
new CORBA::Any;
Definition: common-idl.hh:78
Definition: common-idl.hh:347
Definition: common-idl.hh:803
Definition: common-idl.hh:689
Definition: common-idl.hh:575
Definition: common-idl.hh:461
Definition: common-idl.hh:192
::CORBA::Double Transform__slice
Definition: common-idl.hh:916
void toHppTransform(const Transform3f &in, Transform_ out)
Configuration_t floatSeqToConfig(const DevicePtr_t &robot, const floatSeq &dofArray, bool throwIfNotNormalized)
boolSeq * toBoolSeq(InputIt begin, InputIt end)
Definition: conversions.hh:135
std::vector< bool > boolSeqToVector(const hpp::boolSeq &mask, unsigned int length=3)
pinocchio::Transform3f Transform3f
Definition: fwd.hh:103
IntMatrix_t intSeqSeqToMatrix(const intSeqSeq &input, const size_type expectedRows=-1, const size_type expectedCols=-1)
core::matrix_t floatSeqSeqToMatrix(const floatSeqSeq &input, const size_type expectedRows=-1, const size_type expectedCols=-1)
pinocchio::vector_t vector_t
Definition: fwd.hh:112
pinocchio::Configuration_t Configuration_t
Definition: fwd.hh:66
vector3_t floatSeqToVector3(const floatSeq &dofArray)
intSeq * toIntSeq(InputIt begin, InputIt end)
Definition: conversions.hh:120
floatSeq * vectorToFloatSeq(core::vectorIn_t input)
CORBA::Any * toCorbaAnyPtr(const core::Parameter ¶meter)
Definition: conversions.hh:167
ConfigurationPtr_t floatSeqToConfigPtr(const DevicePtr_t &robot, const floatSeq &dofArray, bool throwIfNotNormalized)
pinocchio::size_type size_type
Definition: fwd.hh:115
intSeqSeq * matrixToIntSeqSeq(Eigen::Ref< const IntMatrix_t > input)
core::ConfigurationPtr_t ConfigurationPtr_t
Definition: fwd.hh:67
OutputType toStrings(const Names_t &names)
Definition: conversions.hh:150
pinocchio::vector3_t vector3_t
Definition: fwd.hh:113
vector_t floatSeqToVector(const floatSeq &dofArray, const size_type expectedSize=-1)
CORBA::Any toCorbaAny(const core::Parameter ¶meter)
floatSeqSeq * matrixToFloatSeqSeq(core::matrixIn_t input)
Returns a sequence of the rows of the input matrix.
stringSeqSeq * vectorToStringSeqSeq(std::vector< std::vector< std::string > > input)
Names_t * toNames_t(InputIt begin, InputIt end)
Definition: conversions.hh:99
void toTransform3f(const Transform_ in, Transform3f &out)
constraints::ComparisonTypes_t convertComparison(hpp::ComparisonTypes_t comp)
Convert CORBA comparison types to C++ comparison type.
pinocchio::DevicePtr_t DevicePtr_t
Definition: fwd.hh:74
Eigen::Matrix< CORBA::Long, Eigen::Dynamic, Eigen::Dynamic > IntMatrix_t
Definition: conversions.hh:39
char * c_str(const std::string &in)
Definition: conversions.hh:92
core::Parameter toParameter(const CORBA::Any &any)
Implement CORBA interface `‘Obstacle’'.
Definition: basic-server.hh:35
sequence< boolean > boolSeq
Definition: common.idl:30
double Transform_[7]
Element of SE(3) represented by a vector and a unit quaternion.
Definition: common.idl:38
sequence< string > Names_t
Sequence of names.
Definition: common.idl:23
sequence< ComparisonType > ComparisonTypes_t
Definition: common.idl:50
sequence< long > intSeq
Definition: common.idl:31