vro [Mon, 15 Feb 2021 13:13:46 +0000 (16:13 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)
// Fixed a regression in bugs vis bug30630_1 (mirrored shape)
vro [Mon, 15 Feb 2021 11:27:53 +0000 (14:27 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)
// Fixed a twice-reverse of normals (revealed in bugs vis... tests).
vro [Sun, 14 Feb 2021 06:07:54 +0000 (09:07 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)
// Added TDataXtd_SurfacicMesh.hxx and cxx to the git.
vro [Sun, 14 Feb 2021 05:55:02 +0000 (08:55 +0300)]
0025936: Modeling Data - reusable data structure for 2D tesselation (3- and 4-nodal mesh)
Extension of triangular mesh of Open CASCADE to support quadrangular elements.
A Poly_Mesh class inherits Poly_Triangulation and manipulates quadrangles.
A TDataXtd_SurfacicMesh OCAF attribute is added to support a new surface mesh in OCAF operations.
// Porting of old development (for OCCT 7.1.0) to the current version of Open CASCADE.
// All remarks are checked, regressions are fixed.
// A new test-case is added : caf basic Z1
osa [Fri, 5 Feb 2021 14:51:17 +0000 (17:51 +0300)]
0032099: Visualization - define OSD_FileSystem class managing opening of file streams
1) Remove unnecessary includes of "Standard_OStream.hxx" file and add it only into files where it is really used.
2) Create the base interface for a file stream provider OSD_FileSystem and its inheritor OSD_CachedFileSystem that keeping last stream to be reused for opening a stream with the same URL.
3) Use OSD_CachedFileSystem object instead of RWGltf_GltfSharedIStream during Gltf reading.
kgv [Wed, 10 Feb 2021 08:05:33 +0000 (11:05 +0300)]
0032124: Visualization, AIS_Shape - setting color will cause Iso Lines to appear due to misprint in Prs3d_Drawer::SetOwnLineAspects()
Fixed misprint myUIsoAspect -> myVIsoAspect.
emv [Thu, 28 Jan 2021 09:34:19 +0000 (12:34 +0300)]
0031974: Modeling Algorithms - Strange behavior of boolean operations on this BREP
Problem is fixed by #
0031995. Integrating test case only.
mkrylova [Tue, 8 Sep 2020 14:50:28 +0000 (17:50 +0300)]
0031704: Visualization - add an interactive object AIS_LightSource representing a light source
Added new class AIS_LightSource representing a light source presentation.
Graphic3d_TMF_CameraPers - added new mode to Graphic3d_TransformPers
defining 3D point relative to camera Eye position
kgv [Fri, 29 Jan 2021 07:24:36 +0000 (10:24 +0300)]
0032095: Tests - drop comparison in unstable perf/ncollection group
Mark performance deviations compared to STL collections as warnings instead of errors.
dpasukhi [Sat, 6 Feb 2021 15:43:43 +0000 (18:43 +0300)]
0032119: Coding Rules - eliminate msvc warning C4800 (implicit cast to bool) after fix for 32115
Fixed incorrect comparison and forcing cast
kgv [Sun, 7 Feb 2021 08:03:33 +0000 (11:03 +0300)]
0032122: Samples - handle WASD keys in WebGL sample
kgv [Fri, 5 Feb 2021 17:40:26 +0000 (20:40 +0300)]
0032118: Visualization, Graphic3d_MarkerImage::StandardMarker() - return marker with pre-defined id
kgv [Fri, 5 Feb 2021 17:38:15 +0000 (20:38 +0300)]
0032117: Visualization, TKOpenGl - assert in OpenGl_AspectsSprite due to implicit destruction of existing resource
RGBA and Alpha markers are now handled independently within OpenGl_AspectsSprite::build().
dpasukhi [Fri, 5 Feb 2021 10:05:22 +0000 (13:05 +0300)]
0032115: Data Exchange, STEP reader - Incorrect full path to file is not caught
Fixed a checking for a non-existent step file
dpasukhi [Mon, 11 Jan 2021 10:20:31 +0000 (13:20 +0300)]
0031970: Data Exchange, STEP reader - parser syntax error messages are inaccessible
- Upgraded files using new version of WinFlexBison
- Removed global variables within StepFile_Read.cxx
- Upgraded error message during bison analyzing ( added a expected expression information )
- Used 'Interface_ParamType' as argument type for the StepFile_ReadData::Argument
for a compatibility with the StepData/StepData_StepReaderData
- Added handling parse errors and transferring it to the StepData_StepReaderData
- Now parsing and referencing errors save in the check and non output by default
- Step_file's and Step_Data's output info prints according by trace level of printer
- Removed useless location.hxx
- Removed TraceLevel for the StepFile_Reader ( now it useless,
it is 0 by default and newer and nowhere change )
- Translate error message into English within StepData_StepReaderData
- Replace "Error" word in the output messages
kgv [Tue, 2 Feb 2021 23:50:55 +0000 (02:50 +0300)]
0032114: Visualization, TKOpenGl - broken PBR LUT on OpenGL ES 2.0
Added image formats Image_Format_RGF_half/Image_Format_RGBAF_half
with manual conversion between 32-bit float and 16-bit half-float values.
PBR LUT table is now converted into GL_HALF_FLOAT_OES data format in case of OpenGL ES 2.0.
kgv [Tue, 2 Feb 2021 11:33:57 +0000 (14:33 +0300)]
0032110: Visualization, TKOpenGl - allow incomplete PBR on OpenGL ES 2.0 without GL_EXT_shader_texture_lod
textureCube() is now used as fallback when textureCubeLod() is unavailable.
kgv [Tue, 2 Feb 2021 20:02:51 +0000 (23:02 +0300)]
0032113: Visualization, TKOpenGl - broken PBR diffuse map within OpenGl_Caps::buffersOpaqueAlpha() on OpenGL ES 2.0
Fixed enabling of alpha channel writes while baking PBR environment.
emv [Tue, 2 Feb 2021 08:37:28 +0000 (11:37 +0300)]
0032108: Modeling Algorithms - BRepAlgoAPI_Section is too slow
Fixed by
0029711. Integrating test case only.
luz paz [Mon, 1 Feb 2021 09:52:47 +0000 (12:52 +0300)]
0031939: Coding - correction of spelling errors in comments [part 8]
Fix various typos
Fixed via codespell v2.1.dev
kgv [Mon, 1 Feb 2021 21:41:01 +0000 (00:41 +0300)]
0032105: Visualization, TKOpenGl - PBR flat shading GLSL program compilation error on OpenGL ES 2.0
OpenGl_ShaderManager::defaultGlslVersion() - fixed combining two extensions in header.
kgv [Mon, 1 Feb 2021 17:46:00 +0000 (20:46 +0300)]
0032101: Visualization, TKOpenGl - use GL_UNPACK_ROW_LENGTH within OpenGL ES 3.0 / WebGL 2.0
Added OpenGl_Context::hasUnpackRowLength property for using GL_UNPACK_ROW_LENGTH in runtime.
OpenGl_Texture now uses GL_UNPACK_ROW_LENGTH on OpenGL ES 3.0 when necessary.
OpenGl_Texture::InitCubeMap() now allows uploading vertically-stacked cubemaps
without GL_UNPACK_ROW_LENGTH requirement.
kgv [Fri, 22 Jan 2021 16:03:45 +0000 (19:03 +0300)]
0032079: Coding Rules - rename AIS_KindOfInteractive enumeration values with fully-qualified name
In addition, several ViewerTest command have been cleared out from duplicated checks.
kgv [Fri, 29 Jan 2021 02:29:50 +0000 (05:29 +0300)]
0032094: Visualization, TKOpenGl - OpenGl_VertexBuffer::bindAttribute() silently does nothing without active GLSL program
OpenGl_VertexBuffer::bindAttribute() now prints an error message indicating a possible VBO misuse.
kgv [Fri, 29 Jan 2021 01:59:41 +0000 (04:59 +0300)]
0032081: Visualization - WebGL sample errors when run in Safari browser with WebGL 1.0
"MAX_WEBGL_VERSION=2" Emscripten option is now used for building sample instead of deprecated "USE_WEBGL2=1".
kgv [Sun, 24 Jan 2021 15:31:54 +0000 (18:31 +0300)]
0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic (iPad)
Added "#define occLight_Index(theId) 0" workaround allowing to compile
a single light source PBR shading program on OpenGL ES 2.0,
as it disallows non-constant index expressions (even trivially deducable at compile-time).
PBR lookup table is now automatically resized to RGBA format
when RG texture format is unsupported (OpenGL ES 2.0).
OpenGl_ShaderManager now allows compiling PBR shaders
using WebGL 1.0 + GL_EXT_shader_texture_lod extension.
PBR IBL baking GLSL program has been redisigned to use
if/else to avoid non-constant index expressions.
Diffuse baking implements packing float values into a temporary RGBA8 texture
as a fallback solution on WebGL 1.0 implementations supporting float textures
but not as FBO render targets.
OpenGl_PBREnvironment now uses GL_FRAMEBUFFER instead of GL_DRAW_FRAMEBUFFER
for compatibility with OpenGL ES 2.0.
kgv [Fri, 29 Jan 2021 00:34:16 +0000 (03:34 +0300)]
0032093: Visualization, TKOpenGl - loading texture in BGR format fails in OpenGL ES
Graphic3d_TextureRoot::convertToCompatible() - fixed handling of
Image_Format_BGR and Image_Format_BGRA formats.
OpenGl_Texture - added error message for unsupported pixel format;
error messages have been extended by resource id.
OpenGl_Texture::InitCubeMap() now does not release cubemap
on mipmaps generation failure.
Image_PixMap::ImageFormatToString() - added method returning name of pixel format.
emv [Thu, 28 Jan 2021 10:02:08 +0000 (13:02 +0300)]
0031912: Modeling Algorithms - Boolean Cut can't build resulting shape
Problem is fixed by #
0032058. Integrating test case only.
osa [Fri, 22 Jan 2021 14:56:45 +0000 (17:56 +0300)]
0032078: Visualization, Poly_Triangulation - add cached bounding box.
1) Add empty constructor for Poly_Triangulation(),
2) Add Poly_Triangulation::HasGeometry() method to check that triangulation has any geometry.
3) Add possibility to cache bounding box in Poly_Triangulation and use it later in case of empty triangulation.
4) Add Poly_Triangulation::MinMax() to extends input box with bounding box of triangulation.
5) Add Poly_Triangulation::UpdateCachedMinMax() to cache min - max range of this triangulation with bounding box of nodal data.
6) Add virtual Poly_Triangulation::computeBoundingBox() to calculate bounding box of nodal data.
7) Update BRepBndLib::Add/AddOptimal/AddOBB algorithms to check empty triangulation and use cached box in this case.
8) Update BRepGProp::roughBary/surfaceProperties/volumeProperties to skip empty triangulation.
9) Remove additional myBox from RWGltf_GltfLatePrimitiveArray and some hack to save this box as nodes of base Poly_Triangulation.
10) Cache min-max range from JT file during its parsing
kgv [Sat, 23 Jan 2021 18:35:46 +0000 (21:35 +0300)]
0032082: Visualization, TKOpenGl - improve formatting of error messages
Error messages in TKOpenGl package have been improved to format
GLenum values as string constants or hex values.
OpenGl_VertexBuffer::init() now logs a message with error details
instead of just returning Boolean flag.
jgv [Tue, 12 Jan 2021 00:45:17 +0000 (03:45 +0300)]
0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails
Multiple changes in BRepOffset_MakeOffset algorithm:
- correct fusing vertices;
- correct building intersection edges;
- correct intersecting new edges in 2D;
- correct building wire on a new face;
- correct building history.
mkrylova [Thu, 31 Dec 2020 06:37:51 +0000 (09:37 +0300)]
0031547: Visualization - V3d_View creates V3d_Trihedron instance
- moved creating of V3d_View::myTrihedron from constructor to first attempt of displaying or calling it;
- moved creating of V3d_Viewer::myRGrid and V3d_Viewer::myCGrid to to first attempt of displaying or calling them;
- renamed V3d_Viewer::IsActive() to V3d_Viewer::IsGridActive();
- redefined V3d_View::Trihedron() and V3d_Viewer::Grid() by adding new argument toCreate
for opportunity to check the existence of the objects without their recreating.
kgv [Mon, 18 Jan 2021 17:50:52 +0000 (20:50 +0300)]
0032065: Samples - use MODULARIZE within WebGL sample
Fixed multitouch input.
Module is now exported with global functions hidden via MODULARIZE
as global object OccViewerModule created by createOccViewerModule().
Global Module setup has been moved to occt-webgl-viewer.js.
Use EMSCRIPTEN_KEEPALIVE attribute istead of listing C functions via EXTRA_EXPORTED_RUNTIME_METHODS.
WasmOcctView now exports static methods as Module functions using EMSCRIPTEN_BINDINGS.
Standard_ASSERT_DBGBREAK_() is now defined using emscripten_debugger().
dpasukhi [Sun, 17 Jan 2021 13:27:11 +0000 (16:27 +0300)]
0032049: Data Exchange - STEP file import problems
- Added checking for null objects
- Added support to find layers according to visible attr
- Fixed problem with same names of layers:
Now, layers are grouped by names and visibility parameter
ifv [Tue, 12 Jan 2021 13:14:35 +0000 (16:14 +0300)]
0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface of revolunion and circle
Extrema_GenExtCS.cxx : added solution refinement, if solution seems to be "bad" according to special criteria.
Extrema_FuncExtCS.cxx : "cosmetic" modifications
BOPAlgo_PaveFiller_3.cxx : adding control of shape index to prevent exception in ShapeInfo
bugs/moddata_3/bug32058 : new test
kgv [Tue, 19 Jan 2021 15:19:26 +0000 (18:19 +0300)]
0032067: Visualization, TKOpenGl - shadowmap GLSL compilation error on WebGL 3.0
Shadowmap sampler is now passed as a dedicated argument
to occDirectionalLightShadow() to workaround strict GLSL syntax validator.
Fixed texture coordinates clamping range.
Shadow antialiasing is disabled on OpenGL ES 2.0.
luz paz [Mon, 18 Jan 2021 09:36:06 +0000 (12:36 +0300)]
0031939: Coding - correction of spelling errors in comments [part 7]
Fix various typos
Fixed via codespell v2.1.dev
kgv [Mon, 18 Jan 2021 21:13:54 +0000 (00:13 +0300)]
0032064: Coding Rules - make RWGltf_GltfJsonParser non-private
akaftasev [Fri, 27 Nov 2020 15:07:39 +0000 (18:07 +0300)]
0028026: Modeling Data - BRepTools::Clean() does not clean all triangulation from shape
Added flag for force clean triangulation and treatment for it
Command "trinfo" now show number of polygons on triangulation
kgv [Mon, 18 Jan 2021 11:58:22 +0000 (14:58 +0300)]
0032061: Data Exchange, RWGltf_CafWriter - exporting XBF file produces an invalid glTF document
Empty Nodes are now skipped while filling in Scene node map.
kgv [Tue, 19 May 2020 07:47:25 +0000 (10:47 +0300)]
0031571: Visualization, TKOpenGl - provide depth peeling OIT option
Graphic3d_RenderTransparentMethod has been extended by Graphic3d_RTM_DEPTH_PEELING_OIT,
which is handled by OpenGl_LayerList::renderTransparent().
OpenGl_FrameBuffer::Init() now does not silently ignore unknown color attachment format and return failure.
OpenGl_FrameBuffer::InitWrapper() - added constructor wrapping existing color textures.
v3d/transparency/oit: test case added
asuraven [Tue, 17 Nov 2020 17:37:01 +0000 (20:37 +0300)]
0031136: Modeling Data - BinXCAF persistence loses normals from triangulation-only Faces
Information about normals are stored in BinOCAF, XmlOCAF, BRep and BBRep (in case of triangulation-only Faces).
Versions of formats have been changed (11 for TDocStd, 4 for BRep Shape and 3 for Binary BRep Shape)
theWithNormals parameter added to BRepTools::Write()
IsWithNormals()/SetWithNormals() function added to BRepTools_ShapeSet
-normals/-noNormals option added to StoreTriangulation DRAW command
-normals/-noNormals option added to writebrep DRAW command
Tests for writing to brep/binary brep/BinXCaf/XmlXCaf added
Test for StoreTriangulation options -normals/-noNormals added
aavtamon [Wed, 13 Jan 2021 09:22:58 +0000 (12:22 +0300)]
0031172: Unexpected result of BRepTools::OuterWire()
In BRepTools::OuterWire() compare of parameters was rewritten using Precision.
The test case bug31172 has been created
kgv [Thu, 14 Jan 2021 07:03:15 +0000 (10:03 +0300)]
0032056: Coding Rules - remove package MMgt and other types deprecated since OCCT 7.2.0
Removed functionality deprecated since OCCT 7.1.0:
-
0027834 built-in iterator in class SelectMgr_ViewerSelector;
-
0027900 obsolete constructor of V3d_Viewer class;
-
0027816 obsolete clipping plane setters V3d_View/PrsMgr_PresentableObject:SetClipPlanes();
-
0027860 obsolete transformation persistence methods from class PrsMgr_PresentableObject;
-
0027756 obsolete methods Prs3d_Text::Draw();
-
0024393 obsolete enum Graphic3d_ZLayerSetting;
-
0025180 obsolete method Graphic3d_Structure::Transform().
Removed functionality deprecated since OCCT 7.2.0:
-
0028832 obsolete class MMgt_TShared;
-
0026937 obsolete property Standard_Failure::Caught();
-
0028799 obsolete types defined within Quantity package;
-
0028441 obsolete nested enum Image_PixMap::ImgFormat;
-
0025695 obsolete method PrsMgr_PresentationManager::Unhighlight();
-
0028205 obsolete class MeshVS_ColorHasher;
-
0027958 obsolete methods from Prs3d_DatumAspect class;
-
0025695 obsolete class Graphic3d_HighlightStyle;
-
0027954 obsolete BRepOffsetAPI_MakeOffsetShape,BRepOffsetAPI_MakeThickSolid constructors.
kgv [Thu, 14 Jan 2021 11:09:38 +0000 (14:09 +0300)]
0032057: Coding Rules - eliminate CLang warning -Wunused-parameter when targeting iOS
Cocoa_Window::Cocoa_Window()/OpenGl_Context::SetSwapInterval() have been corrected to suppress warning.
kgv [Wed, 13 Jan 2021 18:22:00 +0000 (21:22 +0300)]
0032055: Draw Harness, ViewerTest - add more vmanipulator position adjusting options
Draw::ParseOnOffIterator() - added auxiliary wrapper over Draw::ParseOnOff() for more compact syntax.
strncasecmp() definition for msvc compilers has been moved to Standard_CString for consistency with strcasecmp().
vmanipulator command has been refactored to use more straightforward parser.
vmanipulator now accepts "-adjustPosition {0|center|location|shapeLocation}" options
adjusting position to object's AABB center (existed before), object's local transformation or TopoDS_Shape location.
akaftasev [Mon, 11 Jan 2021 13:58:51 +0000 (16:58 +0300)]
0025055: Modeling Algorithms - Incorrect shape copying in BRepBuilderAPI_Copy
Correct test case: exclude "fixshape" calls
kgv [Mon, 11 Jan 2021 17:28:35 +0000 (20:28 +0300)]
0032050: Configuration - define fallback Android API version within auxiliary batch files
Script now defines a minimal Android API version when %anNdkApiLevel% is set to empty value
as 16 for 32-bit targets and 21 for 64-bit targets.
Added clearing of destination folders.
Added better handling of errors.
kgv [Mon, 11 Jan 2021 14:37:46 +0000 (17:37 +0300)]
0032048: Configuration - Extend batch files to build OCCT with Emscripten
Added option USE_RAPIDJSON.
Added option toPack creating a .7z archive.
Added option toBuildSample building WebGL sample.
Improved aborting on error.
kgv [Sat, 9 Jan 2021 22:43:03 +0000 (01:43 +0300)]
0032045: Visualization, TKOpenGl - move light source functions from OpenGl_ShaderManager.cxx to Shaders
kgv [Mon, 4 Jan 2021 09:17:44 +0000 (12:17 +0300)]
0032039: Visualization, TKOpenGl - implement simple shadow mapping for a direct light source
Graphic3d_CLight::ToCastShadows() - added new property defining if light should cast shadows (ignored by Ray-Tracing).
OpenGl_ShaderManager::stdComputeLighting() now implements shadow mapping for directional lights.
OpenGl_ShaderManager::prepareGeomMainSrc() now handles copying of arrays.
OpenGl_Context::ShadowMapTexUnit() - added property defining an offset for shadow map texture units.
OpenGl_ShadowMap - added new class storing shadow map FBO with parameters.
OpenGl_View::prepareFrameBuffers() - added resizing of shadow map FBOs.
OpenGl_View::Redraw() - added section redrawing scene into shadow map FBOs via OpenGl_View::renderShadowMap() method.
vrenderparams - added new parameters -shadowMapResolution and -shadowMapBias.
kgv [Thu, 7 Jan 2021 21:48:29 +0000 (00:48 +0300)]
0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source position
OpenGl_ShaderManager::pushLightSourceState() now pre-multiplies headlight transformation.
Built-in shading GLSL programs have been updated to remove special handling if headlight flag;
also removed redundant pre-normalization of light source direction
(already normalized implicitly by Graphic3d_CLight interface).
Graphic3d_CLight::SetHeadlight() now raises exception in case of ambient light type.
OpenGl_ShaderManager::SetLastView() - removed unused property.
kgv [Sat, 9 Jan 2021 21:04:32 +0000 (00:04 +0300)]
0032044: Foundation Classes - NCollection_Array2::Resize() does not allocate pointer array
NCollection_Array2::Resize() has been fixed to set myDeletable before calling Allocate().
kgv [Sun, 3 Jan 2021 00:05:32 +0000 (03:05 +0300)]
0032036: Visualization, TKOpenGl - broken Cubemap background on GeForce 320M
Enable GL_DEPTH_CLAMP while rendering skybox to workaround unexpected clamping issue on some GPUs.
dpasukhi [Wed, 30 Dec 2020 09:20:22 +0000 (12:20 +0300)]
0032028: Coding Rules, StepFile - eliminate CLang warning -Wmisleading-indentation
Regenerated the StepFile/lex.step.cxx using the latest version of WinFlexBison
- Fixed [-Wmisleading-indentation] warning
- Removed empty lines
luz paz [Mon, 11 Jan 2021 09:29:28 +0000 (12:29 +0300)]
0031939: Coding - correction of spelling errors in comments [part 6]
Fix various typos
Fixed via `codespell v2.1.dev
kgv [Thu, 7 Jan 2021 20:10:27 +0000 (23:10 +0300)]
0032041: Modeling Data - Access violation ExchangeUV in Geom_BezierSurface
Added missing NULL-checks to Geom_BezierSurface::ExchangeUV() and Geom_BSplineSurface::ExchangeUV().
kgv [Mon, 4 Jan 2021 09:13:38 +0000 (12:13 +0300)]
0032040: Visualization, OpenGl_View - merge OpenGl_View_Redraw.cxx into OpenGl_View.cxx
kgv [Mon, 4 Jan 2021 00:26:51 +0000 (03:26 +0300)]
0032038: Visualization, OpenGl_View - move out framebuffer initialization from ::Redraw() to ::prepareFrameBuffers()
kgv [Mon, 4 Jan 2021 08:53:24 +0000 (11:53 +0300)]
0032037: Visualization - move V3d_View::FitMinMax() to Graphic3d_Camera::FitMinMax()
kgv [Tue, 29 Dec 2020 12:22:50 +0000 (15:22 +0300)]
0032027: Visualization, Prs3d_Drawer - unable to unset HasOwnFaceBoundaryDraw() property
Added missing Unset methods to Prs3d_Drawer properties.
vro [Thu, 17 Dec 2020 10:17:46 +0000 (13:17 +0300)]
0029750: Samples - function arrows are not updated by moving a node in FuncDemo qt sample
The visual links between functions are recovered.
The demo is synchronized with a corresponding demo from Qt (qt486-vc10-32\examples\graphicsview\elasticnodes). It may be successfully compiled by any further versions of Qt including 5.10.1
Also, because Open CASCADE (and OCAF in particular) is improved for usage in multi-threading mode, usage of mutexes is added in this sample (for access to the sharing TNaming_UsedShapes attribute, for example).
kgv [Sat, 19 Dec 2020 13:00:24 +0000 (16:00 +0300)]
0032009: Coding Rules, TKQADraw - suppress msvc10 compilation warning C4748
Added a workaround for msvc10 misbehavior.
kgv [Mon, 21 Dec 2020 14:14:49 +0000 (17:14 +0300)]
0032013: Samples - iOS sample compilation errors
Added missing includes.
Fixed usage of obsolete Standard_Failure interface.
Fixed file headers.
kgv [Sun, 20 Dec 2020 16:52:40 +0000 (19:52 +0300)]
0032011: Configuration - add batch files to build OCCT for macOS and iOS targets
Added script adm/scripts/macos_build.sh and template macos_custom.bat.template
intended for automating building routines targeting macOS platform.
Added script adm/scripts/ios_build.sh and template ios_custom.bat.template
intended for automating building routines targeting iOS platform.
kgv [Tue, 15 Dec 2020 19:15:33 +0000 (22:15 +0300)]
0031999: Tests - request Core Profile on macOS for Ray-Tracing tests
kgv [Tue, 22 Dec 2020 13:12:57 +0000 (16:12 +0300)]
0032015: Visualization - Select3D_SensitiveTriangulation::myDetectedIdx is inaccessible
Added Select3D_SensitiveTriangulation::LastDetectedTriangle() property.
luz paz [Mon, 21 Dec 2020 08:48:18 +0000 (11:48 +0300)]
0031939: Coding - correction of spelling errors in comments [part 5]
Fix various typos
Fixed via `codespell v2.1.dev
asuraven [Tue, 15 Dec 2020 09:31:52 +0000 (12:31 +0300)]
0029723: Modeling Data - Get rid of second writing format (additional save of UV points)
Default BinTools_ShapeSet format version has been changed from 3 to 1.
BinMNaming_NamedShapeDriver (Bin OCAF) now writes shapes in 1st version of Binary format instead of 3rd.
XmlMNaming_NamedShapeDriver (Xml OCAF) now writes shapes in 1st version of ASCII format instead of 2nd.
writebrep now by default writes into 1st binary format version instead of 3rd.
dpasukhi [Fri, 27 Nov 2020 19:32:18 +0000 (22:32 +0300)]
0031756: Data Exchange - broken parsing of STEP entity in case of missing last parameter
- Parser is corrected to handle case of missing arguments properly (report error without corruption of the next entity)
- Added counter of entity arguments for appropriate error messages
- Plain C tools and data structures (recfile.*, stepfile.*) are converted to C++ class (StepFile_ReadData) to avoid use of static variables, so that reader can be safely used in a multi-threaded environment
luz paz [Thu, 10 Dec 2020 08:40:53 +0000 (11:40 +0300)]
0032004: Foundation Classes, UnitsAPI - misprint in "ACCOUSTIC INTENSITY" unit name
Found using `codespell 2.1.dev0`
mkrylova [Mon, 14 Dec 2020 12:18:43 +0000 (15:18 +0300)]
0031226: Foundation Classes - TCollection_AsciiString::IsRealValue() returns true if a string contains a non-real value
- Added comment to the method
- Added Boolean argument indicating the need for a strict
- Extended OCC11758 command in QABugs_19.cxx to verify IsRealValue()
- Updated existing places of IsRealValue() usage in ViewerTest to use new flag
vro [Thu, 17 Dec 2020 11:34:47 +0000 (14:34 +0300)]
0029822: Make TDocStd_Document extensible
Two virtual methods NewDocument() and InitDocument() are moved from TDocStd_Application to its parent class CDF_Application. In TDocStd_Application these methods remain redefined. These little changes allow creation of a new document only in one virtual method NewDocument(). The methods CreateDocument() in all retrieval drivers are deleted.
Modified files:
- CDF_Application.hxx and cxx: two virtual methods NewDocument() and InitDocument() are moved from TDocStd_Application. The input parameter TDocStd_Document is changed to parent class CDM_Document.
- TDocStd_Application.hxx and cxx: redefines new virtual methods NewDocument() and InitDocument() of the parent class CDF_Application.
- BinLDrivers_DocumentRetrievalDriver.hxx and cxx, StdLDrivers_DocumentRetrievalDriver.hxx and cxx, XmlLDrivers_DocumentRetrievalDriver.hxx and cxx, PCDM_Reader.hxx: a virtual method CreateDocument() is deleted.
- TObj_Application.cxx, XCAFApp_Application.hxx and cxx: down-casting to a descendant class TDocStd_Document is applied.
Documentation:
- upgrade.md is modified.
nds [Fri, 18 Dec 2020 10:09:08 +0000 (13:09 +0300)]
0031945: Foundation Classes - unique names of alerts of message report in DumpJson
- add OCCT_DUMP_FIELD_VALUE_NUMERICAL_INC and OCCT_DUMP_FIELD_VALUES_DUMPED_INC - to increment key Value;
- add OCCT_DUMP_STREAM_VALUE_DUMPED - to give stream as a parameter of the DumpJson;
- correct Message_Report, Message_CompositeAlerts to increment keys;
- correct Message_AttributeMeter to have in result start and stop values united in value block: [start stop]. It's better for parsing;
- correct result of Message::MetricToString output for updated in 29451 Message_MetricType enum;
- correct Standard_Dump::AddValuesSeparator to avoid adding ',' in additional case;
- correct Standard_Dump::FormatJson to add opening/closing brace for the whole result (for valid parsing);
- correct Standard_Dump::FormatJson to ignore '\n' in value.
nds [Wed, 16 Dec 2020 09:19:17 +0000 (12:19 +0300)]
0032001: Visualization - moving dump of selection owner from sensitive to selection manager
asuraven [Wed, 16 Dec 2020 14:28:36 +0000 (17:28 +0300)]
0031998: Tests - unexpected file artifact at the root of repository
Saving path for .obj file changed
nds [Wed, 16 Dec 2020 09:08:49 +0000 (12:08 +0300)]
0031350: Foundation Classes - Dump improvement for OCAF classes
- do not dump document in CDM_MetaData, just pointer text;
- move ID dump in to TDF_Attribute;
- extend TDF_Attribute with other important states(obtained by methods);
- extend TDocStd_Document with other important states;
- avoid dumping of shapes in TNaming_UsedShapes (it takes much time);
- extend XCAFDoc, XCAFDimTolObjects dump to json;
- correct XCAFDoc_ColorTool, XCAFDoc_MaterialTool, XCAFDoc_LayerTool to dump only connected to the object information;
- correct XCAFDoc_Material to dump name and density value only if it exists;
- add check on correct direction in gp_Ax3.
nds [Wed, 16 Dec 2020 09:29:06 +0000 (12:29 +0300)]
0032000: Foundation Classes - collect OSD_Timer time in message report
Added Message_MetricType_WallClock metric type handled by Message_AttributeMeter.
Added public OSD_Timer::GetWallClockTime() method.
mpv [Wed, 16 Dec 2020 11:49:13 +0000 (14:49 +0300)]
0031983: Samples - CSharp cannot be compiled "atomic<> is not supported by C++/CLI"
Removed includes-dependency of the CSharp sample from TDF_Label.hxx
ifv [Wed, 9 Dec 2020 14:28:37 +0000 (17:28 +0300)]
0031995: Modeling Data - Bounding box wrong for face
BndLib/BndLib_AddSurface.cxx : algorithm of building bounding box for BSpline surfaces is improved
Test cases are modified according to current state of algorithm
Test case bug31995 added
nds [Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)]
0031944: Foundation Classes, Message_Report - add missing mutex locks for message level
luz paz [Wed, 16 Dec 2020 08:58:16 +0000 (11:58 +0300)]
0031939: Coding - correction of spelling errors in comments [part 4]
Fix various typos
Fixed via `codespell v2.1.dev
kgv [Mon, 3 Jun 2019 05:06:24 +0000 (08:06 +0300)]
0030762: Foundation Classes - include backtrace within OSD_SIGSEGV
Standard_Failure now holds an optional stack trace dump.
Added function Standard::StackTrace() dumping backtrace to the string.
SegvHandler within OSD_signal now appends backtrace to the message
if OSD::SignalStackTraceLength() is set to non-zero value
or environment variable "CSF_DEBUG_MODE" is set for debugging.
Added auxiliary macros Standard_NOINLINE disallowing function inlining.
Command "dsetsignal" has been extended by -strackTraceLength argument
for defining stack trace length within signals redirected to C++ exceptions.
Added "ddebugtraces" command for debugging purposes (adding stack traces to all exceptions).
asuraven [Tue, 3 Nov 2020 14:22:14 +0000 (17:22 +0300)]
0031946: Modeling Data - replace version numbers with enumerations in TopTools and BinTools
Added enumerations BinTools_FormatVersion & TopTools_FormatVersion for more clear version tracking in the code.
Added new BinTools::Write() & BRepTools::Write() overloaded functions with version & isWithTriangles parameters.
Added new "readbrep"/"writebrep" DRAW commands handling reading and writing of both Binary and ASCII .brep formats
and providing arguments to setup writing of triangulation data and of format version.
"binrestore" is made an alias to new command "readbrep".
"binsave" now is an alias to new "writebrep" saving into binary format by default ("writebrep" writes into ASCII format by default).
kgv [Mon, 14 Dec 2020 21:37:49 +0000 (00:37 +0300)]
0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture map enabled
OpenGl_ShaderManager::defaultGlslVersion() now defines GLSL 120 for normal map texture.
kgv [Sun, 13 Dec 2020 19:56:45 +0000 (22:56 +0300)]
0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
Added handling of __aarch64__ macros.
kgv [Mon, 14 Dec 2020 19:07:24 +0000 (22:07 +0300)]
0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for AMD Radeon
Fixed occLight_IsHeadlight() misuse in sample GLSL program.
mkrylova [Fri, 6 Nov 2020 08:33:58 +0000 (11:33 +0300)]
0031703: Data Exchange, RWGltf_CafWriter - add option putting textures inside GLB file as alternative to external references
RWGltf_CafWriter::ToEmbedTexturesInGlb() - added option embedding textures
into GLB file enabled by default.
Fixed uninitialized class field RWGltf_CafWriter::myIsForcedUVExport.
Image_Texture::MimeType() - added method returning MIME type based on image file format.
Image_Texture::WriteImage() - added method writing image into stream.
ifv [Tue, 24 Nov 2020 11:17:03 +0000 (14:17 +0300)]
0029441: Modeling Algorithms - Incorrect intersection curves between faces
ApproxInt/ApproxInt_SvSurfaces.hxx : adding field myUseSolver in order to manage calculations of characteristics of intersection points.
ApproxInt/ApproxInt_MultiLine.gxx : implementation of using myUseSolver for treatment points of MultiLine.
ApproxInt/ApproxInt_ImpPrmSvSurfaces.gxx : implementation of using myUseSolver for case intersection of implicit and parametric surfaces.
Test cases added
mkrylova [Fri, 20 Nov 2020 12:10:23 +0000 (15:10 +0300)]
0031705: Visualization - move out construction of predefined markers from OpenGl_AspectsSprite to Graphic3d_MarkerImage
Built-in markers definition has been moved from OpenGl_AspectsSprite to Graphic3d_MarkerImage and generalized.
RGBA8 pixel format is now preferred over BGRA8.
Fallback OpenGL 1.1 rendering code now supports drawing of colored markers using glDrawPixels().
Added function Image_PixMap::FlipY() flipping image rows.
vro [Fri, 11 Dec 2020 15:13:25 +0000 (18:13 +0300)]
0029901: Support save to and restore from Stream interface in TObj package
Storage and retrieval of a document by means of a stream is distributed to TObj model.
Modified files:
-TObj_Model.hxx, cxx - the virtual methods Load() and SaveAs() obtained a stream as an argument instead of a file name.
-TObj_Application.hxx, cxx - same extension: the virtual methods LoadDocument() and SaveDocument() use a stream to open and save a document.
-TObjDRAW.cxx - draw-commands TObjSave and TObjLoad are extended for -stream parameter, which allows usage of a file input or output stream instead of a file name.
A new test:
- bugs caf bug29901 - it creates a simple TObj-model, saves it on disk using a file stream, loads it by means of a file stream and checks the content.
Modified test:
- bugs caf bug28425 - just improved to proper manipulate a test-file on disk.
vro [Mon, 14 Dec 2020 10:18:27 +0000 (13:18 +0300)]
0027426: FSD_BinaryFile: Assignment to a temporary handle variable
A reference is added to the returning object of the method Storage_InternalData::ReadArray().
Modified files:
- Storage_InternalData.hxx
OCCT: CR27426
Products: nothing
kgv [Sat, 12 Dec 2020 09:24:50 +0000 (12:24 +0300)]
0031597: Visualization, TKOpenGl - allow disabling Alpha component writes within OpenGl_Context::ColorMask()
Added OpenGl_Caps::buffersOpaqueAlpha option allowing to disable writes
into alpha component of color buffer and keep it opaque.
Added OpenGl_Context::SetColorMaskRGBA() method overriding each color component deliberately.
New option is set within WebGL sample.
dpasukhi [Tue, 24 Nov 2020 12:52:39 +0000 (15:52 +0300)]
0031000: Data Exchange - STEP file cannot be opened due to lower-case special token End-ISO-10303-21
Update flex lexical scanner (step.lex lex.step.cxx) to parse special tokens in a case insensitive manner
luz paz [Thu, 10 Dec 2020 08:40:53 +0000 (11:40 +0300)]
0031939: Coding - correction of spelling errors in comments [part 3]
Fix various typos
Fixed via `codespell v2.1.dev0`
vro [Wed, 9 Dec 2020 09:08:40 +0000 (12:08 +0300)]
0031985: Documentation - description of TDocStd_FormatVersion is excessive
Description of TDocStd_FormatVersion enum is simplified and formatting for good rendering in HTML
kgv [Thu, 3 Dec 2020 14:36:19 +0000 (17:36 +0300)]
0028966: Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSurface classes
Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface now inherit Standard_Transient.
Interfaces Adaptor2d_HCurve2d, Adaptor3d_HCurve, Adaptor3d_HSurface and their subclasses
are now aliases to Adaptor2d_Curve2d, Adaptor3d_Curve and Adaptor3d_Surface.
Removed numerous unsafe reinterpret casts.
Generic classes Adaptor3d_GenHCurve, Adaptor3d_GenHSurface, Adaptor2d_GenHCurve2d have been removed.
Several redundant .lxx files have been merged into .hxx.
Removed obsolete adaptor classes with H suffix.
age [Tue, 8 Dec 2020 10:32:07 +0000 (13:32 +0300)]
0031987: Visualization - Slow rectangular selection on models with big number of sensitives
SelectMgr_SensitiveEntitySet now stores a map of registered owners with a counter of registered entities.
SelectMgr_ViewerSelector::traverseObject() now reads the number of sensitive entities for specific owner
from SelectMgr_SensitiveEntitySet instead of re-computing it every time.
kgv [Mon, 7 Dec 2020 10:39:07 +0000 (13:39 +0300)]
0031986: Visualization - Regression in StdPrs_WFDeflectionRestrictedFace::Add()
Fixed misplaced closing bracket after #
0030146 fix.
abv [Sun, 6 Dec 2020 16:20:47 +0000 (19:20 +0300)]
0031977: Modeling Algorithms - useless static variable in BRepFill_OffsetWire::Init() preventing its parallel usage
Removed useless "static" before local variable and some commented code