occt: master 5bffb882

Author Committer Branch Timestamp Parent
ibs bugmaster master 2015-02-26 09:50:32 master a1096551
Affected Issues  0025687: Visualization, XCAF - eliminate visual artifacts at the edges of faces
Changeset 0025687: Visualization, XCAF - eliminate visual artifacts at the edges of faces

AIS_ColoredShape::Compute() - improve logic to split input shape into Closed and Open volumes
with back-face culling enabled when possible.

Change last argument of method StdPrs_ShadedShape::Add() from boolean to enumeration StdPrs_Volume
which controls parsing of Closed/Open volumes within input shape.
Make method StdPrs_ShadedShape::ExploreSolids() public.

Extend Draw Harness command vaspects with option -setvisibility to hide subshape (using AIS_ColoredShape).
Add new test cases bugs/bis/bug25687_1 and bugs/bis/bug25687_2.

the logic of bindSubShapes method clarified

Conflicts:

    src/AIS/AIS_ColoredShape.cxx

AIS_ColoredShape::dispatchColors considers the colors of displayed shapes in connection with specific priority

the color of specific shape can be exported from several ways: the color of this shape, the color of a compound containing this shape. The highest priority has the color of shape than the one of the compound. The color with highest priority will be displayed.

This patch accounts for the highest priority of the shape color.

For example: w - wire has GREEN color; e - edge has RED color; "w" contains "e"; all edges of "w" will be displayed in GREEN color except "e" edge, it will be displayed in RED color

Added sample generating model of Intel i7-4790 CPU on which the problem can be reproduced
add - samples/tcl/cpu.tcl Diff File
mod - samples/tcl/dimensions.tcl Diff File
mod - samples/tcl/pencil.tcl Diff File
mod - samples/tcl/xde.tcl Diff File
mod - src/AIS/AIS_ColoredShape.cxx Diff File
mod - src/AIS/AIS_ColoredShape.hxx Diff File
mod - src/StdPrs/StdPrs.cdl Diff File
mod - src/StdPrs/StdPrs_ShadedShape.cdl Diff File
mod - src/StdPrs/StdPrs_ShadedShape.cxx Diff File
mod - src/ViewerTest/ViewerTest.cxx Diff File
add - tests/bugs/vis/bug25687_1 Diff File
add - tests/bugs/vis/bug25687_2 Diff File