1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-04 18:06:22 +03:00

1949 Commits

Author SHA1 Message Date
apv
569c958248 0027760: [regression] BRepAlgoAPI_Common returns empty result
Problem is not reproduced on current master. Issue must be closed on 7.2.0.
Test case was added only.
2017-08-24 19:12:01 +03:00
apv
cba287d62a Update of tests database
Test for 0025930: thickness of spherical cap is invalid
Test for 0025939: SIGSEGV in MakeThickSolid
Test for 0025940: MakeThickSolid creates C0 continuous edges
Test for 0026604: GeomFill_Pipe doesn't fit given bounds
Test for 0026655: ChFi3d_Builder algorithm fails to build fillets if some input edges connect with seam edges
Test for 0026697: BRepFeat_MakePrism returns empty compound
Test for 0026716: Mesher cannot create a mesh of brep model due to ShapeFix_Wire::FixShifted()
Test for 0026735: Adjacent perpendicular edges are detected as overlapped by DRAW command checkoverlap.
Test for 0026793: General Fuse algorithm produces incorrect result
Test for 0026795: Unable to perform General Fuse operation on the attached faces
Test for 0026842: bopsection result does not contain any edges.
Test for 0026882: Edge/Edge intersection algorithm produces incorrect result
Test for 0026883: Wrong result of Boolean Operation
Test for 0026889: Very poor mesh result from shape
Test for 0026928: Edges are meshed too coarsly
Test for 0026933: Section works unstably due to incorrect work of the method IsExistingPaveBlock
Test for 0026943: Wrong projection of helix on cylinder by ShapeConstruct_ProjectCurveOnSurface
Test for 0026957: Unify same domain operation is slow for multiple shells
Test for 0026978: Interactive selection is insensitive to swept shell
Test for 0027004: ShapeUpgrade_UnifySameDomain produces invalid result
Test for 0026280: Mechanism 'ShapeFix' is unable to heal a shape
Test for 0026282: Mechanism 'ShapeFix' has errors revealed by wire tool 'FixTails'
Test for 0026291: BRepMesh produces mesh with gap on the attached shape
Test for 0026382: BRepMesh produces internal nodes outside the face interior
Test for 0027453: Wrongly meshed surface
Test for 0027524: The command checkshape does not find the maximal deviation between curves representations
Test for 0026225: Wrong result of chamfer in case of coinciding bound of chamfer's surface with bound of a face
Test for 0026295: Sweep fails with BRepFill_ContactOnBorder
Test for 0026374: GeomFill_Profiler fails to unify BSplines if one has knot distance less than PConf
Test for 0026558: Failing to build isoline for offset surface
Test for 0026563: Boolean cut operation in new API multi-tool mode performs fuse instead of cut
Test for 0026568: Exception when creating pipe
Test for 0027419: Incorrect result of Edge/Face intersection
Test for 0027469: Regression vs 6.9.1: Wrong result of Edge/Face intersection
Test for 0027471: Wrong result of pipe
Test for 0027472: Wrong result of cut
Test for 0027614: Sewing returns result with too high tolerance
Test for 0026154: Visualization - v3d viewer grid disappears due to automatic z-fit
Test for 0026174: Loss of color after the second write of file (iges).
2017-08-18 12:13:40 +03:00
nds
9294c8f774 0028631: Modeling Algorithms - Crash while building a 2D circle tangent to another circle and passing through its center
Code correction includes also:
- extending GccEnt to have GccEnt_Position conversion to string value and backward;
- new GeometryTest_DrawableQualifiedCurve2d DRAW object to wrap GccEnt_QualifiedCirc/GccEnt_QualifiedLin.
  It is a DrawTrSurf_Curve2d with GccEnt_Position visualized in orange color.
- qcircle/qline DRAW command to create instance of GeometryTest_DrawableQualifiedCurve2d
- circ2d3Tan DRAW command to wrap GccAna_Circ2d3Tan taking qcircle/qline/point arguments.
2017-08-17 22:21:32 +03:00
abv
22e7073865 0027561: Since OCCT 7.0.0, exporting a curve to STL creates a file that results in an endless loop when read
Add check for empty triangulation when writing STL file to report error instead of creation of empty file.

