BodyCustomizerInterface.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
3  * All rights reserved. This program is made available under the terms of the
4  * Eclipse Public License v1.0 which accompanies this distribution, and is
5  * available at http://www.eclipse.org/legal/epl-v10.html
6  * Contributors:
7  * National Institute of Advanced Industrial Science and Technology (AIST)
8  */
15 #ifndef HRPMODEL_BODY_CUSTOMIZER_INTERFACE_H_INCLUDED
16 #define HRPMODEL_BODY_CUSTOMIZER_INTERFACE_H_INCLUDED
17 
18 #include "Config.h"
19 #include <string>
20 #include <hrpUtil/EigenTypes.h>
21 
22 namespace hrp {
23 
24  typedef void* BodyHandle;
25  typedef void* BodyCustomizerHandle;
26 
27  typedef int (*BodyGetLinkIndexFromNameFunc) (BodyHandle bodyHandle, const char* linkName);
28  typedef const char* (*BodyGetLinkNameFunc) (BodyHandle bodyHandle, int linkIndex);
29  typedef double* (*BodyGetLinkDoubleValuePtrFunc)(BodyHandle bodyHandle, int linkIndex);
30 
31  static const int BODY_INTERFACE_VERSION = 1;
32 
34  {
35  int version;
36 
42  };
43 
44  typedef const char** (*BodyCustomizerGetTargetModelNamesFunc)();
45  typedef BodyCustomizerHandle (*BodyCustomizerCreateFunc)(BodyHandle bodyHandle, const char* modelName);
46 
47  typedef void (*BodyCustomizerDestroyFunc) (BodyCustomizerHandle customizerHandle);
48  typedef int (*BodyCustomizerInitializeAnalyticIkFunc) (BodyCustomizerHandle customizerHandle, int baseLinkIndex, int targetLinkIndex);
49 
50  /*
51  p and R are based on the coordinate of a base link
52  */
53  typedef bool (*BodyCustomizerCalcAnalyticIkFunc) (BodyCustomizerHandle customizerHandle, int ikPathId, const Vector3& p, const Matrix33& R);
54 
55  typedef void (*BodyCustomizerSetVirtualJointForcesFunc)(BodyCustomizerHandle customizerHandle);
56 
57 
58  static const int BODY_CUSTOMIZER_INTERFACE_VERSION = 1;
59 
61  {
62  int version;
63 
70  };
71 
72  typedef BodyCustomizerInterface* (*GetBodyCustomizerInterfaceFunc)(BodyInterface* bodyInterface);
73 
74  HRPMODEL_API int loadBodyCustomizers(const std::string pathString, BodyInterface* bodyInterface);
75  HRPMODEL_API int loadBodyCustomizers(const std::string pathString);
77  HRPMODEL_API int loadBodyCustomizers();
78 
79  HRPMODEL_API BodyCustomizerInterface* findBodyCustomizer(std::string modelName);
80 
81 }
82 
83 #endif
BodyCustomizerHandle(* BodyCustomizerCreateFunc)(BodyHandle bodyHandle, const char *modelName)
BodyGetLinkDoubleValuePtrFunc getJointValuePtr
int(* BodyCustomizerInitializeAnalyticIkFunc)(BodyCustomizerHandle customizerHandle, int baseLinkIndex, int targetLinkIndex)
BodyCustomizerInitializeAnalyticIkFunc initializeAnalyticIk
bool(* BodyCustomizerCalcAnalyticIkFunc)(BodyCustomizerHandle customizerHandle, int ikPathId, const Vector3 &p, const Matrix33 &R)
static const int BODY_INTERFACE_VERSION
void(* BodyCustomizerSetVirtualJointForcesFunc)(BodyCustomizerHandle customizerHandle)
double *(* BodyGetLinkDoubleValuePtrFunc)(BodyHandle bodyHandle, int linkIndex)
const char **(* BodyCustomizerGetTargetModelNamesFunc)()
BodyGetLinkIndexFromNameFunc getLinkIndexFromName
static const int BODY_CUSTOMIZER_INTERFACE_VERSION
void * BodyHandle
Definition: Body.h:40
BodyCustomizerCreateFunc create
static BodyInterface * bodyInterface
Eigen::Vector3d Vector3
Definition: EigenTypes.h:11
BodyCustomizerSetVirtualJointForcesFunc setVirtualJointForces
BodyGetLinkDoubleValuePtrFunc getJointForcePtr
Eigen::Matrix3d Matrix33
Definition: EigenTypes.h:12
BodyCustomizerDestroyFunc destroy
BodyGetLinkNameFunc getLinkName
void * BodyCustomizerHandle
Definition: Body.h:42
typedef void(PNGAPI *png_error_ptr) PNGARG((png_structp
BodyCustomizerGetTargetModelNamesFunc getTargetModelNames
typedef int
Definition: png.h:1113
const char *(* BodyGetLinkNameFunc)(BodyHandle bodyHandle, int linkIndex)
BodyGetLinkDoubleValuePtrFunc getJointVelocityPtr
int(* BodyGetLinkIndexFromNameFunc)(BodyHandle bodyHandle, const char *linkName)
void(* BodyCustomizerDestroyFunc)(BodyCustomizerHandle customizerHandle)
BodyCustomizerCalcAnalyticIkFunc calcAnalyticIk
HRPMODEL_API int loadBodyCustomizers(const std::string pathString, BodyInterface *bodyInterface)
HRPMODEL_API BodyCustomizerInterface * findBodyCustomizer(std::string modelName)


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Sep 8 2022 02:24:02