occt.git
4 days ago0032147: Documentation - drop mentioning of WOK from build_3rdparty IR-2021-02-20 WEEK-7 master
kgv [Sat, 20 Feb 2021 10:33:19 +0000 (13:33 +0300)]
0032147: Documentation - drop mentioning of WOK from build_3rdparty

4 days ago0032139: Visualization - support single-precision floating point data within Poly_Tri...
kgv [Wed, 17 Feb 2021 11:36:03 +0000 (14:36 +0300)]
0032139: Visualization - support single-precision floating point data within Poly_Triangulation

Introduced NCollection_AliasedArray collection defining a general byte array
to be aliased as array of elements of mutable type.

Poly_ArrayOfNodes specializes this interface for collecting 2d/3d points with single/double precision.
Poly_Triangulation relies on this new class for definition of 3D nodes and UV coordinates
using gp_Pnt and gp_Pnt2d by default as before.

RWGltf_CafReader now fills in triangulation using single precision by default (as stored in the file).

4 days ago0032145: Coding Rules - move GL functions loading to OpenGl_GlFunctions.cxx
kgv [Fri, 19 Feb 2021 17:49:28 +0000 (20:49 +0300)]
0032145: Coding Rules - move GL functions loading to OpenGl_GlFunctions.cxx

4 days ago0031990: Coding, Draw Harness - Replace C-like pointers to function in Draw_SaveAndRe...
asuraven [Tue, 3 Nov 2020 14:22:14 +0000 (17:22 +0300)]
0031990: Coding, Draw Harness - Replace C-like pointers to function in Draw_SaveAndRestore class to virtual function

Save/Restore interface has been moved to Draw_Drawable3D base class.
Create a singleton Draw_Params class for DRAW parameters

4 days ago0032087: Data Exchange, STEPCAFControl_Reader - NULL representation of shape for DGT
dpasukhi [Wed, 27 Jan 2021 12:12:46 +0000 (15:12 +0300)]
0032087: Data Exchange, STEPCAFControl_Reader - NULL representation of shape for DGT

- Fixed problem with find a Path for the DimensionType_Location_WithPath
- Added check for the null object within FindShapeIndexForDGT

6 days ago0032133: Modeling Data - Restriction of access to internal arrays for Poly_Triangulat...
vro [Tue, 16 Feb 2021 11:24:15 +0000 (14:24 +0300)]
0032133: Modeling Data - Restriction of access to internal arrays for Poly_Triangulation, revision of API

Removed methods from Poly_Triangulation/Poly_PolygonOnTriangulation giving access to internal arrays of 2d and 3d nodes, triangles and normals.

11 days ago0032129: Visualization, TKOpenGl - shadowmap is broken for ZLayer having non-zero...
kgv [Sat, 13 Feb 2021 22:01:27 +0000 (01:01 +0300)]
0032129: Visualization, TKOpenGl - shadowmap is broken for ZLayer having non-zero origin

OpenGl_LayerList::renderLayer() - fixed usage of wrong camera while rendering shadowmap,
and apply Z-Layer origin shift to shadowmap matrix while applying shadow.

11 days ago0032099: Visualization - define OSD_FileSystem class managing opening of file streams CR31500 IR-2021-02-12 WEEK-6
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.

13 days ago0032124: Visualization, AIS_Shape - setting color will cause Iso Lines to appear...
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.

13 days ago0031974: Modeling Algorithms - Strange behavior of boolean operations on this BREP
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.

13 days ago0031704: Visualization - add an interactive object AIS_LightSource representing a...
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

13 days ago0032095: Tests - drop comparison in unstable perf/ncollection group
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.

2 weeks ago0032119: Coding Rules - eliminate msvc warning C4800 (implicit cast to bool) after...
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

2 weeks ago0032122: Samples - handle WASD keys in WebGL sample
kgv [Sun, 7 Feb 2021 08:03:33 +0000 (11:03 +0300)]
0032122: Samples - handle WASD keys in WebGL sample

2 weeks ago0032118: Visualization, Graphic3d_MarkerImage::StandardMarker() - return marker with...
kgv [Fri, 5 Feb 2021 17:40:26 +0000 (20:40 +0300)]
0032118: Visualization, Graphic3d_MarkerImage::StandardMarker() - return marker with pre-defined id

2 weeks ago0032117: Visualization, TKOpenGl - assert in OpenGl_AspectsSprite due to implicit...
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().

2 weeks ago0032115: Data Exchange, STEP reader - Incorrect full path to file is not caught IR-2021-02-05 WEEK-5
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

2 weeks ago0031970: Data Exchange, STEP reader - parser syntax error messages are inaccessible
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

3 weeks ago0032114: Visualization, TKOpenGl - broken PBR LUT on OpenGL ES 2.0
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.

