Exemple #1
0
main()
{
static int a[]={97,98,99,100,101,102,103,104};
int *pt=a+1;
printf("\n\n%u %d",pt,*pt);
ppt(++pt,pt--,pt,pt++,pt++);
}
void ModelToImage::computeDepthListMatrix(DepthListMatrix& mat)
{
    cout << timestamp << "Initializting DepthListMatrix with dimensions " << m_width << " x " << m_height << endl;
    // Set correct image width and height
    for(int i = 0; i < m_height; i++)
    {
        mat.pixels.emplace_back(vector<vector<PanoramaPoint> >());
        for(int j = 0; j < m_width; j++)
        {
            mat.pixels[i].push_back(vector<PanoramaPoint>());
        }
    }

    // Get point array and size from buffer
    size_t n_points;
    floatArr points = m_points->getPointArray(n_points);

    // Create progress output
    string comment = timestamp.getElapsedTime() + "Projecting points ";
    ProgressBar progress(n_points, comment);

    float range;
    int img_x, img_y;
    for(int i = 0; i < n_points; i++)
    {        
        Vertex<float> ppt(points[3 * i], points[3 * i + 1], points[3 * i + 2]);

        m_projection->project(
                    img_x, img_y, range,
                    ppt.x, ppt.y, ppt.z);

        // Update min and max ranges
        if(range > mat.maxRange)
        {
            mat.maxRange = range;
        }

        if(range < mat.minRange)
        {
            mat.minRange = range;
        }

        if(range < m_maxZ)
        {
            // Add point index to image pixel
            mat.pixels[img_y][img_x].emplace_back(PanoramaPoint(i));
        }
        ++progress;
    }
    cout << endl;
}
tutor::PPoint2d pt_to_ppt(Point3d pt) {
	tutor::PPoint2d  ppt(pt.x, pt.y, pt.z);
	return ppt;
}