颜色标尺AIS_ColorScale的显示
在一些软件中经常会看到界面上放置一个颜色标尺,用来标识不同颜色所代表的温度、高度等。很多数值分析软件后处理的结果都有绘制云图的功能。
在OpenCADCADE中也提供了这样一个类AIS_ColorScale。如下为我的一个项目界面(读取stl网格,然后为每个顶点设定不同的颜色,颜色取值范围为0-1,每个定点的颜色根据其支撑强度计算颜色值,最后显示网格模型。该项目为3d打印工件创建支撑,可根据颜色计算不同的支撑立柱)。

下面给出使用该类的C++代码。
Handle(AIS_ColorScale) colorScale = new AIS_ColorScale(); colorScale->SetRange(0, 1);//数值范围 colorScale->SetNumberOfIntervals(0.1);//颜色间隔 colorScale->SetSmoothTransition(true);//颜色光滑过渡 colorScale->SetLabelPosition(Aspect_TOCSP_RIGHT);//标签位置 colorScale->SetTextHeight(16);//文本高度 colorScale->SetSize(50, 200);//标尺大小 colorScale->SetZLayer(Graphic3d_ZLayerId_TopOSD);//最上层显示 Handle(Graphic3d_TransformPers) aTrsfPers = new Graphic3d_TransformPers(Graphic3d_TMF_2d, Aspect_TOTP_LEFT, Graphic3d_Vec2i(0, 0)); colorScale->SetTransformPersistence(aTrsfPers);//显示位置 colorScale->SetToUpdate(); m_AisCxt->Display(colorScale, Standard_True);//显示
更多请参考:
参考1
https://blog.csdn.net/qq_40247982/article/details/106619947
参考2(大神eryar的文章)
http://www.cppblog.com/eryar/archive/2014/09/20/208362.html
更多精彩请关注公众号

浙公网安备 33010602011771号