当前位置: 首页>>代码示例>>C++>>正文


C++ Renderable::pointcloud方法代码示例

本文整理汇总了C++中Renderable::pointcloud方法的典型用法代码示例。如果您正苦于以下问题:C++ Renderable::pointcloud方法的具体用法?C++ Renderable::pointcloud怎么用?C++ Renderable::pointcloud使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Renderable的用法示例。


在下文中一共展示了Renderable::pointcloud方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: getProtoScale

float PointCloudRenderer::getProtoScale(Renderable & renderable)
{
    float factor = 1.0;
    if(renderable.pointcloud().has_units())
    {
        factor = 1000.0/renderable.pointcloud().units();
    }
    return factor;
}
开发者ID:CURG,项目名称:graspit_bci,代码行数:9,代码来源:RenderableProtoDrawer.cpp

示例2: fillPointList

int PointCloudRenderer::fillPointList(Renderable & renderable,
                                       std::vector<SbVec3f> &points,
                                       std::vector<SbColor> &colors)
{
    //Unpack the pointcloud just for future code berevity
    const PointCloudXYZRGB & pc(renderable.pointcloud());
    int pointNum = pc.points_size();
    points.reserve(pointNum);
    colors.reserve(pointNum);

    for(int i = 0; i < pointNum; ++i)
    {
        //Unpack the data from the nested data structures
        const PointXYZRGB & pc_colored_point(pc.points(i));
        const PointXYZ & pc_point(pc_colored_point.point());
        const ColorRGB & pc_color(pc_colored_point.color());
        if (std::isnan(pc_point.x()))
            continue;
        //Put the data in the data structures
        points.push_back(SbVec3f(pc_point.x(), pc_point.y(), pc_point.z()));
        colors.push_back(SbColor(pc_color.red(), pc_color.green(), pc_color.blue()));
    }
    return pointNum;

}
开发者ID:CURG,项目名称:graspit_bci,代码行数:25,代码来源:RenderableProtoDrawer.cpp

示例3: setScale

void PointCloudRenderer::setScale(SoSeparator *ivRoot, Renderable &renderable)
{
    float factor = 1.0;
    factor = getProtoScale(renderable);
    if(renderable.pointcloud().has_units())
    {
        factor = 1000.0/renderable.pointcloud().units();
    }


    if (ivRoot->getNumChildren() < 2 || ivRoot->getChild(1)->getTypeId() != SoScale::getClassTypeId())
    {
        ivRoot->insertChild(new SoScale(),1);
    }

    SoScale * cloudScale = static_cast<SoScale *>(ivRoot->getChild(1));
    cloudScale->setName("PointCloudScale");
    cloudScale->scaleFactor.setValue(factor, factor, factor);
}
开发者ID:CURG,项目名称:graspit_bci,代码行数:19,代码来源:RenderableProtoDrawer.cpp


注:本文中的Renderable::pointcloud方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。