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