Esempio n. 1
0
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;
}
Esempio n. 2
0
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()));
}