3 weeks ago0032110: Visualization, TKOpenGl - allow incomplete PBR on OpenGL ES 2.0 without...
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.

3 weeks ago0032113: Visualization, TKOpenGl - broken PBR diffuse map within OpenGl_Caps::buffers...
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.

3 weeks ago0032108: Modeling Algorithms - BRepAlgoAPI_Section is too slow
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.

3 weeks ago0031939: Coding - correction of spelling errors in comments [part 8]
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

3 weeks ago0032105: Visualization, TKOpenGl - PBR flat shading GLSL program compilation error...
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.

3 weeks ago0032101: Visualization, TKOpenGl - use GL_UNPACK_ROW_LENGTH within OpenGL ES 3.0...
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.

3 weeks ago0032079: Coding Rules - rename AIS_KindOfInteractive enumeration values with fully...
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.

3 weeks ago0032094: Visualization, TKOpenGl - OpenGl_VertexBuffer::bindAttribute() silently... IR-2021-01-29 WEEK-4
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.

3 weeks ago0032081: Visualization - WebGL sample errors when run in Safari browser with WebGL 1.0
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".

3 weeks ago0032083: Visualization, TKOpenGl - PBR rendering is unavailable on Apple A12 Bionic...
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.

3 weeks ago0032093: Visualization, TKOpenGl - loading texture in BGR format fails in OpenGL ES
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.

3 weeks ago0031912: Modeling Algorithms - Boolean Cut can't build resulting shape
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.

4 weeks ago0032078: Visualization, Poly_Triangulation - add cached bounding box.
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

4 weeks ago0032082: Visualization, TKOpenGl - improve formatting of error messages
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.

4 weeks ago0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails IR-2021-01-22 WEEK-3
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.

4 weeks ago0031547: Visualization - V3d_View creates V3d_Trihedron instance
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.

4 weeks ago0032065: Samples - use MODULARIZE within WebGL sample
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().

4 weeks ago0032049: Data Exchange - STEP file import problems
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

4 weeks ago0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface...
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

5 weeks ago0032067: Visualization, TKOpenGl - shadowmap GLSL compilation error on WebGL 3.0
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.

5 weeks ago0031939: Coding - correction of spelling errors in comments [part 7]
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

5 weeks ago0032064: Coding Rules - make RWGltf_GltfJsonParser non-private
kgv [Mon, 18 Jan 2021 21:13:54 +0000 (00:13 +0300)]
0032064: Coding Rules - make RWGltf_GltfJsonParser non-private

5 weeks ago0028026: Modeling Data - BRepTools::Clean() does not clean all triangulation from...
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

5 weeks ago0032061: Data Exchange, RWGltf_CafWriter - exporting XBF file produces an invalid...
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.

5 weeks ago0031571: Visualization, TKOpenGl - provide depth peeling OIT option
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

5 weeks ago0031136: Modeling Data - BinXCAF persistence loses normals from triangulation-only...
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

5 weeks ago0031172: Unexpected result of BRepTools::OuterWire() IR-2021-01-15
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

5 weeks ago0032056: Coding Rules - remove package MMgt and other types deprecated since OCCT...
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.

5 weeks ago0032057: Coding Rules - eliminate CLang warning -Wunused-parameter when targeting iOS
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.

5 weeks ago0032055: Draw Harness, ViewerTest - add more vmanipulator position adjusting options
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.

6 weeks ago0025055: Modeling Algorithms - Incorrect shape copying in BRepBuilderAPI_Copy
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

6 weeks ago0032050: Configuration - define fallback Android API version within auxiliary batch...
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.

6 weeks ago0032048: Configuration - Extend batch files to build OCCT with Emscripten
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.

6 weeks ago0032045: Visualization, TKOpenGl - move light source functions from OpenGl_ShaderMana...
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

6 weeks ago0032039: Visualization, TKOpenGl - implement simple shadow mapping for a direct light...
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.

6 weeks ago0032042: Visualization, TKOpenGl - pre-multiply headlight flag into light source...
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.

6 weeks ago0032044: Foundation Classes - NCollection_Array2::Resize() does not allocate pointer...
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().

6 weeks ago0032036: Visualization, TKOpenGl - broken Cubemap background on GeForce 320M
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.

6 weeks ago0032028: Coding Rules, StepFile - eliminate CLang warning -Wmisleading-indentation
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

6 weeks ago0031939: Coding - correction of spelling errors in comments [part 6]
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

6 weeks ago0032041: Modeling Data - Access violation ExchangeUV in Geom_BezierSurface
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().

6 weeks ago0032040: Visualization, OpenGl_View - merge OpenGl_View_Redraw.cxx into OpenGl_View.cxx
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

6 weeks ago0032038: Visualization, OpenGl_View - move out framebuffer initialization from :...
kgv [Mon, 4 Jan 2021 00:26:51 +0000 (03:26 +0300)]
0032038: Visualization, OpenGl_View - move out framebuffer initialization from ::Redraw() to ::prepareFrameBuffers()

