当前位置: 首页 > news >正文

免费网页设计生成器天津seo数据监控

免费网页设计生成器,天津seo数据监控,商城系统源码,个人社保缴费年限查询OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有…

OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有高度(圆柱最后我用的投影的方法获取高度)。

本章,拾取的面按步距生成点云,因为没有大小或者没办法通过UV控制,所以尝试通过点云类直接操作

1、通过点云生成TopoDS_Shape

可以尝试BRepLib_PointCloudShape

2、通过TopoDS_Shape  直接生成点云。

BRepLib_PointCloudShape  这个类可以实现。

参考连接:Open Cascade 7.7.0 新功能:模拟三维扫描点云-BRepLib_PointCloudShape - unicornsir - 博客园

代码如下:

a.类继承和虚函数的实现:

class PointCloudPntFiller : public BRepLib_PointCloudShape
{
public:
    PointCloudPntFiller(Standard_Real theTol) : BRepLib_PointCloudShape(TopoDS_Shape(), theTol) {}
    void SetPointArray(const Handle(Graphic3d_ArrayOfPoints)& thePoints) { myPoints = thePoints; }

protected:
    virtual void addPoint(const gp_Pnt& thePoint,
        const gp_Vec& theNorm,
        const gp_Pnt2d& theUV,
        const TopoDS_Shape&) Standard_OVERRIDE
    {
        const Standard_Integer aPntIndex = myPoints->AddVertex(thePoint, theUV);
        if (theNorm.SquareMagnitude() > gp::Resolution())
        {
            myPoints->SetVertexNormal(aPntIndex, theNorm);
        }
        if (myPoints->HasVertexColors())
        {
            Quantity_Color aColor(360.0 * Standard_Real(aPntIndex) / Standard_Real(myPoints->VertexNumberAllocated()),
                1.0, 0.5, Quantity_TOC_HLS);
            myPoints->SetVertexColor(aPntIndex, aColor);
        }
    }

private:
    Handle(Graphic3d_ArrayOfPoints) myPoints;
};

b,.类的调用

    Handle(Graphic3d_ArrayOfPoints)thePoints=new  Graphic3d_ArrayOfPoints(10000, false, true);;
    PointCloudPntFiller thePointCloudPntFiller( Precision::Confusion());
    thePointCloudPntFiller.SetShape(aFace);
    thePointCloudPntFiller.SetDistance(uStep);
    thePointCloudPntFiller.SetPointArray(thePoints);
    thePointCloudPntFiller.GeneratePointsByDensity();

总结:

1、这个方法应该也可以根据密度生成网格小平面可以在和其他系统交互中把TopoDS_Shape 转换为数据

2、步距只能一个参数,不存UV 经纬这种操作。

我的遗留问题:为什么部分GeomAbs_BSplineSurface类型面通过BRepTools::UVBounds没办法获取大小。

double umin, umax, vmin, vmax;
BRepTools::UVBounds(aFace, umin, umax, vmin, vmax);

http://www.hkea.cn/news/110695/

相关文章:

  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做
  • 现在大家做电商网站用什么源码营销策略都有哪些
  • 可以做试卷的网站英语怎么说seo关键词排名优化系统源码
  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用
  • 国外网站在国内做镜像站点网站搭建费用
  • 网站后台如何添加关键词软件开发公司
  • 手机做网站的网站windows优化大师卸载不了
  • 万网速成网站有哪些 功能自己的网站怎么推广
  • 邯郸哪有做网站的河南百度推广公司
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢西安网站seo优化公司