00001 00018 #ifndef FEASIBILITYCHECKER_H 00019 #define FEASIBILITYCHECKER_H 00020 00021 #include "calibration_object.h" 00022 00023 #ifndef Q_MOC_RUN 00024 #include <Eigen/Dense> 00025 #include <boost/shared_ptr.hpp> 00026 #endif 00027 00028 class FeasibilityChecker 00029 { 00030 public: 00031 EIGEN_MAKE_ALIGNED_OPERATOR_NEW 00032 explicit FeasibilityChecker(boost::shared_ptr<Calibration_Object> calibrationObject, const Eigen::Vector3d &expectedOrientationz, double maximumAngleDeviation); 00033 bool checkFeasibility_sideLengths(double sideA, double sideB, double sideC); 00034 bool checkFeasibility_pose(const Eigen::Matrix4d& pose); 00035 00036 protected: 00037 Eigen::Vector4d expectedOrientation_z; 00038 double maximumAngleDeviation; 00039 boost::shared_ptr<Calibration_Object> calibrationObject; 00040 }; 00041 00042 #endif // FEASIBILITYCHECKER_H