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>
68 typedef struct indexFaceSet
70 indexFaceSet() : nbPt(0), pt(), nbIndex(0), index() { };
72 std::vector<vpPoint> pt;
74 std::vector<int> index;
80 typedef enum { BND_MODEL, WRL_MODEL, UNKNOWN_MODEL } Model_3D;
82 Model_3D getExtension(
const char *file);
83 void set_scene_wrl(
const char *str, Bound_scene *sc,
float factor);
84 void set_scene(
const char *, Bound_scene *,
float);
87 #if defined(VISP_HAVE_COIN3D)
88 void extractFaces(SoVRMLIndexedFaceSet *face_set, indexFaceSet *ifs);
89 void ifsToBound(Bound *, std::list<indexFaceSet *> &);
90 void destroyIfs(std::list<indexFaceSet *> &);
Implementation of an homogeneous matrix and operations on such kind of matrices.