/// <summary> /// Initializes the OpenCascade views and assigns them View handles. /// </summary> private void InitializeOpenCascade() { // Initialize the Devices device3d = new Graphic3dWNTGraphicDevice(); // Create the V3d Viewer try { viewer3d = new V3dViewer(device3d, "Hello", "", 100, V3dTypeOfOrientation.V3d_XnegYpos, QuantityNameOfColor.Quantity_NOC_ALICEBLUE, V3dTypeOfVisualization.V3d_ZBUFFER, V3dTypeOfShadingModel.V3d_GOURAUD, V3dTypeOfUpdate.V3d_WAIT, true, true, V3dTypeOfSurfaceDetail.V3d_TEX_ALL); // manual default Debug.Assert(viewer3d != null); if (CreateLights()) { viewer3d.SetLightOn(); } } catch (Exception ex) { Debug.Assert(false, ex.Message); throw; //re-throw exception } // Create the 3D Interactive Context try { context3d = new AISInteractiveContext(this.viewer3d); Debug.Assert(context3d != null); if (context3d != null) { //context3d.HilightColor = NameOfColor.Quantity_NOC_DARKSLATEGRAY; //context3d.SelectionColor = NameOfColor.Quantity_NOC_WHITE; } } catch (Exception ex) { Debug.Assert(false, ex.Message); throw; // re-throw exception } // create the 2D interactive context //try //{ // context2d = new AIS2D_InteractiveContext(this.viewer2d); // Debug.Assert(context2d != null); // if (context2d != null) // { // //context.HilightColor = NameOfColor.Quantity_NOC_DARKSLATEGRAY; // //context.SelectionColor = NameOfColor.Quantity_NOC_WHITE; // } //} //catch (Exception ex) //{ // Debug.Assert(false, ex.Message); // throw; // re-throw exception //} // Create an OpenCascade view for each visible Custom controls CreateView3D(); //CreateView2D(); //SetVisualMode(); //bool executeTemporaryCode = true; //if (executeTemporaryCode) //{ // temporary code ------------------- // Draw a box for (int i = 0; i < 500; i += 10) { var pnt = new gpPnt(i, i, i); //OCBRepPrimAPI_MakeBox box = new BRepPrimAPI_MakeBox(pnt, 100, 100, 100); var box = new BRepPrimAPIMakeBox(pnt, 50, 50, 50); var shape = new AISShape(box.Shape); context3d.Display(shape, false); // manual default } view3d.FitAll(0.01, false, true); // manual default // ----------------------------------- //} // Build an XYZ axis trihedron and add it to Ocaf var coords = gp.ZOX; coords.Location = new gpPnt(0, 0, 0); var axis = new GeomAxis2Placement(coords); var trihedron = new AISTrihedron(axis) { Size = 200 }; context3d.Display(trihedron, false); }