0030854: Visualization, AIS_ViewCube - pack triangulations into common array(s)
authorkgv <kgv@opencascade.com>
Mon, 5 Aug 2019 17:26:11 +0000 (20:26 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 9 Aug 2019 14:36:47 +0000 (17:36 +0300)
commitcaa309aaf4b1f6e50e944c4aab8aaed71379a8fd
tree2d1131248cc1b63232faff9f57733f68cea0d3b8
parent6f5db508042c4cfba0615641750bb41944bf7638
0030854: Visualization, AIS_ViewCube - pack triangulations into common array(s)

Presentation computation has been modified to merge triangulations per box part type.
Prs3d_Drawer::FaceBoundaryDraw() flag is now handled for drawing box sides edges.

Graphic3d_ArrayOfPrimitives has been extended by auxiliary methods:
- ::AddSegmentEdges(), ::AddTriangleEdges(), ::AddQuadEdges() raising exception on wrong primitive type.
- ::AddQuadTriangleEdges() splitting quad into indexed triangulation;
- ::AddTriangleStripEdges() splitting triangle strip into indexed triangulation;
- ::AddTriangleFanEdges() splitting triangle fan into indexed triangulation;
- ::AddPolylineEdges() splitting polyline into indexed segments.
src/AIS/AIS_ViewCube.cxx
src/AIS/AIS_ViewCube.hxx
src/Graphic3d/Graphic3d_ArrayOfPrimitives.cxx
src/Graphic3d/Graphic3d_ArrayOfPrimitives.hxx
tests/v3d/viewcube/style