Issue #0025316 allows testing combinations of ::Display, ::Erase, ::Remove of AIS_InteractiveContext within an opened local context.
Until now it was a recommended practice to close any local contexts before (re)displaying interactive objects. This is a good advice, since combina
draw.sh d
script unable to find any OCCT library under Linux after CMake build and installation in the Debug mode. Build and install OCCT by CMake in the Debug mode.
Run script
draw.sh d
Today it is not possible to compile OCCT with VTK7. This possibility is required for internal R&D. It has also been asked several times by community, e.g. here: http://www.opencascade.com/content/cmake-error-when-vtk-module-enabled
Changes to apply are minor. They include the
This bug comes from Salome Mantis issue http://salome.mantis.opencascade.com/view.php?id=21864 In DRAW:
pload ALL
restore Common_1.brep aa
bounding aa
The xmax value is too big (look at the view).
Inertia axes are incorrectly computed for the box with equal sides. At the same time computation is correct if the difference exists and is tiny (e.g. 1e-4mm with length of 200mm).
Perhaps there is some instability or round-off error, etc. Anyway the skewed result is very differe
BRepExtrema_DistShapeShape computes non-zero distance on the two attached shapes. However, there is an intersection. For example BOP common gives non-empty result. restore solids138.brep s1
restore solids147.brep s2
dist s1 s2
# this results in: distance : 3.1251829616557059
# to
warning LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library
Such warnings appears during occt compilation with static type of libraries.
List of problem classes:
TopTools_ShapeM
Graphic3d package contains the following declarations that can be removed:
Graphic3d_TypeOfPolygon
Graphic3d_TypeOfPrimitive
Graphic3d_Array1OfVector.hxx
Graphic3d_Array1OfVertex.hxx
Graphic3d_Array2OfVertex.hxx
Graphic3d_CStructurePtr.hxx
Graphic3d_CycleError.hxx
Graphic3d_DataS
Computation of Line-Line extrema is quite simply algorithm. However, it is implemented in OCCT with complicated code.
More over, existing algorithm is not symmetrical (parameter on the second line is computed through the parameter on the first one). New test case is not required.
Dico_Dictionary and whole package implements functionality on binding generic data with the text strings. The strings are put into search tree and tree node is created for each character.
Such organization is not efficient for millions of strings. It is proposed to change Dico_Di
Method IntPatch_Intersection::GeomGeomPerfom(...) returns "Not Done". Consequently, method IntPatch_Intersection::ParamParamPerfom(...) is called. It works very slow. Shapes are as same as attached to the bug #26884.
restore [locate_data_file Bug26884-f1.brep] f1
restor
38 faces in attached compound (extracted from BLERIOT model) are no more triangulated by BRepMesh_FastDiscretFace in DEBUG mode (without No_Exception) due to unhanded gp_VectorWithNullMagnitude exception after #0027384 improvement. N/A
Add dimension functionality shows incorrect tip for an Edge in sample mfc Viewer3d • Create box
• Press "Add dimension button"
• Press "Click to set up selected edge" button on "Edge" tab
-> Wrong message appears
• Select any vertex of box (as it
Ocaf sample could not read/save any document without CSF_StandardDefaults/CSF_PluginDefaults environment variables (without files StdResource/Plugin and StdResource/Standard). It leads to exception. • Comment all environment variables in occt env.bat (see attached image)
• Run mf
AIS_InteractiveContext::FitSelected() is broken for global selection since #0026272.
+ const Handle(AIS_Selection)& aSelection = AIS_Selection::Selection (aSelName);
+ AIS_MapOfObjectOwners anObjectOwnerMap;
+ for (aSelection->Init(); aSelection->More(); aSelection->
The original meaning of flag Prs3d_Drawer::ShadingAspectGlobal() is confusing, and at the same time it is broken now since each Graphic3d_Group should define aspects.
Therefore, this flag should be removed. N/A
In applications sometimes it is useful to have own implementation of SelectMgr_SelectableObject::UpdateSelection (const Standard_Integer theMode = -1) in order to perform custom preprocessing step before the update.
Therefore, it is necessary to make the method virtual. not neede
Two overloads of AIS_InteractiveContext::SetDisplayMode() use different argument types for the display mode (AIS_DisplayMode vs Standard_Integer).
Meanwhile, a generic integer is used throughout TKV3d to identify a display mode. Using AIS_DisplayMode enum imposes a serious restri
See steps to reproduce. restore Attachment 1 (BREP) a
explode a
mkpoint p a_2
bclassify a_1 p
#
An exception was caught [revision removed] : Standard_ConstructionError:
** Exception ** [revision removed] : Standard_ConstructionError:
The method HLRAppli_ReflectLines::GetResult must be const, but it is declared as non-const. Recently added method GetCompoundOf3dEdges must be declared const as well. Not needed
The issue was introduced in [revision removed]. Up to [revision removed] two intersections (solutions) have been reported for a given wire and edge. But now only one intersection is reported, even though there are obviously two intersections. I will upload two files: Attachment 2
Current approach to generating projects for UWP with CMake is not reliable: it fails depending on combination of CMake version, OS version, VS 2015 flavor and settings, position of the moon in the sky, or whatever.
It would be much easier if an option to generate VS 2015 projects
When 2d or 3d BSpline curve has many knots (~> 100) algorithm takes too much time to process them. Problem can be illustrated by following test:
beziercurve c 4 0 0 0 1 1 0 2 1 0 3 0 0
#
convert c1 c
set i 1
repeat 98 {insertknot c1 0.01*$i 1; incr i 1}
mkedge e1 c1
prism p1 e
For the appended shapes the bop command is running endless or extremely long.
The shapes are considered valid by checkshape, bopcheck and bopargcheck. restore Attachment 1 (BREP) a
restore Attachment 2 (BREP) b
bop a b
This method uses the condition:
D(P(V1), P(V2)) <= Tol(V1)+Tol(V2)
But must use the following:
D(P(V1), P(V2)) <= Tol(V1)+Tol(V2)+Precision::Confusion()
So, if we create a box with height equal to 2e-7+1e-14 the self-intersection checker must report an error. But now it doe
BRepAlgoAPI_Fuse makes invalid result in test case bugs modalg_2 bug426_1
...
Draw[]> OCC426 result rs1 rs2 rs3 fuse32 fuse321
fuse32 = BRepAlgoAPI_Fuse(rs3, rs2)
fuse321 = BRepAlgoAPI_Fuse(fuse32, rs1)
Mass: 25918.139392115794
Trianglating Faces .....
No of Triangles = 50
No
The following code within Precision.lxx contains the code within PRECISION_OBSOLETE macros that is never used:
inline Standard_Real Precision::Angular()
{
#ifdef PRECISION_OBSOLETE
static const Standard_Real Precision_Angular = 1.e-12;
return Precision_Angular;
#else
return 1.e-1
It is common practice to pass TCollection_AsciiString/TCollection_ExtendedString by reference, however the following methods pass string by copy:
- TObj_Application::SaveDocument()
- TObj_Application::LoadDocument()
- TObj_Model::SaveAs()
- TObj_Model::Load ()
which is inconsiste
Visual Studio raises compilation error when call to NCollection_UBTree::Kill() is used in user's code due to inconsistency of signature of delNode() with type of passed parameter (Handle(NCollection_BaseAllocator)& theAlloc instead of const Handle(NCollection_BaseAllocator)&a
New CMake option BUILD_RESOURCES added in scope #0027258 does not work with CMake 2.8:
CMake Error at adm/cmake/occt_resources.cmake:51 (string):
string does not recognize sub-command APPEND
Call Stack (most recent call first):
adm/cmake/occt_resources.cmake:76 (OCCT_GENERATE_CON
If BUILD_DOC_Overview is turned off, do implicit search for doxygen executable and turn BUILD_DOC_Overview on if this search is done successfully.
If the Dot is not found and 3RDPARTY_SKIP_DOT_EXECUTABLE is not defined yet - turn 3RDPARTY_SKIP_DOT_EXECUTABLE off
This bug is for correction of upgrade guide for OCCT 7.1.
The first issue to correct concerns the section "Typedefs". The following statement is not true:
For most applications this change should be transparent, since the size of types have not been changed.
Not needed
This bug was founded in scope of CR25489.
Wrong deflection computation caused by two facts:
1) Usage of ExtremaCC, which compute only minimum, but we need to get maximum.
2) Solving two-dimensional task, on which term "maximum", not well-defined.
It is necessary to chan
The following command "vanim a -play 0.5 -duration 0" is expected to seek onto specified position and immediately stop playback (thus producing exactly single frame of animation).
However, current implementation produces unstable screenshots (e.g. with different timesta
OpenGL ES has GL_EXT_texture_format_BGRA8888 extension defining BGRA texture format but there are no extensions for glReadPixels()!
Command vreadpixel erroneously uses unsupported format leading to failures within OpenGL ES renderer. N/A
In the Draw User's guide (chapter "The Command Language"), there are examples for TCL for-loops, but the condition of the for loop is wrong.
for {set i 0} {$i 10} {incr i} {
=>
for {set i 0} {$i < 10} {incr i} {
for {set i 1} {$i = 100} {incr i} {
=>
for {set i
The environment variable INSTALL_DIR_LAYOUT is not documented.
This variable is used by cmake when OCCT is building from sources.
There is a corresponding complaint from one of our customers.
He uses several platforms: Linux & Windows:
"Speaking of linux, unfortunately t
In DRAW, after pload ALL is called, saving to XmlOcaf format seem to be not working. Note that it works well in pload only OCAF and MODELING. Tried both Windows and Linux. pload ALL
NewDocument D XmlOcaf
box b 10 10 10
SetShape D 0:1:1 b
SaveAs D /tmp/b.xml
To be used the next sc
The beta release package opencascade-7.1.0-vc10-64-beta.exe will crash if open HLR rendering option. This can be reproduced in MFC samples.
It works fine in QT sample. 1. Open MFC Visualization sample (mfc Viewer3d)
2. Click button "Cylinder" to display cylinder (5-th i
Current OCAF approach allows to set on the same label only one Attribute of the same type, for example only one TDataStd_Real attribute.
It is proposed to remove this limitation by adding so called 'user defined' feature to the attribute. I.e. it is proposed to keep GUID (identif
It was found that "BRep Format" document contains a lot of TEX formulas. For some strange reason images have not been generated. The example below demonstrates such situation.
\( f_{1}\; f_{2}\; f_{3}\; f_{4}\; f_{5}\; f_{6}\; f_{7} \) <flag>s \( f_{i}\;(1\leq i \
performing a boolean fuse on two shapes that occt reports as valid (even for fuse bop) produce a result that checkshape command reports as faulty (BRepCheck_BadOrientationOfSubshape) Draw[55]> restore Attachment 1 (BREP) i1
i1
Draw[56]> checkshape i1
This shape seems to be
Could be a STEP importer issue - mesh generation hangs when generating a mesh for a particular STEP file. Open attached STEP file in Windows ImportExport sample (tested with 6.9.1) - display tessalation hangs until application crashes.
pload MODELING VISUALIZATION DATAEXCHANGE
te
Mesh algorithm very slow for a revol shape in occ6.7, while in occ6.2.0 is very fast.
PS:
The deflection of the BRepMesh::Mesh only have the effect for sphere; other shapes or surfaces have no effect.
As stated in subject, when displaying shaded objects either with face outlines (introduced in 23407) or along with some other wireframe objects slows down the visualization. I think this is due to the fact that the shaded objects are displayed using VBO while the others not.
I th
The results of sprops command are unstable on some shapes, yielding different values from time to time for exactly the same shape. This should be fixed so that results are always the same.
Note that similar problem has been reported in #0025945 , but in that issue the differences
Extrema_ExtPS crashes internally if shape contains faces without geometric surface. pload MODELING
restore [locate_data_file bug27821_nullsurf.brep] a
vertex v 0 0 0
distmini d v a
Test bugs modalg_5 bug25319_1(2).
Draw[]> explode b1 f
Draw[]> explode b2 f
Draw[]> don b1_8 b2_17
Without any start point
Draw[]> bopcurves b1_8 b2_17 -2d
# Tolerance Reached=2.[revision removed]-006 ==> OK
With start point:
Draw[]> bopcurves b1_8 b2_17 -2d -p
The reference documentation of AIS_Trihedron says in several places that its default size is 100 mm. But this is not true.
You may have a look at the following functions:
Standard_Real AIS_Trihedron::Size() const
{
return myDrawer->DatumAspect()->FirstAxisLength();
}
Prs3d_
When FPE signals are enabled on current master (by setting environment variable CSF_FPE to 1), many tests fail due to FPE exceptions in HLR algorithm (see the list in Additional Information field).
Debugging of the problem on one case (bugs modalg_6 bug27280) shown that FPE overf
If the resource files (Plugin, XCAF, STEP, etc.) are located in some folder, which has dots in the name (e.g. "this.is.a.bad.folder.name"), the path assembling logic fails, since OSD_Path will be firstly constructed with the folder path only, which means that the folder
Sample Conversion to B-Spline doesn't show bspline surface on Windows 8. 1. Launch sample "Conversion to B-Spline" (mfc Convert sample)
2. Click next\previous sample
3. Build surface should be highlighted (by orange color for wires, by blue color for shapes), first samp
Sample XAML (UWP) needs to use TKIGES, TKSTEP, TKXSBase, TKSTL for successful compilation currently. It is necessary to build all possible toolkits for UWP platform. • Build OCCT and XAML sample with UWP
• Try to build and run XAML sample
When using the MFC samples, e.g. Viewer3d, there is a flickering when the view is resized.
When using Draw, there is no flickering.
The flickering looks as if the scene is first cleared in White and then drawn again in dark grey.
The Problem occurs in all OCC versions (I didn't t
Highlighting of any object with "Hidden On" option leads to crash in mfc Modeling Within Draw Harness:
pload MODELING VISUALIZATION
box b 1 2 3
vclear
vinit View1
vdisplay -dispMode 1 b
vfit
vhlr on
vmoveto 250 250
Within MFC sample:
• Run mfc Modeling sample
• Create b
Objects (shapes and fonts) in samples Geometry/Viewer2d have incorrect color.
• Run sample Geometry/Viewer2d
• Run command (e.g. Bezier surface, Fill curves...)
Vector export through gl2ps is deprecated in OCCT and does not work by default - therefore it is better removing related code from MFC sample. - Start Import/Export MFC sample.
- Import any shape.
- Export to Image file.
When sewing a couple of faces, which should form a closed solid, an invalid Shell is returned. checkshape says that some faces have self-intersecting wires. These faces are cones that are nearly planes. If These faces are modified to be real planes, sewing works fine. So, it seem
please check the picture
"The algorithm to build a Secton between the arguments. The Section consists of vertices and edges. The Section contains:"
it should be Section but not Secton
Compilation of OCCT 7.1.0.beta by VC++ 14 produces several warnings on local variable hiding another variable with the same name defined in outer scope. Compile with VS2015
The shadow structure is not correctly removed from its layer within device loss scenario.
The reason is that flag Graphic3d_CStructure::IsForHighlight is reset within OpenGl_Structure::Clear() called by Graphic3d_StructureManager::RecomputeStructures(), but since this flag is set
Would it be possible to put the code of Draw command VGlInfo (see ViewerTest_OpenGlCommands.cxx) or something similar into an API function, so that application code could easily use it?
In this way, information about the OpneGL version,... could be e.g. easily put into an automat
Current implementation of Graphic3d_TMF_2d defines custom projection matrix unrelated to camera definition. This makes rendering of objects with this flag completely independent.
As a side effect, this flag disallow usage of any 3D objects due to clipping issues.
It will provide
I am trying to select triangles of my mesh (MeshVS_Mesh) by calling the "Select" method of my context with a polyline (point2d array of screen coordinates).The "internal" triangles are selected as supposed. But there are also many selected triangles outside th
If last object in ZLayer is semitransparent, next ZLayer is drawn without depth buffer cleared.
The reason is because *OpenGl_Workspace::updateMaterial()* disables depth writes by *glDepthMask(GL_FALSE)* and following *glClear(GL_DEPTH_BUFFER_BIT)* in *OpenGl_Layer::Render()* has
V3d_Trihedron::compute() calls GraphicClear() with flag FALSE
> myStructure->GraphicClear (Standard_False);
which implies that groups are not deleted from the structure.
At the same time, compute() unconditionally creates new groups.
Either, GraphicClear() should be called
Ray tracing and path tracing modes cause crash after window resize on NVIDIA driver 373.06 (and close versions) at least on the following GPUs: GeForce 680 GTX, 770 GTX, and 740. Resize the window on NVIDIA GPUs (tested on 6xx and 7xx series) with driver version 373.06.
In HD screen resolutions, path tracing could become non-interactive. It is proposed to dynamically adjust number of bounces depending on the type of ray-surface interaction and to gradually increase it when the camera is stabilized. Now it is inherent property and cannot be enabl
Current implementation of StdPrs_WFShape::Add() adds isolines into dedicated group of primitives for each face. This significantly limits FPS by CPU due to large number of groups for big models. N/A
StdSelect_BRepOwner does not copy transformation persistence flag for created presentation leading to highlighting artifacts within local selection. pload MODELING VISUALIZATION
vclear
vinit View1
vtrih t
vdisplay -trsfPers trihedron -trsfPersPos -1 -1 40 t
box b 30 40 50
vdispla