Создание нескольких видовых экранов в программе просмотра PCL - PullRequest
0 голосов
/ 13 марта 2020

Я использую программу просмотра PCL для визуализации облака точек. Я должен показать 4 вида (используя видовые окна): 1 вид покажет реальное облако, 2 - вид сверху определенной части, 3 - вид слева и 4 - вид спереди. Я добавил одно и то же облако точек к различным портам вида, используя функцию «createViewPort», указав размеры x & y (Прикрепленное изображение ниже).

Я хочу, чтобы 2-й, 3-й и 4-й вид были исправлены и не должны поворот. Как мне этого добиться.

Код:

    int full_viewport = 0;
    int left_viewport = 1;
    int middle_viewport = 2;
    int right_viewport = 3;


    m_pViewer.get()->removePointCloud(m_sCurrentPointCloudId, full_viewport);
    m_pViewer.get()->removePointCloud(m_sCurrentPointCloudId.append("_left"), left_viewport);
    m_pViewer.get()->removePointCloud(m_sCurrentPointCloudId.append("_middle"), middle_viewport);
    m_pViewer.get()->removePointCloud(m_sCurrentPointCloudId.append("_right"), right_viewport);

    //createViewPort (double xmin, double ymin, double xmax, double ymax, int &viewport);
    m_pViewer->createViewPort(0, 0, 1, 0.7, full_viewport);
    m_pViewer->createViewPort(0.0, 0.7, 0.33, 1, left_viewport);
    m_pViewer->createViewPort(0.33, 0.7, 0.66, 1, middle_viewport);
    m_pViewer->createViewPort(0.66, 0.7, 1, 1, right_viewport);

    m_pViewer->addPointCloud(m_pCloud, m_pColorHandler, newCloudId, full_viewport);
    m_pViewer->addPointCloud(m_pCloud, m_pColorHandler, newCloudId.append("_left"), left_viewport);
    m_pViewer->addPointCloud(m_pCloud, m_pColorHandler, newCloudId.append("_middle"), middle_viewport);
    m_pViewer->addPointCloud(m_pCloud, m_pColorHandler, newCloudId.append("_right"), right_viewport);

enter image description here

...