dpasukhi [Sun, 10 Oct 2021 12:33:15 +0000 (15:33 +0300)]
0032310: Data Exchange - Invalid STEP export/import of backslashes in names [Regression since OCCT 7.5.0]
Fixed a problem with handling slashes and apostrophes
Changed cleaning of the 'TEXT' fields of the step entity to direct order w/o removing operations
Changed converting text locale to covert before cleaning directives and specials symbols (all directives and sp. symbols encoded in ASCII[0-125] and haven't any differ with any locals)
Special case, when directives have two slashes before name changed to don't handle directives value and converts as is (combine two slashes as one and write, for example "\\X2\00C3" as "X2\00C3")
jgv [Fri, 15 Oct 2021 04:53:48 +0000 (07:53 +0300)]
0032619: [Regression] Modelling Algorithms - UnifySameDomain ignores shared face
Correct method ShapeUpgrade_UnifySameDomain::UnifyFaces: exclude free boundary edges from unification.
abulyche [Mon, 4 Oct 2021 01:00:55 +0000 (04:00 +0300)]
0030747: Modeling Algorithms - 2d Curves concatenator doesn't properly process closed contours.
Corrected Geom2dConvert_CompCurveToBSplineCurve::Add in Geom2dConvert_CompCurveToBSplineCurve.cxx;
Added the test for this problem;
Corrected "gluing" curves in ProjLib_ProjectedCurve.cxx.
kgv [Wed, 13 Oct 2021 18:53:32 +0000 (21:53 +0300)]
0032622: Draw Harness - writebrep "-version 3" is unrecognized
Fixed version range check.
Added description of -normals argument.
aml [Tue, 12 Oct 2021 04:44:06 +0000 (07:44 +0300)]
CR32614 Coding - get rid of unsused forward declarations [Adaptor2d to GccAna]
Packages from Adaptor2d to GccAna are processed.
kgv [Mon, 11 Oct 2021 19:05:58 +0000 (22:05 +0300)]
0032612: Data Exchange, RWGltf_CafReader - lost hierarchy of two nested compounds
RWGltf_GltfJsonParser::gltfParseSceneNode() - prevent flattering of Scene nodes
(allow flattering only of Mesh nodes).
Added command XAutoNaming managing XCAFDoc_ShapeTool::SetAutoNaming().
Added comparisons with reference Xdump data to glTF tests.
kgv [Tue, 12 Oct 2021 06:36:40 +0000 (09:36 +0300)]
0032613: Samples - glfw compilation error on Linux
GlfwOcctWindow - added cast to Aspect_XDisplay*.
Added auxiliary OCCT searching script as alternative to CMake config files.
ifv [Mon, 4 Oct 2021 14:25:56 +0000 (17:25 +0300)]
0032607: Modeling Algorithms - BOPAlgo_BOP returns incomplete result
IntPatch/IntPatch_ImpPrmIntersection.cxx - decreasing step for some conditions
tests/lowalgos/intss/bug32607 - test case added
vkuzin [Fri, 13 Aug 2021 11:43:22 +0000 (14:43 +0300)]
0029405: Modeling Algorithms - Check normal define status in HLRBRep_Data
Fixed exception when trying to calculate line and edge normal in methods HLRBRep_Data::OrientOutLine and HLRBRep_Data::OrientOthEdge, added a check for the existence of the normal before subsequent calculations. A correct check for zero derivative, correction of floating point error and division by zero determinant directly in HLRBRep_EdgeFaceTool::CurvatureValue was set.
kgv [Wed, 6 Oct 2021 20:55:43 +0000 (23:55 +0300)]
0032609: Visualization, Wasm_Window - handle mouse movements outside canvas element
Wasm_Window::ProcessMouseEvent() - removed redundant check on EMSCRIPTEN_EVENT_MOUSEUP event.
ViewerTest and WebGL sample - mouse movements are now tracked on window element
to allow tracking updates when mouse with clicked button is moved outside canvas element.
kgv [Mon, 4 Oct 2021 10:26:35 +0000 (13:26 +0300)]
0032604: Visualization, AIS_LightSource - improve dragging robustness
achesnok [Sat, 2 Oct 2021 13:33:48 +0000 (16:33 +0300)]
0032591: Visualization, V3d_View - improve corner gradient
- Added new shader for correct Aspect_GradientFillMethod_Corner mode shading.
aml [Sat, 2 Oct 2021 06:38:32 +0000 (09:38 +0300)]
0032603: Coding - get rid of unsused forward declarations
Packages from Adaptor2d to BRepMesh are processed.
kgv [Fri, 1 Oct 2021 21:17:17 +0000 (00:17 +0300)]
0032602: Configuration, genconf - reduce window height with empty error log
Font height is reduced to 1 for empty error labels is empty to win some space.
msv [Fri, 1 Oct 2021 19:23:36 +0000 (22:23 +0300)]
0032601: Foundation Classes - Poly_Connect hangs on the given incorrect triangulation
asuraven [Wed, 18 Aug 2021 17:23:07 +0000 (20:23 +0300)]
0032539: Modeling Algorithms - Parallelize BRepExtrema_DistShapeShape algorithm
dpasukhi [Wed, 29 Sep 2021 19:03:26 +0000 (22:03 +0300)]
0032596: [REGRESSION] Data Exchange, STEP Reader - OCCT 7.6.0dev does not open file correctly
Fixed typo in the StepToTopoDS_TranslateFace.cxx after #29564 issue
btokarev [Wed, 1 Sep 2021 13:29:33 +0000 (16:29 +0300)]
0032550: Documentation - Proofreading for "Tutorials and Samples -> Tutorial"
New images added for better representation of solid model;
Minor fixes for misprints and old classes;
Proofreading done.
jgv [Mon, 27 Sep 2021 16:00:37 +0000 (19:00 +0300)]
0032581: Modelling Algorithms - UnifySameDomain produces invalid result
1. Correct local function TransformPCurves of ShapeUpgrade_UnifySameDomain: take into account the case of seam edge.
2. Correct local function ReconstructMissedSeam of ShapeUpgrade_UnifySameDomain: use previously stored seam edge in some cases.
kgv [Wed, 29 Sep 2021 09:24:26 +0000 (12:24 +0300)]
0032595: Documentation - revise "Build OCCT" structure to highlight CMake usage
"Building with CMake tool" subsection has been moved out from "Windows" to a dedicated top-level section.
genproj sections have been merged and restructured.
Added description of some new CMake configuration options.
Updated URL to 3rd-party components on Development Portal.
kgv [Wed, 29 Sep 2021 13:47:56 +0000 (16:47 +0300)]
0032597: Coding Rules, Wasm_Window - add missing setter for DevicePixelRatio property
aml [Tue, 28 Sep 2021 10:59:56 +0000 (13:59 +0300)]
0032593: Documentation - get rid of unused file in the documentation.
abulyche [Wed, 22 Sep 2021 09:56:33 +0000 (12:56 +0300)]
0030148: Modeling Algorithms - exception in BRepOffestAPI_MakePipe for some periodic BSpline spines
This problem was solved by fix for
0030597.
Added the non-regression test for this problem.
ifv [Fri, 24 Sep 2021 13:24:34 +0000 (16:24 +0300)]
0032557: Modeling Data - Use of BRepBuilderAPI_NurbsConvert create 2d p-curves with errors
BRepTools/BRepTools_NurbsConvertModification.cxx -
Checking domain of 2dCurves if surfaces are periodic is improved
tests/bugs/moddata_3/bug32557 - test case added
ifv [Tue, 14 Sep 2021 14:11:17 +0000 (17:11 +0300)]
0032569: Modeling Algorithm - Section not found
IntPatch/IntPatch_WLineTool.cxx - adding control of maximal ratio of distances between 3 sequential points.
tests/bugs/modalg_7/bug32569 - new test case added
tests/lowalgos/intss/bug29972_1 test case is modified according new behavior of intersection algorithm
emv [Mon, 20 Sep 2021 15:07:30 +0000 (18:07 +0300)]
0032578: Modeling Algorithms - Splitting face by set of edges fails
Update information about ON/IN sub-shapes for all touched faces when intersection with shapes of lower types (edges and vertices) complete.
Previously only the faces participating in the Face/Face intersection were updated.
kgv [Sun, 26 Sep 2021 10:03:25 +0000 (13:03 +0300)]
0032590: Visualization, V3d_View - improve API for setting Image Based Lighting
Added method V3d_View::SetImageBasedLighting() for managing IBL.
OpenGl_View implementation has been revised to handle IBL updates in a more straightforward way,
achesnok [Tue, 21 Sep 2021 15:42:21 +0000 (18:42 +0300)]
0031039: Visualization - add elliptical gradient background style
Added new elliptical gradient fill method and updated vbackground command.
Renamed enum values of Aspect_GradientFillMethod and defined aliases for old ones.
Changed draw mode in OpenGl_BackgroundArray from triangle-strip to GL_TRIANGLES.
kgv [Thu, 23 Sep 2021 20:52:42 +0000 (23:52 +0300)]
0032585: Data Exchange, RWGltf_CafWriter - include OCCT version
kgv [Wed, 22 Sep 2021 21:50:20 +0000 (00:50 +0300)]
0032582: Configuration, genproj - make CSF_OPT_LIB64D configurable by genconf
kgv [Tue, 21 Sep 2021 21:18:35 +0000 (00:18 +0300)]
0032579: Draw Harness, ViewerTest - extend vbackground -cubemap syntax to configure sRGB flag
Command vbackground has been refactored to simplify logic and relax syntax.
Added -srgb argument to vbackground and vtexture commands.
kgv [Tue, 21 Sep 2021 08:56:09 +0000 (11:56 +0300)]
0032580: Data Exchange, STL - add option splitting nodes at sharp corners
Added Poly_MergeNodesTool tool for merging nodes within triangulation.
Added RWStl_Reader::MergeAngle() property managing merging behavior.
asemenov [Fri, 17 Sep 2021 15:46:43 +0000 (18:46 +0300)]
0029478: Crash because bSplineSurfaceWithKnots is NULL.
Modified the method void RWStepGeom_RWBSplineSurfaceWithKnotsAndRationalBSplineSurface::ReadStep
Added processing B spline surface with knots and rational B spline surface with empty data in the name field
Added test
abulyche [Thu, 16 Sep 2021 06:29:49 +0000 (09:29 +0300)]
0031631: Modeling Algorithms - Invalid result of Pipe builder
Added the ability to operate the algorithm with different types of curves.
dpasukhi [Thu, 12 Mar 2020 16:29:21 +0000 (19:29 +0300)]
0031388: Data Exchange - support kinematics data in STEP format
- add new STEP entities.
asuraven [Thu, 2 Sep 2021 10:59:04 +0000 (13:59 +0300)]
0032552: Modeling Algorithms - BRepExtrema_DistShapeShape algorithm consumes too much memory
Used a new BRepExtrema_DistShapeShape::DistanceVertVert() function to replace DistanceMapMap() to calculate vertex/vertex distance
emv [Fri, 10 Sep 2021 13:06:50 +0000 (16:06 +0300)]
0032566: Modeling Algorithms - Incorrect result of offset operation in mode "Complete" join type "Intersection"
Before removal of the part make sure that it was not filled due to overlapping of opposite parts.
Improve procedure of checking for inverted edges by taking into account that the original edges may not be connected.
Correct test case offset/shape_type_i_c/YL5, as it was working incorrectly - some parts were missing.
kgv [Wed, 24 Mar 2021 07:37:29 +0000 (10:37 +0300)]
0032236: Modeling Algorithms - Exception on calculation optimal bounding box
- BRepBndLib - added VOID box checks to AdjustFaceBox() method.
- added the test
kgv [Thu, 16 Sep 2021 07:50:18 +0000 (10:50 +0300)]
0032089: Visualization, TKOpenGl - support GL_EXT_sRGB extension to OpenGL ES 2.0
sshutina [Wed, 15 Sep 2021 10:48:51 +0000 (13:48 +0300)]
0032461: Visualization - expensive call of glGetTexEnviv/glTexEnvi in each render of OpenGl_Text
- removed the call of glGetTexEnviv, glTexEnvi
- replaced on the OpenGl_Sampler::applyGlobalTextureParams/resetGlobalTextureParams
- added the method in OpenGl_Font returning first texture
akaftasev [Thu, 18 Mar 2021 16:44:11 +0000 (19:44 +0300)]
0032330: Modeling Algorithms - Extend Offset algorithm with Progress Indicator and User Break
Add progress indicator to BRepOffset_MakeOffset::MakeOffsetShape().
kgv [Mon, 13 Sep 2021 19:19:54 +0000 (22:19 +0300)]
0032567: Coding Rules - rename Graphic3d_TypeOfShadingModel values to include full enumeration name
ifv [Thu, 19 Aug 2021 12:05:53 +0000 (15:05 +0300)]
0030422: Random behaviour of BRepAdaptor_CompCurve
BRepTools/BRepTools_WireExplorer.cxx - replace MapOfShape vmap by IndexedMapOfShape
to avoid random behavior of algorithm
bugs/moddata_3/bug30422 - new test case added
jgv [Fri, 10 Sep 2021 16:30:38 +0000 (19:30 +0300)]
0032561: Modelling Algorithms - UnifySameDomain does nothing while it is expected to union two pairs of faces
Correct method ShapeUpgrade_UnifySameDomain::UnifyFaces: when creating the Edge-Face map of initial shape, count each face only once.
kgv [Fri, 10 Sep 2021 18:45:03 +0000 (21:45 +0300)]
0032423: Coding Rules - NSOpenGLContext deprecation warnings during compilation for macOS 10.14+
The warning has been suppressed for building TKOpenGl.
asuraven [Tue, 13 Jul 2021 14:17:51 +0000 (17:17 +0300)]
0032450: Modeling Algorithms - change BRepLib_CheckCurveOnSurface & GeomLib_CheckCurveOnSurface interfaces to adapters
asemenov [Thu, 2 Sep 2021 12:32:11 +0000 (15:32 +0300)]
0029233: Incorrect result of conversion to the STEP format.
Modified the method TopoDSToStep_MakeStepFace::Init
Added processing of degenerate toroidal surfaces, which are the base surfaces of offset surfaces
Added test
kgv [Thu, 9 Sep 2021 18:04:21 +0000 (21:04 +0300)]
0032565: Foundation Classes, OSD_FileSystem - expose interface for registering global protocols
Added methods OSD_FileSystem::AddDefaultProtocol()/::RemoveDefaultProtocol()
and fixed misleading description of OSD_FileSystemSelector::AddProtocol().
kgv [Thu, 9 Sep 2021 18:59:18 +0000 (21:59 +0300)]
0032540: RWGltf_CafReader - optional "scene" parameter encoded as mandatory
First scene is now loaded when default one is undefined.
sshutina [Thu, 9 Sep 2021 15:28:31 +0000 (18:28 +0300)]
0031337: Inspectors - user guide update
- Modifyed 3D view:
Added the trihedron, view cube
Removed the scene manipulation actions (Fit all isn't removed)
- Added the new MessageView plugin to display content of Message_Report
- DFBrowser plugin improvements:
Added the button to switch ON DumpJson in DFBrowser(OFF by default, for better performance)
Renamed in DFBrowser "Property Panel" into "Property Panel (custom)
Removed the selection controls
- ShapeView plugin improvements:
Property View content based on DumpJson (columns in tree view for properties are removed),
Properties for TopoDS_Shape are displayed
- VInspector plugin imrovements:
Property View content based on DumpJson (columns in tree view for properties are removed),
Properties for AIS_InteractiveContext and AIS_InteractiveObject are displayed
Removed History panel in VInspector as not used
Implemented the item and actions in VInspector for setting Lights in the view
kgv [Thu, 9 Sep 2021 19:34:48 +0000 (22:34 +0300)]
0032092: Visualization, TKService - Image_VideoRecorder writes garbage from Grayscale image
Image_VideoRecorder::writeVideoFrame(), added protection from API misuse.
kgv [Thu, 9 Sep 2021 15:00:38 +0000 (18:00 +0300)]
0032564: Foundation Classes, OSD_CachedFileSystem - allow referring to non-default File System
Linked file system can be now customized within OSD_CachedFileSystem.
sshutina [Thu, 9 Sep 2021 14:54:13 +0000 (17:54 +0300)]
0032507: Visualization, TKOpenGl - topmost text disappears with Graphic3d_RTM_DEPTH_PEELING_OIT enabled
vro [Wed, 8 Sep 2021 06:49:52 +0000 (09:49 +0300)]
0032531: Application Framework - There should be methods to get explanations of PCDM_StoreStatus and PCDM_ReaderStatus values
Documentation is added for PCDM_ReaderStatus enumeration.
Modified:
- PCDM_ReaderStatus.hxx: each value received a short explanation.
emv [Tue, 7 Sep 2021 13:00:25 +0000 (16:00 +0300)]
0030206: Improve API of commands bbop and bapibop
0030620: Tests - perf/bop/buildfaces does not match description (broken)
Allow using meaningful parameters for the commands bbop and bapibop:
* common - for Common operation
* fuse - for Fuse operation
* cut - for Cut operation
* tuc/cut21 - for Cut21 operation
* section - for Section operation
Add description for the commands dealing with Boolean/GF/Split operations.
Validate arguments of these commands.
Correct test case perf/bop/buildfaces to perform GF execution in parallel and serial modes - compare the results.
emv [Fri, 21 Sep 2018 08:43:16 +0000 (11:43 +0300)]
0030151: Modeling Algorithms - Removal of the API level of old Boolean operations algorithm (BRepAlgo_BooleanOperation)
The following classes have been removed as obsolete:
- BRepAlgo_BooleanOperation
- BRepAlgo_Fuse
- BRepAlgo_Cut
- BRepAlgo_Common
- BRepAlgo_Section
The corresponding classes from BRepAlgoAPI package have to be used instead.
Draw commands:
- fuse
- cut
- common
- section/psection
have also been removed as obsolete.
The corresponding commands for modern Boolean operations algorithm (bfuse/bcut/bcommon/bsection) have to be used instead.
Adjustment of the test cases to use the commands for modern algorithm.
kgv [Sun, 5 Sep 2021 15:40:55 +0000 (18:40 +0300)]
0032107: Data Exchange, RWGltf_CafReader - reading glTF document back loses sharing
RWGltf_CafWriter has been fixed to write shared Faces having a different style.
RWGltf_GltfJsonParser::gltfParsePrimArray() now tries to create a shared TopoDS_Face
from the same primitive array definition.
RWGltf_CafReader - improved name generation.
akaftasev [Tue, 7 Sep 2021 15:03:20 +0000 (18:03 +0300)]
0030788: Modeling Algorithms - BRepAlgoAPI_Defeaturing does not propagate progress indicator to underlying algorithms
Added progress indicator to BRepAlgoAPI_Defeaturing
kgv [Mon, 6 Sep 2021 07:36:38 +0000 (10:36 +0300)]
0032328: Missing include of TopoDS_Edge.hxx in ShapeUpgrade_UnifySameDomain.hxx
abulyche [Wed, 1 Sep 2021 14:45:52 +0000 (17:45 +0300)]
0030722: Modeling Algorithms - BRepExtrema_DistShapeShape computes wrong distances
Updated the math_DirectPolynomialRoots.cxx
Added the test case "bug30722"
Updated the command "b2dclassify" in the BOPTest_LowCommands.cxx
msv [Fri, 3 Sep 2021 13:11:35 +0000 (16:11 +0300)]
0018170: Modeling Data - crash in TopExp_Explorer::Init if Clear was called after empty constructor
TopExp_Explorer::Clear() now sets myTop=-1 with align to TopExp_Explorer::Init() logic.
asuraven [Wed, 18 Aug 2021 13:54:40 +0000 (16:54 +0300)]
0029792: Add ::IsParallel method to GeomAPI_Extrema* classes
Add IsParallel() methods for classes:
- GeomAPI_ExtremaCurveCurve
- GeomAPI_ExtremaCurveSurface
- GeomAPI_ExtremaSurfaceSurface
ifv [Fri, 6 Aug 2021 11:49:14 +0000 (14:49 +0300)]
0026269: Modeling Data - Analytical extrema does not take into account trimmed input data
Treatment of trimmed data is added
Extrema/Extrema_ExtCC.cxx
Test cases added
tests/lowalgos/extcc/bug26269_1
tests/lowalgos/extcc/bug26269_2
Test cases are modified according to new behavior of algorithm
asuraven [Tue, 20 Jul 2021 15:44:23 +0000 (18:44 +0300)]
0032485: Modeling Algorithms - Add Clone() function for adapters
Provide ShallowCopy() functions for adapters & evaluators of curves, 2d curves and surfaces. This will allow using copies of the same adapter in multi-thread calculations.
asuraven [Wed, 18 Aug 2021 12:05:58 +0000 (15:05 +0300)]
0031942: Modeling Algorithms - add possibility to abort the BRepExtrema_DistShapeShape algorithm
- Now available to interrupt the DRAW 'distmini' command by Ctrl/C
- Message_ProgressRange/Message_ProgressScope used in BRepExtrema_DistShapeShape::Perform() to provide user break
akaftasev [Wed, 1 Sep 2021 09:48:54 +0000 (12:48 +0300)]
0021264: Modeling Algorithms - Progress indicator for Boolean operations
Update BOP commands to use progress indicator
Deleted wrong usage of progress indicator from bop operations
Added UserBreak() method to break execution boolean operation if progress indicator is used
Added method AnalyzeProgress() to calculate steps of progress indicator
Introduce BOPAlgo_ParallelAlgo which has myRange as a field to be used in parallel vector.
Provide suitable way of keeping the progress steps of operations.
Give meaningful names to progress scopes.
Propagate progress indicator into deeper methods of BOA.
Add progress indicator to BOPAlgo_BuilderFace and BOPAlgo_WireSplitter, BOPAlgo_BuilderSolid and BOPAlgo_ShellSplitter
vro [Wed, 1 Sep 2021 08:47:41 +0000 (11:47 +0300)]
0032125: Application Framework, OCAF - need to have adequate message if document cannot be saved due to unrecognized format
A list of storage statuses (PCDM_StoreStatus) is extended for PCDM_SS_UnrecognizedFormat. It is set if
- extension of a document file name is not defined (the extension doesn't correspond to any declared file formats) or
- a storage driver is not found for the document storage format.
Modified:
CDF_StoreList.cxx: the mechanism of raising and catching exceptions is replaced by direct setting the status and error message for each particular error.
PCDM_StoreStatus.hxx: a new enumeration value is added - PCDM_SS_UnrecognizedFormat. Also, a short explanation is added to each enumeration value.
DDocStd_ApplicationCommands.cxx: processing of a new enumeration value by the draw-command.
XDEDRAW.cxx: processed a new enumeration value PCDM_SS_UnrecognizedFormat by saveDoc draw-command.
Deleted:
CDF_MetaDataDriverError.hxx: It is not used anywhere and it seems it will not be used by someone.
dpasukhi [Fri, 3 Sep 2021 11:42:02 +0000 (14:42 +0300)]
0032556: Data Exchange - A toroidal part of solid is corrupted while writing or reading STEP file
Fix STEP writing Wire for periodic surface
mkrylova [Wed, 28 Jul 2021 06:32:34 +0000 (09:32 +0300)]
0032495: Coding rules - eliminate CLang UndefinedBehaviorSanitizer warnings
- fixed CLang UndefinedBehaviorSanitizer warnings
kgv [Fri, 3 Sep 2021 12:22:22 +0000 (15:22 +0300)]
0030976: Configuration, CMake - Build failure with static FreeType dependency
Removed linkage with "freetype.lib" with help of pragma lib specific to msvc.
FreeType library should be configured as a normal external dependency via CSF_FreeType
by CMake and genproj, which is already done (information was duplicated).
kgv [Thu, 2 Sep 2021 06:03:55 +0000 (09:03 +0300)]
0032553: Configuration, CMake - unable to building with ActiveTcl
Removed linkage with "tcl8.6.lib" with help of pragma lib specific to msvc.
Tcl libraries should be configured as normal external dependencies via CSF_TclLibs
by CMake and genproj, which is already done (information was duplicated).
sshutina [Wed, 1 Sep 2021 12:43:40 +0000 (15:43 +0300)]
0031351: Inspectors - thread in DFBrowser removing
- DFBrowser_Thread and connected are removed from the package as obsolete
jgv [Fri, 27 Aug 2021 09:53:29 +0000 (12:53 +0300)]
0032502: Modeling Algorithms - BOP wrong result on sphere and cylinder
Modifications in the method IntPatch_ALineToWLine::MakeWLine:
correct setting parameters to vertices on IntPatch_WLine curve.
kgv [Tue, 31 Aug 2021 07:58:00 +0000 (10:58 +0300)]
0032549: Configuration - fix misprint in adm/scripts/android_build.bat for Draco library name
kgv [Mon, 30 Aug 2021 17:53:33 +0000 (20:53 +0300)]
0032546: Data Exchange, XCAF - mark material as defined XCAFDoc_VisMaterialPBR::IsDefined=true within default constructor
XCAFDoc_VisMaterialCommon and XCAFDoc_VisMaterialPBR default constructors now set IsDefined property to TRUE.
So that it is required to set IsDefined=false explicitly to create an undefined material,
which is done by XCAFDoc_VisMaterial constructor.
Existing application code shouldn't require any modifications in most cases
(IsDefined=true required before to setup material could be now removed).
kgv [Fri, 27 Aug 2021 22:42:10 +0000 (01:42 +0300)]
0032545: Configuration, CMake - add BUILD_FORCE_RelWithDebInfo option for generating VS project files with Debug info in Release mode
akaftasev [Thu, 26 Aug 2021 11:33:56 +0000 (14:33 +0300)]
0028687: Offset for open wire is built with incorrect direction
Added new condition to exclude offsetting non closed part of circle as complete circle
akaftasev [Tue, 24 Aug 2021 19:47:18 +0000 (22:47 +0300)]
0028684: BRepOffsetAPI_MakeOffset produces wire with another orientation in compare with source wire
Added flag to reverse resulting shape, if it was reverse in BuildDomains() to bringing to the same direction as the original shape
kgv [Sun, 27 Jun 2021 17:13:49 +0000 (20:13 +0300)]
0032464: Draw Harness, ViewerTest - rely on AIS_ViewController within vanimation command
Added AIS_ViewController::ObjectsAnimation() property
similar to AIS_ViewController::ViewAnimation() but designed for objects animation.
mkrylova [Mon, 5 Jul 2021 12:06:50 +0000 (15:06 +0300)]
0032281: Visualization - add Select3D_SensitiveCylinder
- implemented Select3D_SensitiveCylinder class performing an analytical intersection with an untriangulated cone/cylinder
- added tests
kgv [Wed, 25 Aug 2021 07:55:38 +0000 (10:55 +0300)]
0032403: Visualization - RayTracing renders all object as white color in view with white background
OpenGl_Caps::buffersOpaqueAlpha is now set to TRUE by default.
OpenGl_View::runPathtrace - fixed higlighting with PathTracing turned on and buffersOpaqueAlpha=true.
msv [Thu, 23 Apr 2020 10:13:11 +0000 (13:13 +0300)]
0031514: Foundation Classes - Add Base64 encoding function
The class FSD_Base64Decoder has been renamed to FSD_Base64.
The new method FSD_Base64::Encode has been added.
The method Decode has been improved for performance.
dpasukhi [Tue, 10 Nov 2020 04:52:30 +0000 (07:52 +0300)]
0031382: Data Exchange - BinXCAF should preserve length unit information
Possibility for adding LengthUnit info to XCAF document using special class XCAFDoc_LenghtUnit and XCAFDoc_LenghtUnitTool is implemented.
Package UnitsMethods is split: geom methods were placed to new file GeomConvert_Units which is in the toolkit TKXSBase, internal step scale factors was placed to StepData.
Updated UnitMethods to convert scale factor to different unit types.
Now, XSAlgo::XSAlgo_AlgoContainer is used to update unit info from static interface values.
New Draw command "XSetLengthUnit" and "XGetLengthUnit" for set or get XDE attribute.
Upgraded tests for STEP, IGES, OBJ, glTF, VRML formats to check area regressing with used unit.
Upgraded tests\de test cases to use any units in the "loop back" algorithms.
ifv [Mon, 5 Apr 2021 08:15:45 +0000 (11:15 +0300)]
0027457: Modeling - Raise exception if scaled transformation is used for shape location
Implementation of raising exception while using scale and mirror transformation in shape location
TopLoc/TopLoc_Location.hxx
TopoDS/TopoDS_Shape.hxx
Implementation of new tools for removing forbidden locations from shapes:
BRepTools/BRepTools_PurgeLocations.cxx
BRepTools/BRepTools_PurgeLocations.hxx
BRepTools/BRepTools.cxx
BRepTools/BRepTools.hxx
Draw commands for transforming shapes are corrected, new draw commands: purgeloc, checkloc added
BRepTest/BRepTest_BasicCommands.cxx
Fixing unstable test bug xde bug24759
StepToGeom/StepToGeom.cxx
All other C++ commits are modification of algorithms used mainly in import/export operations in order to allows these operations if shape locations contains scale and mirror transformations.
New test for command purgeloc added
tests/bugs/moddata_3/bug27457
tests/bugs/moddata_3/bug27457_1
tests/bugs/moddata_3/bug27457_2
Some test corrected according to modifications.
kgv [Sat, 14 Aug 2021 15:00:19 +0000 (18:00 +0300)]
0032536: Configuration - extend adm/scripts with USE_DRACO option
knosulko [Thu, 29 Jul 2021 08:00:09 +0000 (11:00 +0300)]
0026979: Parabola curve intersection with variety of surfaces produces incorrect results.
Method Intf_Tool::ParabBox now properly estimates the number of segments for a 3D parabola.
Fix input arguments of called Bnd_Box::Get method in Intf_Tool::HyprBox method.
abulyche [Wed, 14 Jul 2021 20:40:32 +0000 (23:40 +0300)]
0027884: Modeling Algorithms - Possible improvement for 2d classifier
Added the implementation of bndbox<->line and bndbox<->segment intersections for 2D to Bnd_Box2d
Added the speedup for 2d classification to BRepClass_Intersector.cxx
Added the test for our improvement
kgv [Thu, 12 Aug 2021 12:50:16 +0000 (15:50 +0300)]
0032533: Visualization, TKOpenGl - suppress error reported on Intel drivers due to OpenGL 4.5 specs violation
OpenGl_GlCore45 - removed a couple of FFP-related functions introduced by OpenGL 4.5 Compatible Profile, but not Core Profile.
OpenGl_GlFunctions::load() now tries to load a set of functions
from GL_ARB_robustness extension (having ARB suffix) to fill OpenGL 4.5 function table,
and from GL_ARB_indirect_parameters extension to fill missing items in OpenGL 4.6 function table on Intel drivers.
Warning message (trace level) is now reported instead of error in case of fallback usage.
kgv [Wed, 11 Aug 2021 15:48:23 +0000 (18:48 +0300)]
0032530: Data Exchange, RWGltf_CafWriter - add option merging Faces within the Part
Added RWGltf_CafWriter::ToMergeFaces() property disabled by default.
RWMesh_MaterialMap - fixed creation of texture folder within working dir ".".
XCAFDoc_VisMaterial::FillMaterialAspect() - added clamping of too small shininess values.
Added options -mergefaces and -splitindices16 to WriteGltf for new feature.
Added -systemCoordSys option to WriteGltf for consistency with WriteObj.
kgv [Wed, 11 Aug 2021 13:11:45 +0000 (16:11 +0300)]
0032527: Data Exchange, RWGltf_CafWriter - make name format configurable
Added properties RWGltf_CafWriter::NodeNameFormat() and ::MeshNameFormat().
kgv [Tue, 10 Aug 2021 17:35:14 +0000 (20:35 +0300)]
0032525: Data Exchange, RWGltf_CafReader - support KHR_draco_mesh_compression
Added new optional dependency - Draco library.
RWGltf_GltfJsonParser now detects KHR_draco_mesh_compression extension,
marks accessor being compressed and redirects to compressed buffer view.
RWGltf_TriangulationReader now handles decoding of buffer view compressed using Draco.
env.bat template for genproj has been modified to allow specifying dedicated folders
with debug versions of libraries (CSF_OPT_LIB64D / CSF_OPT_BIN64D) within custom.bat.
Removed unused CSF_FREETYPE from TKOpenGl.
kgv [Tue, 10 Aug 2021 14:23:44 +0000 (17:23 +0300)]
0032524: Data Exchange, RWGltf_CafWriter - avoid writing translucent metallic materials
RWGltf_GltfMaterialMap::DefineMaterial() and XCAFDoc_VisMaterial::ConvertToPbrMaterial()
now reset matallic factor to 0.0f in case of transparent color.
achesnok [Thu, 29 Jul 2021 10:28:19 +0000 (13:28 +0300)]
0031220: Visualization - remove internal field of viewer selector in context
- Removed myMainSel field from AIS_InteractiveContext and obtained this value from mgrSelector.
- Moved SelectMgr_ViewerSelector3d implementation into SelectMgr_ViewerSelector to get rid of redundant separation and extra DownCast's.
- Declared SelectMgr_ViewerSelector3d as deprecated.
kgv [Fri, 6 Aug 2021 13:13:58 +0000 (16:13 +0300)]
0032523: Draw Harness, ViewerTest - vrepaint -continuous has no effect
ViewerTest_ContinuousRedrawer now explicitly invalidates V3d_View content
in addition to emitting window content redrawing request.
"vrepaint -continuous" now tries to avoid creation of dedicated thread
on Windows platform and relies on AIS_ViewController::SetContinuousRedraw().
achesnok [Wed, 4 Aug 2021 11:37:46 +0000 (14:37 +0300)]
0026083: Coding Rules - Poor design of Graphic3d_GraduatedTrihedron
- Made class Graphic3d_AxisAspect publicly nested in Graphic3d_GraduatedTrihedron.
- Removed public PtrView field from trihedron and obtained it from OpenGL_Workspace while rendering.
- Made CubicAxesCallback protected and provided corresponding getter/setter.
- Renamed AxisAspect() to AxisAspectAt().
mkrylova [Mon, 26 Jul 2021 08:09:57 +0000 (11:09 +0300)]
0032490: Data Exchange - provide OSD_FileSystem::OpenOStream() for output streams
- provided OSD_FileSystem::OpenOStream() for output streams
- replaced OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
kgv [Wed, 4 Aug 2021 06:42:04 +0000 (09:42 +0300)]
0032518: Visualization - add AIS_InteractiveContext::SetDefaultDrawer()
jgv [Fri, 30 Jul 2021 00:09:09 +0000 (03:09 +0300)]
0032470: Modeling Algorithms - BOP wrong result on sphere and box
Correct adjusting pcurves on periodic surfaces: take the middle point as a reference point.
kgv [Sun, 1 Aug 2021 09:34:41 +0000 (12:34 +0300)]
0032508: Visualization - OpenGl_FrameBuffer::InitWrapper() should not fail on wrapping textured FBO
OpenGl_FrameBuffer::InitWrapper() now reads viewport from GL_VIEWPORT
and doesn't return error on GL_TEXTURE attachments.
OpenGl_FrameBuffer::Release() assertion is now skipped for wrapped FBOs.
kgv [Fri, 30 Jul 2021 19:35:28 +0000 (22:35 +0300)]
0032506: Visualization - add AIS_InteractiveContext::ObjectIterator() for iterating over objects in context