std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> MovingObjectsIdentificator::identify() {
    if(verbose) std::cout << "\nMoving Object Identification start" << std::endl;
    findDifference();
    removeOutliers();
    if(verbose) std::cout << "Moving Object Identification end" << std::endl;
    return extractClusters();

}
Exemple #2
0
void Solver::iterate (LayerArray & la) {
	double t1, t2;
	t1 = MPI_Wtime();
	do {
		la.calcFunction ();
		int result = la.check();
		MPI_Allgather (&result, 1, MPI_INT, results, 1, MPI_INT, MPI_COMM_WORLD);				
		if (finish()) {
			break;
		}
	}
	while (1);
	t2 = MPI_Wtime();
	if (rank == 0) {
		std::cout << "Time taken : " << t2 - t1 << std::endl;
	}
	findDifference (la);
}
Exemple #3
0
extern void pg_age(sqlite3_context  *context,
                   int argc,
                   sqlite3_value   **argv) {
   struct tm  age;
   struct tm  beg;
   struct tm  tmbuff;
   struct tm *bp;
   struct tm *bigger;
   struct tm *smaller;
   time_t     currTime;
   double     seconds;
   char      *rp;
   int        rplen;
   char       buff[BUFF_LEN];
   char      *arg1;
   char      *arg2;

   _ksu_check_arg_cnt(argc, 1, 2, "age");
    if (ksu_prm_ok(context, argc, argv,
                   "age", KSU_PRM_DATETIME, KSU_PRM_DATETIME)) {
      (void)memset(&age, 0, sizeof(struct tm));
      arg1 = (char *)sqlite3_value_text(argv[0]);
      if ((sscanf(arg1, "%d-%d-%d %d:%d:%d",
                  &age.tm_year, &age.tm_mon, &age.tm_mday,
                  &age.tm_hour, &age.tm_min, &age.tm_sec) < 3)) {
        ksu_err_msg(context, KSU_ERR_ARG_N_NOT_DATETIME,
                    1, "age");
        return;
      }
      age.tm_mon -= 1;
      age.tm_year -= 1900;
      if (argc == 1) {
        time(&currTime);
        if (currTime != -1) {
          bp = localtime_r(&currTime, &tmbuff);
          if (bp) {
            bp->tm_hour = 0;
            bp->tm_min = 0;
            bp->tm_sec = 0;
            bp->tm_gmtoff = 0;
            bp->tm_isdst = 0;
            seconds = currTime - mktime(&age);
            if (seconds > 0) {
              bigger = bp;
              smaller = &age;
            } else {
              bigger = &age;
              smaller = bp;
            }
          } else {
            // Not expected
            sqlite3_result_null(context);
            return;
          }
        } else {
          // Not expected
          sqlite3_result_null(context);
          return;
        }
      } else   {
        (void)memset(&beg, 0, sizeof(struct tm));
        arg2 = (char *)sqlite3_value_text(argv[1]);
        if ((sscanf(arg2, "%d-%d-%d %d:%d:%d",
            &beg.tm_year, &beg.tm_mon, &beg.tm_mday,
            &beg.tm_hour, &beg.tm_min, &beg.tm_sec) < 3)) {
          ksu_err_msg(context, KSU_ERR_ARG_N_NOT_DATETIME,
                      2, "age");
          return;
        }
        beg.tm_mon -= 1;
        beg.tm_year -= 1900;
        seconds = mktime(&age) - mktime(&beg);
        if (seconds > 0) {
          bigger = &age;
          smaller = &beg;
        } else   {
          bigger = &beg;
          smaller = &age;
        }
        bp = &age;
      }
      findDifference(bigger, smaller);
      if ((rp = (char *)sqlite3_malloc(AGE_LEN)) == NULL) {
        sqlite3_result_error_nomem(context);
        return;
      }
      rp[0] = '\0';
      rplen = 0;
      if (bigger->tm_year) {
        snprintf(buff, BUFF_LEN, "%s%d years",
                 (bigger == bp ? "" : "-"), bigger->tm_year);
        strncat(rp, buff, AGE_LEN - rplen);
        rplen = strlen(rp);
      }
      if (bigger->tm_mon) {
        snprintf(buff, BUFF_LEN, "%s%s%d mons",
                 (rplen ? " " : ""),
                 (bigger == bp ? "" : "-"), bigger->tm_mon);
        strncat(rp, buff, AGE_LEN - rplen);
        rplen = strlen(rp);
      }
      if (bigger->tm_mday) {
        snprintf(buff, BUFF_LEN, "%s%s%d days",
                 (rplen ? " " : ""),
                 (bigger == bp ? "" : "-"),  bigger->tm_mday);
        strncat(rp, buff, AGE_LEN - rplen);
      }
      sqlite3_result_text(context, rp, -1, sqlite3_free);
   }
}