Archived issue #0020846
Few fixes and improvements for OCCT BRepMesh triangulator
Description
There are a few fixes and improvement for OCCT triangulator:
- Replace usage of TColStd_ListOfInteger by specific class container to avoid
excess memory allocation/deallocation of list nodes
- Remove excess invokation of TopExp::MapShapesAndAncestors in IncrementalMesh
- Remove useless package MeshShape from OCCT (useful classes moved to BRepMesh)
- Remove excess classes from BRepMesh and MeshAlgo packages:
BRepMesh_DataMapOfShapeReal from BRepMesh.cdl
BRepMesh_Discret.cdl, cxx
BRepMesh_EdgeDiscret.cdl, cxx
BRepMesh_SurfaceGrid.cdl, cxx
DataMapOfIntegerCirc from MeshAlgo.cdl
- Remove excess methods from BRepMesh_FastDiscret (cdl and cxx), MeshAlgo (cdl
and cxx) and in draw MeshTest (cxx)
- Change containers if MeshDS classes to use common NCollecton_IncAllocator
- Fix for NCollection_Map (this fix can be integrated independantly)
Please test enclosed archive for non-regression test. The sources prepared
under ros for the version of the end of 01.2009 (I will merge it with new
version of ros if necessary for integration moment)
Dear QA,
- Please pay attention to MeshShape package. There are dummy class in the
attached fix to be sure that all old generated files become obsolete. This
package with all generated files (hxx. gxx, ixx and jxx) should be removed from
OCCT.
- Please inform me about all performance and memory improvements and
regressions.
- Also, do not hesitate to ask me questions if any.
- Replace usage of TColStd_ListOfInteger by specific class container to avoid
excess memory allocation/deallocation of list nodes
- Remove excess invokation of TopExp::MapShapesAndAncestors in IncrementalMesh
- Remove useless package MeshShape from OCCT (useful classes moved to BRepMesh)
- Remove excess classes from BRepMesh and MeshAlgo packages:
BRepMesh_DataMapOfShapeReal from BRepMesh.cdl
BRepMesh_Discret.cdl, cxx
BRepMesh_EdgeDiscret.cdl, cxx
BRepMesh_SurfaceGrid.cdl, cxx
DataMapOfIntegerCirc from MeshAlgo.cdl
- Remove excess methods from BRepMesh_FastDiscret (cdl and cxx), MeshAlgo (cdl
and cxx) and in draw MeshTest (cxx)
- Change containers if MeshDS classes to use common NCollecton_IncAllocator
- Fix for NCollection_Map (this fix can be integrated independantly)
Please test enclosed archive for non-regression test. The sources prepared
under ros for the version of the end of 01.2009 (I will merge it with new
version of ros if necessary for integration moment)
Dear QA,
- Please pay attention to MeshShape package. There are dummy class in the
attached fix to be sure that all old generated files become obsolete. This
package with all generated files (hxx. gxx, ixx and jxx) should be removed from
OCCT.
- Please inform me about all performance and memory improvements and
regressions.
- Also, do not hesitate to ask me questions if any.
Additional information
Documentation remark, added by Author 2009-02-17 11:06:22:
New features:
New class NCollection_Handle into Open CASCADE.
This template class is used to define Handle adaptor for allocated dynamically
objects of arbitrary type.
The advantage is that this handle will automatically destroy the object when
last referred Handle is destroyed (i.e. it is a typical smart pointer), and
that it can be handled as Handle(Standard_Transient) in OCCT components.
Improvements:
- Replace usage of TColStd_ListOfInteger by specific containers to avoid
excess memory allocation/deallocation of list nodes.
- Remove Domain flag from MeshDS, MeshAlgo and BRepMesh to simplify mesh
structure and decrease memory allocation for mesh structure.
- Change containers if MeshDS classes to use common NCollecton_IncAllocator
- Fix memory leak with BRepMesh_Classifier
Changes:
- Remove excess package MeshShape (useful classes moved to BRepMesh)
- Remove excess classes:
+ BRepMesh_Discret
+ BRepMesh_EdgeDiscret
+ BRepMesh_SurfaceGrid
+ MeshDS_DataMapOfInteger
- Remove useless containers (declared in cdl):
+ BRepMesh_DataMapOfIntegerFace
+ MeshAlgo_DataMapOfIntegerCirc
+ MeshTest_DrawableUVDomain
- Remove excess methods from BRepMesh_FastDiscret, MeshAlgo and MeshTest
- Fix for operator= of NCollection_Map
Modified entities:
MeshDS
MeshAlgo
MeshTest
BRepMesh
NCollection_Map
New features:
New class NCollection_Handle into Open CASCADE.
This template class is used to define Handle adaptor for allocated dynamically
objects of arbitrary type.
The advantage is that this handle will automatically destroy the object when
last referred Handle is destroyed (i.e. it is a typical smart pointer), and
that it can be handled as Handle(Standard_Transient) in OCCT components.
Improvements:
- Replace usage of TColStd_ListOfInteger by specific containers to avoid
excess memory allocation/deallocation of list nodes.
- Remove Domain flag from MeshDS, MeshAlgo and BRepMesh to simplify mesh
structure and decrease memory allocation for mesh structure.
- Change containers if MeshDS classes to use common NCollecton_IncAllocator
- Fix memory leak with BRepMesh_Classifier
Changes:
- Remove excess package MeshShape (useful classes moved to BRepMesh)
- Remove excess classes:
+ BRepMesh_Discret
+ BRepMesh_EdgeDiscret
+ BRepMesh_SurfaceGrid
+ MeshDS_DataMapOfInteger
- Remove useless containers (declared in cdl):
+ BRepMesh_DataMapOfIntegerFace
+ MeshAlgo_DataMapOfIntegerCirc
+ MeshTest_DrawableUVDomain
- Remove excess methods from BRepMesh_FastDiscret, MeshAlgo and MeshTest
- Fix for operator= of NCollection_Map
Modified entities:
MeshDS
MeshAlgo
MeshTest
BRepMesh
NCollection_Map
Public activity
No public notes
Participants are labeled by their role within this record.