6 weeks ago0032037: Visualization - move V3d_View::FitMinMax() to Graphic3d_Camera::FitMinMax()
kgv [Mon, 4 Jan 2021 08:53:24 +0000 (11:53 +0300)]
0032037: Visualization - move V3d_View::FitMinMax() to Graphic3d_Camera::FitMinMax()

8 weeks ago0032027: Visualization, Prs3d_Drawer - unable to unset HasOwnFaceBoundaryDraw() property
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.

2 months ago0029750: Samples - function arrows are not updated by moving a node in FuncDemo qt... IR-2020-12-25 WEEK-52
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).

2 months ago0032009: Coding Rules, TKQADraw - suppress msvc10 compilation warning C4748
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.

2 months ago0032013: Samples - iOS sample compilation errors
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.

2 months ago0032011: Configuration - add batch files to build OCCT for macOS and iOS targets
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.

2 months ago0031999: Tests - request Core Profile on macOS for Ray-Tracing tests
kgv [Tue, 15 Dec 2020 19:15:33 +0000 (22:15 +0300)]
0031999: Tests - request Core Profile on macOS for Ray-Tracing tests

2 months ago0032015: Visualization - Select3D_SensitiveTriangulation::myDetectedIdx is inaccessible
kgv [Tue, 22 Dec 2020 13:12:57 +0000 (16:12 +0300)]
0032015: Visualization - Select3D_SensitiveTriangulation::myDetectedIdx is inaccessible

Added Select3D_SensitiveTriangulation::LastDetectedTriangle() property.

2 months ago0031939: Coding - correction of spelling errors in comments [part 5]
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

2 months ago0029723: Modeling Data - Get rid of second writing format (additional save of UV...
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.

2 months ago0031756: Data Exchange - broken parsing of STEP entity in case of missing last parameter
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

2 months ago0032004: Foundation Classes, UnitsAPI - misprint in "ACCOUSTIC INTENSITY" unit name
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`

2 months ago0031226: Foundation Classes - TCollection_AsciiString::IsRealValue() returns true...
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

2 months ago0029822: Make TDocStd_Document extensible
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.

2 months ago0031945: Foundation Classes - unique names of alerts of message report in DumpJson IR-2020-12-18 WEEK-51
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.

2 months ago0032001: Visualization - moving dump of selection owner from sensitive to selection...
nds [Wed, 16 Dec 2020 09:19:17 +0000 (12:19 +0300)]
0032001: Visualization - moving dump of selection owner from sensitive to selection manager

2 months ago0031998: Tests - unexpected file artifact at the root of repository
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

2 months ago0031350: Foundation Classes - Dump improvement for OCAF classes
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.

2 months ago0032000: Foundation Classes - collect OSD_Timer time in message report
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.

2 months ago0031983: Samples - CSharp cannot be compiled "atomic<> is not supported by C++/CLI"
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

2 months ago0031995: Modeling Data - Bounding box wrong for face
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

2 months ago0031944: Foundation Classes, Message_Report - add missing mutex locks for message...
nds [Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)]
0031944: Foundation Classes, Message_Report - add missing mutex locks for message level

2 months ago0031939: Coding - correction of spelling errors in comments [part 4]
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

2 months ago0030762: Foundation Classes - include backtrace within OSD_SIGSEGV
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).

2 months ago0031946: Modeling Data - replace version numbers with enumerations in TopTools and...
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).

2 months ago0031997: Visualization, TKOpenGl - phong shader compilation error with normal texture...
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.

2 months ago0031994: Draw Harness - dversion prints "Architecture: unrecognized" on ARM host
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.

2 months ago0031996: Visualization - PhongShading.fs compilation error on OpenGL drivers for...
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.

2 months ago0031703: Data Exchange, RWGltf_CafWriter - add option putting textures inside GLB...
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.

2 months ago0029441: Modeling Algorithms - Incorrect intersection curves between faces
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

2 months ago0031705: Visualization - move out construction of predefined markers from OpenGl_Aspe...
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.

2 months ago0029901: Support save to and restore from Stream interface in TObj package
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.

2 months ago0027426: FSD_BinaryFile: Assignment to a temporary handle variable
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

2 months ago0031597: Visualization, TKOpenGl - allow disabling Alpha component writes within...
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.

2 months ago0031000: Data Exchange - STEP file cannot be opened due to lower-case special token...
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

2 months ago0031939: Coding - correction of spelling errors in comments [part 3] IR-2020-12-11 WEEK-50
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`

2 months ago0031985: Documentation - description of TDocStd_FormatVersion is excessive
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

2 months ago0028966: Coding Rules - remove Adaptor2d_HCurve2d, Adaptor3d_HCurve and Adaptor3d_HSu...
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.