50 #include <visp3/core/vpDebug.h>
51 #include <visp3/core/vpException.h>
52 #include <visp3/core/vpMath.h>
53 #include <visp3/core/vpMatrixException.h>
54 #include <visp3/core/vpPoseVector.h>
154 void vpPoseVector::set(
double tx,
double ty,
double tz,
double tux,
double tuy,
double tuz)
227 for (
unsigned int i = 0; i < 3; i++) {
229 (*this)[i + 3] = tu[i];
340 for (
unsigned int i = 0; i < 6; i++)
342 std::cout << (*this)[i] <<
" ";
345 std::cout << std::endl;
381 for (
unsigned int i = 0; i < 6; i++) {
421 typedef std::string::size_type size_type;
426 std::vector<std::string> values(m * n);
427 std::ostringstream oss;
428 std::ostringstream ossFixed;
429 std::ios_base::fmtflags original_flags = oss.flags();
432 ossFixed.setf(std::ios::fixed, std::ios::floatfield);
434 size_type maxBefore = 0;
435 size_type maxAfter = 0;
437 for (
unsigned int i = 0; i < m; ++i) {
440 if (oss.str().find(
"e") != std::string::npos) {
442 ossFixed << (*this)[i];
443 oss.str(ossFixed.str());
446 values[i] = oss.str();
447 size_type thislen = values[i].size();
448 size_type p = values[i].find(
'.');
450 if (p == std::string::npos) {
459 size_type totalLength = length;
463 maxAfter = (std::min)(maxAfter, totalLength - maxBefore);
472 s <<
"[" << m <<
"," << n <<
"]=\n";
474 for (
unsigned int i = 0; i < m; i++) {
476 size_type p = values[i].find(
'.');
477 s.setf(std::ios::right, std::ios::adjustfield);
478 s.width((std::streamsize)maxBefore);
479 s << values[i].substr(0, p).c_str();
482 s.setf(std::ios::left, std::ios::adjustfield);
483 if (p != std::string::npos) {
484 s.width((std::streamsize)maxAfter);
485 s << values[i].substr(p, maxAfter).c_str();
487 assert(maxAfter > 1);
488 s.width((std::streamsize)maxAfter);
498 s.flags(original_flags);
500 return (
int)(maxBefore + maxAfter);