AIS_InteractiveObject是一个抽象类,用于表示可交互的3D对象,而AIS_Shape则是AIS_InteractiveObject的子类,用于表示具体的形状。本文将介绍如何在OCC中将AIS_InteractiveObject转换为AIS_Shape,并详细阐述这一过程的五个主要步骤。 正文内容: 1.获取AIS_InteractiveObject对象 1.1使用AIS_InteractiveContext类的方法获取AIS_...
occ中将ais_interactiveobject转换为ais_shape在AutoCAD的ObjectARX应用程序中,AIS_InteractiveObject是一个基类,它表示一个交互式对象,例如线、圆、弧、多段线等。而AIS_Shape是AutoCAD内部的一个类,它表示一个图形形状,如点、线、弧等。 要将AIS_InteractiveObject转换为AIS_Shape,你需要首先确定你正在处理的具体对象...
TopoDS_Shape aTopoBoxB=aShapeCopy.Shape();//平移,防止2个BOX重叠gp_Trsf aTrsf; aTrsf.SetTranslation(gp_Vec(4.0,0.0,0.0)); aTopoBoxB.Move(TopLoc_Location(aTrsf));//显示BOXHandle(AIS_Shape) anAisBoxA =newAIS_Shape(aTopoBoxA); anAisBoxA->SetColor(Quantity_NOC_AZURE); Handle(AIS_Shape...
Handle(AIS_Shape) hBoxShape = new AIS_Shape(aShpae); myAISContext->Display(hBoxShape, Standard_True); myAISContext->Deactivate(hBoxShape); myAISContext->Activate(hBoxShape, AIS_Shape::SelectionMode(TopAbs_FACE)); myAISContext->Activate(hBoxShape, AIS_Shape::SelectionMode(TopAbs_EDGE)); my...
再看下图,展示了AIS_InteractiveContext::Display的一个过程:AIS_InteractiveContext::Display调用PrsMgr_PresentationManager3d(PrsMgr_PresentationManager的别名)的Compute函数,PrsMgr_PresentationManager继续调用AIS_Shape的Compute函数,其中AIS_Shape是AIS_InteractiveObject的派生类(AIS_InteractiveObject有很多派生类,在源码AIS目...
在OCC(Open CASCADE Technology)中,将`ais_interactiveobject`类型转换为`topods_shape`类型通常涉及到两个步骤: 1.从`ais_interactiveobject`获取几何信息。 2.使用这些几何信息创建一个新的`topods_shape`对象。 以下是一个简单的示例代码,展示如何在OCC中完成此转换: ```cpp #include <BRepPrimAPI_Box.hxx> #...
for(TopExp_Explorer ex(shape,TopAbs_EDGE) ; ex.More(); ex.Next()) { TopoDS_Edge F =TopoDS::Edge(ex.Current()); builder.Add(comp, F); } //显示边线组 Handle (AIS_Shape) compShape =newAIS_Shape(comp); myAISContext->SetColor(compShape, myEdgeColor,Standard_False); ...
// 创建occ应用程序实例 AIS_InteractiveContext context; // 加载几何模型 TopoDS_Shape shape=...;// 加载几何模型的代码 // 激活选择模式 context.InitSelected(); // 等待用户选择形状 context.WaitForSelection(); // 获取选中的形状对象 Handle(AIS_Shape)selectedShape=context.SelectedShape(); ...
context = new AIS_InteractiveContext(viewer); context->SetDisplayMode(AIS_Shaded, Standard_True); TopoDS_Shape boxShape = occ.MakeBottle(50, 70, 30); Quantity_Color color = Quantity_Color(0.3, 0.5, 0.3, Quantity_TOC_RGB); Handle(AIS_Shape) abox = new AIS_Shape(boxShape); ...
occ的显示,ais_interactive_object 分为三类: 1.基本类(与几何造型无关): ais_point, ais_axis, ais_line, ais_circle, ais_plane, ais_trihedron 2.object类:ais_shape为主 3.标注类:ais_radiusdimension ais_interactive_object都由具体的几何模型创建得到,每个ais_interactive_object都可以设置自己的显示模式...