Change Line Type in OpenCascade
关键字KeyWords:OpenCascade,Line Aspect, Line Type
在OpenCascade的显示模块中,可以设置线型、消隐方式和离散精度等属性。这些属性都是在AIS_Drawer中设置。
AIS_Drawer类就是用来管理显示属性的。可以设置如下显示属性:
- void SetLineAspect (const Handle< Prs3d_LineAspect > &anAspect)
- void SetWireAspect (const Handle< Prs3d_LineAspect > &anAspect)
- void SetDeviationCoefficient (const Standard_Real aCoefficient)
- void SetTypeOfHLR (const Prs3d_TypeOfHLR theTypeOfHLR)
以为设置线型是用SetLineAspect,结果试了一下,不成功。查找了一下论坛,也有人有同样的问题:
又搜索了下,发现设置拓朴形状线型的函数是用:SetWireAspect,试验成功!示例程序如下所示:
Handle_AIS_Shape xAxis = new AIS_Shape(BRepBuilderAPI_MakeEdge(gp_Pnt( - 5000 , 0 , 0 ), gp_Pnt( 5000 , 0 , 0 )));Handle_Prs3d_LineAspect lineAspect = new Prs3d_LineAspect(Quantity_NOC_WHITE, Aspect_TOL_DOTDASH, 1 );xAxis -> Attributes() -> SetWireAspect(lineAspect); myAISContext -> Display(xAxis, false );