static void convParam(float intr[3][4], float dist[4], int xsize, int ysize, ARParam *param) { ARdouble s; int i, j; param->dist_function_version = 4; param->xsize = xsize; param->ysize = ysize; param->dist_factor[0] = (ARdouble)dist[0]; /* k1 */ param->dist_factor[1] = (ARdouble)dist[1]; /* k2 */ param->dist_factor[2] = (ARdouble)dist[2]; /* p1 */ param->dist_factor[3] = (ARdouble)dist[3]; /* p2 */ param->dist_factor[4] = (ARdouble)intr[0][0]; /* fx */ param->dist_factor[5] = (ARdouble)intr[1][1]; /* fy */ param->dist_factor[6] = (ARdouble)intr[0][2]; /* x0 */ param->dist_factor[7] = (ARdouble)intr[1][2]; /* y0 */ param->dist_factor[8] = (ARdouble)1.0; /* s */ for (j = 0; j < 3; j++) { for (i = 0; i < 4; i++) { param->mat[j][i] = (ARdouble)intr[j][i]; } } s = getSizeFactor(param->dist_factor, xsize, ysize, param->dist_function_version); param->mat[0][0] /= s; param->mat[0][1] /= s; param->mat[1][0] /= s; param->mat[1][1] /= s; param->dist_factor[8] = s; }
static void describeSurfelRenderer(ExporterContext &,DescriptionMap & desc,State * state) { auto renderer = dynamic_cast<BlueSurfels::SurfelRenderer *>(state); desc.setString(Consts::ATTR_STATE_TYPE, Consts::STATE_TYPE_SURFEL_RENDERER); desc.setValue(Consts::ATTR_SURFEL_RENDERER_COUNT_FACTOR, Util::GenericAttribute::createNumber(renderer->getCountFactor())); desc.setValue(Consts::ATTR_SURFEL_RENDERER_MAX_SIZE, Util::GenericAttribute::createNumber(renderer->getMaxSideLength())); desc.setValue(Consts::ATTR_SURFEL_RENDERER_MIN_SIZE, Util::GenericAttribute::createNumber(renderer->getMinSideLength())); desc.setValue(Consts::ATTR_SURFEL_RENDERER_SIZE_FACTOR, Util::GenericAttribute::createNumber(renderer->getSizeFactor())); }