STL reader has been improved to properly handle case of empty or small files, and Ascii files without EOL at the end.
2017-08-17 15:49:11 +03:00
mkv
fbd0023f75 0028967: Boolean cut fails the first time, works the second time 2017-08-17 15:48:22 +03:00
emv
2783b13ce6 0028893: BOP cut produces result with artifacts consisting of tools parts 2017-08-17 15:48:15 +03:00
emv
7337535943 0028892: BOPAlgo_PaveFiller returns status "error: 11" in draw or raises exception in app on the given shapes set
Boolean Operations algorithm - Added processing of the untouched edges (without edge set) in the UpdatePaveBlocks method.

IntCurvesFace_Intersector algorithm - Avoid calculation of the number of sample points on the surfaces with too small UV ranges.
2017-08-17 15:47:50 +03:00
skl
2bc6f71528 0028715: Invalid shape produced by reading of attached STEP file. Regression from OCCT-6.9.1 to OCCT-7.0.0.
Corrections: to use fixed shape as result in the non-manifold mode was made.

Regression was due to using modified initial shape as result in the previous version OCCT. At present initial shape is not modified during ShapeProcessing. Therefore modification to use fixed result was made.

Additionally using of nonManifold flag is added to ShapeProcessing.
2017-08-17 15:47:32 +03:00
apv
a2456ed88a 0026516: Creating revolved shapes fails in some cases 2017-08-17 15:47:25 +03:00
mkv
98f5d739e3 0026776: Bad result of section algorithm 2017-08-17 15:47:08 +03:00
apv
dfdfa61fb5 Update of tests database
Test for 0023838: Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell)
Test for 0023866: GccAna_Circ2d3Tan does not find a circle
Test for 0023925: BRepFeat_SplitShape produces invalid shape
Test for 0023942: Pipe algorithms unrobust to number rounding
Test for 0025385: steep increase in tolerance by intersection
Test for 0025395: SIGSEGV in BRepOffsetAPI_MakeThickSolid
Test for 0025458: can a sweep be used to create 1-fold tori (using a closed wire as path)
Test for 0025478: Fillets can not touch
Test for 0025481: Edge must not contain obsolete curve representations
Test for 0025515: Boolean operation become worse for unknown reason.
Test for 0025521: Fillet creates shell with bad orientation of SubShape
Test for 0025551: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface
Test for 0025586: Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
Test for 0025626: Loft of ellipses shows wrinkle near seam edge
Test for 0025628: BRepMesh fails to mesh face with open wire, considered as correct by checkshape
Test for 0025693: Wire of BSplines fails bopcheck
Test for 0025730: result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0
Test for 0025738: BRepMesh fails to produce correct mesh for the face
Test for 0025776: HLR returns intersecting edges in OutLineV of helical sweep
Test for 0025798: BRepFeat_SplitShape returns invalid result
Test for 0025817: crescent face is not meshed
Test for 0025827: BRepMesh does not synchronize parameters of glued vertices on small edges
Test for 0025837: Bad triangulation when IGES loaded in meters
Test for 0025852: Text to BRep algorithm produces bad faces for circled symbols
Test for 0025856: BRepOffsetAPI_ThruSections returns an invalid shape if one wire contains degenerated edges
Test for 0025879: result of blend fails the bopcheck
Test for 0025967: Shape Healing fails to correct a face with missing poles and pcurves
Test for 0026052: Missing pcurves are computed incorrectly on two connected faces laying on the same surface
Test for 0025061: BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway
Test for 0024490: Computed surface properties differ substantially depending on NaturalRestriction flag
Test for 0024568: Split shape produces an invalid result
Test for 0024692: fuseedge corruption of spherical edge
Test for 0024772: Intersection of cylinder and cone produces incorrect results
Test for 0024954: BRepBuilderAPI_MakeFace adds wire with aribitary orientation
Test for 0025104: Prism from BSpline curve can not be chamfered
Test for 0025206: Fillet creates edge with C0 continuity
Test for 0025979: fillet creates faces with non-closed wires
Test for 0025983: Fusion of sweep and its mirror invalid
Test for 0025994: Boolean fuse result in invalid result.
Test for 0026034: Result of revolution aborts the bopcheck if translated
Test for 0026077: nurbsconvert of psphere fails the bopargcheck
Test for 0025989: toridial surface gets damaged in STEP export
2017-08-10 13:56:12 +03:00
emv
a318d719e7 0028982: 2D offset creates faulty result from wire
Protection of the Edge/Edge intersection algorithm (IntTools_EdgeEdge) from incomplete type conversion due to presence of the Trimmed curves by using Adaptors for getting typed curves instead of direct casting.

