41#include <visp3/core/vpConfig.h>
43#ifndef DOXYGEN_SHOULD_SKIP_THIS
46#include <visp3/core/vpHomogeneousMatrix.h>
47#include <visp3/robot/vpWireFrameSimulatorTypes.h>
50#if defined(VISP_HAVE_COIN3D)
51#include <Inventor/VRMLnodes/SoVRMLCoordinate.h>
52#include <Inventor/VRMLnodes/SoVRMLGroup.h>
53#include <Inventor/VRMLnodes/SoVRMLIndexedFaceSet.h>
54#include <Inventor/VRMLnodes/SoVRMLIndexedLineSet.h>
55#include <Inventor/VRMLnodes/SoVRMLShape.h>
56#include <Inventor/actions/SoGetMatrixAction.h>
57#include <Inventor/actions/SoGetPrimitiveCountAction.h>
58#include <Inventor/actions/SoSearchAction.h>
59#include <Inventor/actions/SoToVRML2Action.h>
60#include <Inventor/actions/SoWriteAction.h>
61#include <Inventor/misc/SoChildList.h>
62#include <Inventor/nodes/SoSeparator.h>
67typedef struct indexFaceSet {
68 indexFaceSet() : nbPt(0), pt(), nbIndex(0), index(){};
70 std::vector<vpPoint> pt;
72 std::vector<int> index;
77typedef enum { BND_MODEL, WRL_MODEL, UNKNOWN_MODEL } Model_3D;
79Model_3D getExtension(
const char *file);
80void set_scene_wrl(
const char *str, Bound_scene *sc,
float factor);
81void set_scene(
const char *, Bound_scene *,
float);
84#if defined(VISP_HAVE_COIN3D)
85void extractFaces(SoVRMLIndexedFaceSet *face_set, indexFaceSet *ifs);
86void ifsToBound(Bound *, std::list<indexFaceSet *> &);
87void destroyIfs(std::list<indexFaceSet *> &);
Implementation of an homogeneous matrix and operations on such kind of matrices.