Change Line Type in OpenCascade

Change Line Type in OpenCascade

[email protected]

 

关键字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,结果试了一下,不成功。查找了一下论坛,也有人有同样的问题:

http://www.opencascade.org/org/forum/thread_12589/?forum=3

Change Line Type in OpenCascade_第1张图片

又搜索了下,发现设置拓朴形状线型的函数是用: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 );

   

你可能感兴趣的:(Change Line Type in OpenCascade)