34 if (!mxIsClass(source,
"DrakeMexPointer")) {
35 if (
log) *
log <<
"Expected DrakeMexPointer";
39 static_cast<int>(mxGetScalar(mxGetProperty(source, 0,
"type_id")));
41 if (
log) *
log <<
"Expected DrakeMexPointer to " <<
typeid(T).name() <<
".";
59 template <
typename Scalar>
65 template <
typename Scalar>
79 int num_robot =
static_cast<int>(mxGetNumberOfElements(source));
81 for (
int i = 0; i < num_robot; i++) {
82 ret.insert((
int)data[i]);
Definition: KinematicPath.h:6
Definition: rigidBodyTreeMexConversions.h:10
bool isDrakeMexPointerOfCorrectType(const mxArray *source, T *, std::ostream *log) NOEXCEPT
Definition: rigidBodyTreeMexConversions.h:32
FunctionalForm log(FunctionalForm const &x)
Definition: functional_form.cc:198
Definition: DrakeJoint.h:48
RigidBodyTree & fromMexUnsafe(const mxArray *source, RigidBodyTree *)
Definition: rigidBodyTreeMexConversions.h:55
double * mxGetPrSafe(const mxArray *pobj)
Definition: drakeMexUtil.cpp:236
mxArray * stdVectorToMatlab(const std::vector< Scalar > &vec)
Definition: drakeMexUtil.h:170
bool isConvertibleFromMex(const mxArray *source, RigidBodyTree *ptr, std::ostream *log) NOEXCEPT
fromMex specializations
Definition: rigidBodyTreeMexConversions.h:50
void toMex(const KinematicPath &path, mxArray *dest[], int nlhs)
toMex specializations
Definition: rigidBodyTreeMexConversions.h:90
std::vector< int > body_path
Definition: KinematicPath.h:9
std::vector< int > joint_direction_signs
Definition: KinematicPath.h:8
std::vector< int > joint_path
Definition: KinematicPath.h:7
void * getDrakeMexPointer(const mxArray *mx)
Definition: drakeMexUtil.cpp:122
Definition: rigidBodyTreeMexConversions.h:9
Definition: KinematicsCache.h:70
Definition: RigidBodyTree.h:72
#define NOEXCEPT
Definition: mexify.h:15