libmove3d  3.13.0
Classes | Defines | Functions | Variables
/home/slemaign/softs-local/BioMove3D-git/p3d/urdf_p3d_converter.cpp File Reference

Fonctions pour parcourir une structure URDF C++ et créer un modèle p3d associé. More...

#include "proto/urdf_p3d_converter.h"
#include <iostream>
#include <RobotModelParser/urdf_interface/link.h>
#include "P3d-pkg.h"
#include <assimp/assimp.hpp>
#include <assimp/aiScene.h>
#include <assimp/aiPostProcess.h>
#include <assimp/IOStream.h>
#include <assimp/IOSystem.h>

Classes

struct  Position
 Contient la position sous forme de Pose ou de Matrix4. More...

Defines

#define FOREACH(it, v)   for(typeof((v).begin()) it = (v).begin(); it != (v).end(); (it)++)
#define FOREACHC   FOREACH

Functions

void parcoursArbre (boost::shared_ptr< const Link > link_parent, int num_prev_jnt, int *num_last_jnt, Pose pos_abs_jnt_parent, double scale)
void add_joint (boost::shared_ptr< Joint > joint, Pose pos_abs_jnt_enf, int num_prev_jnt, double scale)
 Fonction qui fixe une articulation au body en cours.
void add_root_freeflyer ()
 Fonction qui ajoute 6 degrés de liberté au noeud root.
void calcul_pos_abs_link (struct Position *pos_abs_jnt_enf, const Pose *pos_rel_link, struct Position *pos_abs_link)
 Calcul la position absolue d'un lien connaissant sa position relative et la position absolue de l'articulation parente.
void calcul_pos_abs_jnt_enf (const Pose *pos_abs_jnt_parent, const Pose *pos_rel_jnt_enfant, struct Position *position_abs_jnt_enf)
 Calcul la position absolue d'une articulation enfant connaissant sa position relative et la position absolue de l'articulation parente.
void loadMesh (std::string const &filename)
void loadBox (urdf::Box *box, string name)
void loadCylinder (urdf::Cylinder *cylinder, string name)
void loadSphere (urdf::Sphere *sphere, string name)
int urdf_p3d_converter (URDFModel *model, char *modelName, double scale)
void traiterMesh (aiNode *node, const aiScene *scene)

Variables

Assimp::Importer _importer

Detailed Description

Fonctions pour parcourir une structure URDF C++ et créer un modèle p3d associé.

Author:
F. Lancelot
Version:
0.1
Date:
26 août 2011

Programme qui parcourt une structure URDF C++ et crée un modèle p3d associé. Le modèle URDF ne semble pas proposer de structures pour sauvegarder les vertices et indices.


Function Documentation

void add_joint ( boost::shared_ptr< Joint >  joint,
Pose  pos_abs_jnt_enf,
int  num_prev_jnt,
double  scale 
)

Fonction qui fixe une articulation au body en cours.

Parameters:
jointArticulation URDF à ajouter
pos_abs_jnt_enfPosition absolue de l'articulation à ajouter
num_prev_jntNuméro de l'articulation parente
scaleEchelle du modèle
void calcul_pos_abs_jnt_enf ( const Pose *  pos_abs_jnt_parent,
const Pose *  pos_rel_jnt_enfant,
struct Position position 
)

Calcul la position absolue d'une articulation enfant connaissant sa position relative et la position absolue de l'articulation parente.

Parameters:
pos_abs_jnt_parentPosition absolue de l'articulation parente
pos_rel_jnt_enfantPosition relative de l'articulation enfant
position_abs_jnt_enfPosition absolue de l'articulation enfant (résultat)
void calcul_pos_abs_link ( struct Position pos_abs_jnt_enf,
const Pose *  pos_rel_link,
struct Position pos_abs_link 
)

Calcul la position absolue d'un lien connaissant sa position relative et la position absolue de l'articulation parente.

Parameters:
pos_abs_jnt_enfPosition absolue de l'articulation parente
pos_rel_linkPosition relative du lien par rapport à l'articulation parente
pos_abs_linkPosition absolue du lien (résultat)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines