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
Update documentat if the class.
SetColor() and SetLabel() now work with 0-based index.
SetColor() now checks length of myColors.
Remove methods GetCurrentColor() and GetCurrentLabel().
Methods GetColor() and GetLabel() now can be used to get user-specified and default colors / labels.
Round down IntervNumber in FindColor().
DrawScale() - show labels even for one interval.
Redesign Draw Harness command vcolorscale, provide new options.
Update test cases which use vcolorscale command.
Test cases save results in directory pointed by ${imagedir} Tcl variable. File names are initialized in scripts and passed to DRAW command as argument.
Tests User Guide was updated.
Remarks were corrected
V3d_View::Gravity() - compute scene bounding box only including highlighted objects, if there are any, to provide context-oriented center of gravity.
Skip hidden objects, if there are any visible.
Do not return any value from this method.
Extend command vrotate with new flags -mouseStart and -mouseMove, to emulate rotation by mouse.
Unused argument theDi of VRotate disabled
Test case bugs/vis/bug10781 - use smaller line width in test case
(some Intel OpenGL drivers support only 7 pixels-width lines).
Test case bugs/vis/bug23227 - just check triangles count in feedback buffer is not 0.
Prs3d_WFShape::Add() - do not create empty group
Graphic3d_Structure::minMaxCoord() - do not use uninitialized bounding box
Added test case bugs/vis/bug25768
Move OpenGl_Structure::myZLayer to base class Graphic3d_CStructure.
Graphic3d_ZLayerId - introduce new pre-defined ZLayers.
Do not clear Depth buffer twice for default ZLayer.
AIS_InteractiveContext::Display() - add new argument AIS_DisplayStatus to specify displaying status.
Drop unused Graphic3d_CPick and related methods.
Drop OpenGl_Structure::myNamedStatus - use flags from parent class Graphic3d_CStructure directly.
OpenGl_LayerList ::ChangeLayer(), ::ChangePriority - fix structure remove from unexpected layer.
Merge class OpenGl_PriorityList into OpenGl_Layer.
PrsMgr_PresentationManager::mySelectionColor - store selection color as field of Presentation Manager.
PrsMgr_Presentation class - do not declare private methods as virtual.
PrsMgr_Presentation::Highlight() - extend method syntax and drop methods ::Color() and ::BoundBox().
PrsMgr_PresentableObject - store ZLayer in presentable object
to display object presentations in required layer directly
(without displaying it in wrong layer first).
test/mesh/end - force re-displaying the shape to compute mesh anew
Test-case for issue
Location calculation in SelectedShape() was corrected;
Method HasSelectedShape() that does not take into account shape decomposition was added.
Test case for issue 25627
New parameter MinSize has been introduced to BRepMesh and GCPnts_TangentialDeflection;
Check length of remaining part of curve for min size parameter instead of distance between two points to avoid large gaps in case highly distorted BSpline surfaces;
Produce fine mesh for sphere and fix other surface;
Test cases for issue CR25378
Correction of test cases for issue CR25378
Usage of QAGetPixelColor were checked and corrected.
Using simple comparison instead of regexp.
Improved usage of command vreadpixel for standard colors.
Command QAGetPixelColor was dropped from TKQADraw.
Procedures "checkcolor" and auxiliary "checkpoint" were moved to DrawResources/TestCommands.tcl
Some test cases using "checkcolor" for picking line color were simplified.
Procedures checkcolor and checkpoint were changed to handle situation when pixel is out of view.
Removed unnecessary use of command "vaspects -setwidth" in tests.
Revert -setwidth change in test bugs/vis/bug23525
Image_PixMap::ImgFormat - extend enumeration by ImgAlpha and ImgAlphaF.
OpenGl_Workspace::setTextureParams() - specify GL_REPLACE for 1-component textures with disabled modulation.
OpenGl_Texture::GetDataFormat() - return GL_LUMINANCE format for ImgGray format and GL_ALPHA for ImgAlpha.
vmarkerstest - override pixel format for grayscale images to ImgAlpha.
Add test case bugs/vis/bug25544_graytexture.
AIS_LocalContext::Remove() corrected to unbind the argument from
myActiveObjects at the very end. Also some code clean up applied
(e.g. duplicated AddOrRemoveSelected() call removed, formatting corrected).
code formatting
An improved RWSTL::ReadFile() method + a draw-command returning the number of nodes and triangles for a MeshVS_Mesh object based on STL mesh data source.
An indexed map of points is replaced by a CellFilter of XYZ objects already implemented in BRepBuilderAPI.
Also, BRepBuilderAPI_VertexInspector became exported for TKTopAlgo library (Standard_EXPORT is added for the methods of this class).
Standard_EXPORT is removed for in-line methods of BRepBuilderAPI_VertexInspector
Test-case for issue #25405
Update of test-cases, according to new behavior
- BVH tree in the target Z layer was not updated when OpenGl_Structure
was moved to another Z layer.
- vpriority DRAW command added to test how BVH tree is updated when
display priority is changed
- Test case for Z layers and display priorities added
Handle -noupdate argument within vpriority command
Added method to clear outdated selection of entity owners on recompute (update) of selection.
Added test case to check selection behavior in local context.
Cosmetic corrections
1. DRAW-commands for curve/surface continuity returning were changed.
2. Output of "distmini" DRAW-command is amended.
3. Function MinMax() was moved from Standard_Real to IntPatch_ImpImpIntersection_4.gxx.
4. Incorrect computing of nbcurveC1 in Geom2dConvert::C0BSplineToC1BSplineCurve(...) function was liquidated.
Test cases were changed.
In order to solve the problem, triangle vertices order is inverted in
mirrored mesh (triangulation). Mesh considered to be mirrored if its
transformation matrix determinant is less than 0.
To handle AIS object mirror transformations "Mirrored" flag stored in
OpenGl_Structure. If this flag is enabled, glFrontFace (GL_CW) applied
before the draw call.
New DRAW commands for visualization level transformations added.
Entity owners built from decomposition of parent interactive shape are now treated when erasing shape in local selection context
Correction of test case for issue CR24966
Initial UNICODE (UFT-8) characters support for OCCT file operations
Fix for compilation errors and fix for StepFile (avoid objects in pure c code)
Fixes for set unicode symbols to OCAF and visualization
Enumerations Visual3d_TypeOfModel, V3d_TypeOfShadingModel.
- Remove unused values V3d_MULTICOLOR, V3d_HIDDEN, Visual3d_TOM_INTERP_COLOR.
- Add per-pixel shading mode - V3d_PHONG, Visual3d_TOM_FRAGMENT.
Draw Harness command vrenderparams.
Add option -shadingModel to setup Shading Model.
OpenGl_Caps::ffpEnable - new option to switch FFP/built-in GLSL programs.
OpenGl_ShaderManager - add built-in GLSL programs.
Draw Harness command vcaps.
- Fix command syntax to meet coding rules.
- Add option -ffp to activate/disable built-in GLSL programs.
GLSL API changes.
- Rename vertex attribute occColor -> occVertColor.
- Introduce vec4 occColor uniform variable for light-less shaders.
- Introduce float occPointSize uniform variable for marker programs.
OpenGl_VertexBuffer::bindAttribute() - activate normalization for non-GL_FLOAT types,
since color attribute is defined as 32-bit vector of 4 unsigned byte values.
OpenGl_Context - add methods SetColor4fv() and SetPointSize()
for parameters redirection to active GLSL program
(as alternative to glColor4fv() and glPointSize()).
OpenGl_ShaderProgram - define default precision for float types
in Fragment Shader within OpenGL ES 2.0+ context.
OpenGl_AspectMarker, initialize Aspect_TOM_O_POINT display list
in the same way as sprite texture.
OpenGl_Texture, do not use sized internal formats on OpenGL ES.
Make vcamera command syntax more clear.
Restore command vraytrace as alias to vrenderparams.
Replace occurencies of atof() by Draw::Atof() in ViewerTest_ViewerCommands.cxx.
Make commands syntax to meet coding rules.
Correct angle dimension initialization to allow ellipse input geometry with equal radii.
Change default value of arrow angle for dimensions (from 20 to 12 degrees).
Add arlength, arangle, textmode, textsize to vdimension and vdimparam Draw commands.
Add color parameter to vdimension and vdimparam.
Display dimensions by default.
Add dimensions demo script samples/tcl/dimensions.tcl.
Add file for test case for issue CR25235