Test case for the issue.
2017-08-09 18:11:03 +03:00
aml
1428d37a1a 0028974: Test cases for STL reader/writer
Add new test grid for STL read/write.
2017-08-08 18:10:17 +03:00
vro
095e90a2c5 0028973: Undo/Redo changes the order of some attributes 2017-08-08 18:04:37 +03:00
apv
b101eb1ff0 0025023: Check fails after cut operation 2017-08-08 17:44:01 +03:00
nbv
fc935b4f6b 0028944: Cannot find section between two faces
Test case has been created because the problem is not reproduced on the current version of OCCT.
2017-08-08 17:40:57 +03:00
abv
f7b6063134 0028112: Exception during offset computation
Methods D0, D1, D2, D3, DN of the class GeomEvaluator_OffsetSurface are extended by additional tweak to compensate failure of normal calculation in degenerated points on triangular surfaces.
If the point where normal has failed to calculate is located on parametric boundary of the base surface, one more attempt is made with the point shifted towards interior by Precision::PConfusion().
2017-08-03 17:52:51 +03:00
szy
e16302cee1 0028946: Exception on Undo.
//Added additional command ForgetAtt and test case E1 to test issue 28946.
2017-08-02 18:12:09 +03:00
abv
1d949423b7 0028680: Data Exchange - allow reading of multi-domain STL files
Method RWStl::Read() is improved to support reading multi-domain STL files.

Test added: bugs stlvrml bug28680
2017-08-01 23:48:20 +03:00
aml
4178b3531b 0028840: Data Exchange - rewrite the STL Reader/Writer
STL Reader and Writer tools have been refactored to improve performance and usability:
- Basic reading of STL file is separated to abstract class RWStl_Reader which is not bound to particular data structures; the target data model can be bound via inheritance.
- RWStl package uses class Poly_Triangulation to represent triangular mesh.
- Obsolete data structures and tools (packages StlMesh and StlTransfer) are removed.
2017-08-01 23:48:15 +03:00
kgv
08f8a1854d 0025382: Visualization, TKOpenGl - improved video recording capability
Image_VideoRecorder - added new class for video recording using FFmpeg framework.
Draw Harness command vanimation has been extended with new options for video recording.
New optional dependency has been introduced - CSF_FFmpeg.
2017-07-31 17:37:07 +03:00
nds
14bbbdcbc1 0027398: Integrate Qt Browser Widget to Open CASCADE Technology
The following implementation has been made:
- CMake procedure is extended to compile Qt tools. This is optional and is handled by USE_QT_TOOLS option(OFF by default)
- It is possible to build Qt tools using Qt5 or Qt4, it is settled with USE_QT4 option.
- Sample of DFBrowser tool is available in samples/tools/TInspectorEXE. It is build with tools, executable is placed in binaries. To start the sample, use dfbrowser.bat command.
- DFBrowser tool may be started from DRAW
2017-07-28 15:35:16 +03:00
mkv
04db3d1cc9 Test for 0023638: Reading IGES file produced invalid shape 2017-07-28 15:34:53 +03:00
nds
948c552acd 0028850: Visualization - Length dimension along Horizontal/Vertical axes
AIS_LengthDimension interface was extended to allow setting a custom dimension direction.
The value of dimension in this case is equal to projection of the distance between dimension attributes(points) to this direction.

