43 #ifndef vpWireFrameSimulator_HH
44 #define vpWireFrameSimulator_HH
50 #include <visp/vpConfig.h>
59 #include <visp/vpMy.h>
60 #include <visp/vpArit.h>
61 #include <visp/vpBound.h>
62 #include <visp/vpView.h>
63 #include <visp/vpToken.h>
64 #include <visp/vpTmstack.h>
65 #include <visp/vpVwstack.h>
71 int open_keyword (Keyword *kwp);
73 int open_source (FILE *fd,
const char *str);
74 int malloc_Bound_scene (Bound_scene *bsp,
const char *name,Index bn);
75 int free_Bound_scene (Bound_scene *bsp);
76 int parser (Bound_scene *bsp);
77 int close_source (
void);
79 int close_keyword (
void);
80 void add_rfstack (
int i);
81 void load_rfstack (
int i);
82 void add_vwstack (
const char* path, ... );
83 void display_scene(Matrix mat, Bound_scene sc);
84 int * get_rfstack (
void);
85 Matrix * get_tmstack (
void);
86 int View_to_Matrix (View_parameters *vp, Matrix m);
87 void postmult_matrix (Matrix a, Matrix b);
88 Bound *clipping_Bound (Bound *bp, Matrix m);
89 int set_Bound_face_display (Bound *bp, Byte b);
90 int point_3D_2D (Point3f *p3, Index size,
unsigned int xsize,
unsigned int ysize, Point2i *p2);
91 void point_3D_4D (Point3f *p3,
int size, Matrix m, Point4f *p4);
92 int wireframe_Face (Face *fp, Point2i *pp);
95 #include <visp/vpConfig.h>
96 #include <visp/vpImage.h>
97 #include <visp/vpHomogeneousMatrix.h>
98 #include <visp/vpDisplay.h>
99 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
100 # include <visp/vpList.h>
102 #include <visp/vpImagePoint.h>
103 #include <visp/vpImageSimulator.h>
105 void set_scene (
const char*, Bound_scene *,
float);
225 } vpSceneDesiredObject;
231 } vpCameraTrajectoryDisplayType;
295 std::string scene_dir;
302 void initScene(
const char* obj,
const char* desiredObject);
304 void initScene(
const char* obj);
307 void initScene(
const char* obj,
const char* desiredObject,
const std::list<vpImageSimulator> &imObj);
308 void initScene(
vpSceneObject obj,
const std::list<vpImageSimulator> &imObj);
309 void initScene(
const char* obj,
const std::list<vpImageSimulator> &imObj);
339 this->camMf = rotz * camMf;
341 this->camMf.extract (T);
343 f2Mf = camMf2.
inverse()*this->camMf;
344 extCamChanged =
true;
401 if( (std::fabs(px_int-1.) >
vpMath::maximum(px_int,1.)*std::numeric_limits<double>::epsilon())
402 && (std::fabs(py_int-1) >
vpMath::maximum(py_int,1.)*std::numeric_limits<double>::epsilon()))
421 if( (std::fabs(px_int-1.) >
vpMath::maximum(px_int,1.)*std::numeric_limits<double>::epsilon())
422 && (std::fabs(py_int-1) >
vpMath::maximum(py_int,1.)*std::numeric_limits<double>::epsilon()))
441 if( (std::fabs(px_ext-1.) >
vpMath::maximum(px_ext,1.)*std::numeric_limits<double>::epsilon())
442 && (std::fabs(py_ext-1) >
vpMath::maximum(py_ext,1.)*std::numeric_limits<double>::epsilon()))
461 if( (std::fabs(px_ext-1.) >
vpMath::maximum(px_ext,1.)*std::numeric_limits<double>::epsilon())
462 && (std::fabs(py_ext-1) >
vpMath::maximum(py_ext,1.)*std::numeric_limits<double>::epsilon()))
530 cameraTrajectory.clear();
548 for(std::list<vpHomogeneousMatrix>::const_iterator it=poseList.begin(); it!=poseList.end(); ++it){
549 cMo_history.push_back(rotz*(*it));
558 void get_fMo_History(std::list<vpHomogeneousMatrix>& fMo_history) {fMo_history = fMoList;}
562 void displayTrajectory(
vpImage<vpRGBa> &I,
const std::list<vpHomogeneousMatrix> &list_cMo,
const std::list<vpHomogeneousMatrix> &list_fMo,
const vpHomogeneousMatrix &camMf);
584 #ifdef VISP_BUILD_DEPRECATED_FUNCTIONS
599 for(std::list<vpHomogeneousMatrix>::const_iterator iter = fMoList.begin(); iter != fMoList.end(); ++iter){
615 for(std::list<vpHomogeneousMatrix>::const_iterator it=poseList.begin(); it!=poseList.end(); ++it){
621 vp_deprecated
void initScene(vpSceneObject obj, vpSceneDesiredObject desiredObject,
vpList<vpImageSimulator> &imObj);
bool displayImageSimulator
void setCameraTrajectoryColor(const vpColor col)
void deleteCameraPositionHistory()
vpCameraParameters getInternalCameraParameters(const vpImage< vpRGBa > &I) const
unsigned int getWidth() const
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
Provide simple list management.
Class to define colors available for display functionnalities.
void setNbPtTrajectory(const unsigned int nbPt)
void get_cMo_History(std::list< vpHomogeneousMatrix > &cMo_history)
void setCameraTrajectoryDisplayType(const vpCameraTrajectoryDisplayType camTrajType)
std::list< vpImageSimulator > objectImage
void setDesiredViewColor(const vpColor col)
std::list< vpImagePoint > cameraTrajectory
void setCameraPositionRelObj(const vpHomogeneousMatrix cMo)
vp_deprecated vpList< vpHomogeneousMatrix > get_fMo_History()
void setCurrentViewColor(const vpColor col)
std::list< vpHomogeneousMatrix > fMoList
static Type maximum(const Type &a, const Type &b)
void setDisplayCameraTrajectory(const bool displayCameraTrajectory)
void setExternalCameraPosition(const vpHomogeneousMatrix camMf)
vpCameraParameters getExternalCameraParameters(const vpImage< unsigned char > &I) const
vpHomogeneousMatrix get_fMo() const
Generic class defining intrinsic camera parameters.
void addRight(const type &el)
add a new element in the list, at the right of the current one
bool displayDesiredObject
void setDesiredCameraPosition(const vpHomogeneousMatrix cdMo)
static Type minimum(const Type &a, const Type &b)
Implementation of a wire frame simulator. Compared to the vpSimulator class, it does not require thir...
void buildFrom(const vpTranslationVector &t, const vpRotationMatrix &R)
Construction from translation vector and rotation matrix.
vpCameraParameters getInternalCameraParameters(const vpImage< unsigned char > &I) const
vpCameraTrajectoryDisplayType camTrajType
vpCameraParameters getExternalCameraParameters(const vpImage< vpRGBa > &I) const
vpSceneDesiredObject desiredObject
void setCameraPositionRelWorld(const vpHomogeneousMatrix fMc)
bool displayCameraTrajectory
vpHomogeneousMatrix camMf
vp_deprecated vpList< vpHomogeneousMatrix > get_cMo_History()
vpHomogeneousMatrix inverse() const
vpHomogeneousMatrix get_cMo() const
vpCameraTrajectoryDisplayType
void get_fMo_History(std::list< vpHomogeneousMatrix > &fMo_history)
vpHomogeneousMatrix refMo
unsigned int getHeight() const
void setCameraColor(const vpColor col)
void setInternalCameraParameters(const vpCameraParameters cam)
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
void setExternalCameraParameters(const vpCameraParameters cam)
Class that consider the case of a translation vector.
void setCameraSizeFactor(const float factor)
std::list< vpHomogeneousMatrix > poseList
void set_fMo(const vpHomogeneousMatrix &fMo)
vpHomogeneousMatrix getExternalCameraPosition() const
vpHomogeneousMatrix camMf2