vlengthparam command is implemented to set custom length direction in DRAW.
2017-07-28 15:34:51 +03:00
mkv
2508ca8e54 Update of tests data base for reproduced issues
Test for 0022602: Improvement in notched healing
Test for 0022750: Boolean operation: Bug in Fuse
Test for 0022821: Crash with BRepFilletAPI_MakeFillet
Test for 0023090: Reading a STEP file produces invalid shape
Test for 0023163: Intersection of tori fails to produce results
Test for 0023343: Crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface / MakeApprox if init Surface is set
Test for 0023386: BRepAlgoAPI_Fuse on two disjoint shapes sometimes loses all geometry from one of the shapes
Test for 0023451: FixMissingSeam constructs intersecting wires
Test for 0023497: Units package raises exception for composite units
Test for 0023638: Reading IGES file produced invalid shape
Test for 0023667: checkshape command does not detect problems in the attached shape
Test for 0023671: pload function does not work if DRAWDEFAULT file has win format
Test for 0024185: Wrong projection of a wire to a face
Test for 0024215: Error in offset (bad curve)
Test for 0024251: Command checkshape does not report a problem on first call after fixshape
Test for 0024365: BRepAlgoAPI_Section wrong result, BRepAlgo_Section good result
Test for 0024421: Sewing changes orientations of some subshapes.
Test for 0024429: Cylinder-torus intersection throws an exception and produces no result
2017-07-28 15:16:41 +03:00
nds
fbfdf61abb 0028529: UnifySameDomain crashes on a shape with location
During gluing edges, when getting pcurve of an edge, consider the proper surface location.
2017-07-27 14:00:56 +03:00
szy
030ba6489b 0028862: Unification of empty labels saving procedure.
Added a possibility to save empty labels to a persistent document in case of need.
2017-07-27 14:00:44 +03:00
apv
1f9eb89082 Test for 0024424: BRepAlgoAPI_Cut throws Standard_ConstructionError with disjoint, but adjacent solids 2017-07-27 14:00:09 +03:00
kgv
6a2ed6e82b 0028938: Tests - remove useless file artifacts of test cases perf/de/bug26338 2017-07-27 13:59:34 +03:00
apv
d483647d5d Test for 0024145: OCCT fails to project a wire onto BSplineSurface using BRepAlgo_NormalProjection 2017-07-27 13:59:28 +03:00
anv
6319b55bc6 0028871: Various problems in SAT export 2017-07-27 13:59:22 +03:00
mkv
751b10f25b Test for 0028551: Bad result of general fuse 2017-07-27 13:59:05 +03:00
mkv
60afea0a98 Test for 0023025: OCC exception is raised when making an extrusion with draft angle from a simple line 2017-07-27 13:58:52 +03:00
mkv
63bd365eed Test for 0023176: Intersection of cylinder and cone produces open curve 2017-07-21 12:13:05 +03:00
kgv
cc8cbabe5c 0028912: Visualization, TKOpenGl - multi-texture support
Graphic3d_AspectFillArea3d now stores array of textures.
Graphic3d_TextureParams stores texture unit for mapping texture.

OpenGl_Context::BindTextures() - context now manages the set of active textures.
Related code has been removed from OpenGl_Workspace.

OpenGl_Sampler has been extended to hold texture parameters structure.
OpenGl_Texture now holds OpenGl_Sampler instance as class field.
OpenGl_Texture inherits new class OpenGl_NamedResource and holds
texture identifier used for sharing resource in OpenGl_Context.

OpenGl_RaytraceGeometry now creates bindless textures taking
Sampler object directly from OpenGl_Texture.
OpenGl_Context::BindTextures() automatically recreates immutable
Sampler Object on texture parameters change.

Declared new structure OpenGl_ArbSamplerObject for platform-neutral
usage of related functionality.
Related functions are now loaded within OpenGL ES 3.0+.

Declarations.glsl - occActiveSampler has been renamed to occSampler0
with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility).
Additional texture samplers should be declared explicitly
within specific GLSL program as occSampler1, occSampler2, etc.

AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

vshaderprog now accepts Shader source code as parameter.
2017-07-21 12:10:41 +03:00
kgv
a6dee93dfa 0028811: Visualization - merge texturing support into AIS_Shape class and get rid of AIS_TexturedShape
AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

OpenGl_Context::SetTextureMatrix() - fixed inconsistent handling
of texture cooridnates translation vector.

vtexture command has been extended to handle new arguments:
* -trsfTrans, -trsfScale, -trsfAngle defining transformation matrix
* -setFilter, -setAnisoFilter to setup texture filtering
2017-07-21 12:10:37 +03:00
mkv
775530d462 Test for 0023166: Intersection of plane and cone produces wrong result 2017-07-20 11:45:58 +03:00
mkv
7fc0e03544 Test for 0023187: Cut with a compound 2017-07-20 11:40:37 +03:00
mkv
365a640d07 Test for 0022919: Shape Healing fails to correct a face with missing seam 2017-07-13 17:29:52 +03:00
kgv
a5460e9d98 0028887: TKJT - add option to cache file content
Added new auxiliary class Standard_ArrayStreamBuffer implementing
std::streambuf interface for defining std::istream from allocated memory.
2017-07-13 17:29:50 +03:00
mkv
efd535aebf Test for 0022886: Bug in boolean 2017-07-13 17:29:44 +03:00
ifv
35dced1c14 0028856: Extrema between two curves gives wrong result
Treatment for large Lipschitz constant is added
Test case is added
2017-07-13 17:29:42 +03:00
kgv
1eeef710bb 0028895: Visualization, V3d_View::SetComputedMode() - HLR calculation is performed multiple times when 'hlr on' has been called
V3d_View::SetComputedMode() - removed implicit View update.

Graphic3d_CView::SetComputedMode(), ::ReCompute() - fixed
uninitialized bounding box of Computed structure.

PrsMgr_Presentation::Compute() - fixed computation of Computed structure
with transformation within Connected presentation.

StdPrs_HLRPolyShape::Add() now creates Graphic3d_ArrayOfSegments instead of
inefficient Graphic3d_ArrayOfPolylines with boundaries at every segment.

Fixed error in test case bugs/vis/bug24388_1.
2017-07-13 17:29:40 +03:00
kgv
851dacdbb9 0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed
DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager,
so that all Viewers sharing the same Driver instance are properly invalidated.

Fixed clearing of objects by vclear command in case of multiple Viewers.
2017-07-13 12:42:47 +03:00
mkv
336a63f042 Test for 0022487: Reading IGES file produces invalid shape 2017-07-13 12:40:01 +03:00
mkv
ae572ec121 Test for 0022394: Not valid shape after read iges 2017-07-13 12:38:22 +03:00
mkv
e14d870c30 Test for 0022288: checkshape works wrong with attached shape. 2017-07-13 12:36:04 +03:00
mkv
5a7e1e7d00 Test for 0022283: Problem with reading of attached IGES file. 2017-07-13 12:32:57 +03:00
duv
b27ab03d09 0028762: Visualization, Ray tracing - Implement depth-of-field effect
Graphic3d_RenderingParams - introduced new parameters CameraFocalPlaneDist and CameraApertureRadius managing DOF effect.
TKOpenGl - added new ray generation logic to RaytraceBase.fs.
vrenderparams command - added -focal and -aperture parameters.
OpenGl_View.hxx - function for ray generating was split into two functions (ray tracing and path tracing).
OpenGl_View_Raytrace.cxx - fixed interaction between adaptive sampling and stereo camera
2017-07-13 12:23:09 +03:00
emv
33ba856502 0028786: Refactoring of the Warning/Error reporting system of Boolean Operations Algorithm
0. Basic tools for defining classes representing alerts (errors, warnings etc.) and collecting them during execution of algorithms are added in Message package.

1. Refactoring of the Error/Warning reporting system of the algorithms in Boolean Component.
   To dump the description of the Error/Warning status of the algorithm the DumpErrors/DumpWarnings method should be called.
   Also, the methods GerErrorMsg(int Error) and GetWarningMsg(int Warning) have been implemented to get the description for the given Error/Warning.
   All Error/Warning statuses are now listed in the enumeration ErrorStatusEnum/WarningStatusEnum of the algorithm.
   It is also possible to get the shapes for which the warning has been set by using the method GetWarningShapes().

2. The new class BOPAlgo_Options has been created to unify the options of the BOPAlgo_* and BRepAlgoAPI* algorithms.

3. The new checks across the algorithms have been added to detect and report errors and warnings.

4. Test cases
  boolean bopcut_complex B9 E1 E5 E8
  boolean bopfuse_complex B4 B5 C9 D1 D4 D5 D6 D7
have been rewritten to use Cells Builder algorithm instead of Boolean Operations algorithm, because latter always returns error "Unsupported Boolean operation" for these cases.

5. New chapter has been added in the user guide for Boolean Operations - Error / Warning reporting system.

6. Added comment to NCollection_List::Remove(Iterator&)
2017-07-06 12:41:56 +03:00