mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0025936: Reusable data structure for 2D tesselation (3- and 4-nodal mesh)
* Replaced all arrays in Poly_Triangulation to NCollection_Vector. * Poly_Triangulation now does not provide access to whole arrays stored inside it. Only by one element. * New classes Poly_Element, Poly_Mesh. * New classes BinMDataStd_MeshDriver, XmlMDataStd_MeshDriver, TDataStd_Mesh - Mesh attribute for OCAF * Test cases on CAD mesh attribute
This commit is contained in:
@@ -605,7 +605,6 @@ BRepCheck_Status BRepCheck_Edge::
|
||||
aCR->PolygonOnTriangulation2() :
|
||||
aCR->PolygonOnTriangulation();
|
||||
const TColStd_Array1OfInteger& anIndices = aPOnTriag->Nodes();
|
||||
const TColgp_Array1OfPnt& Nodes = aTriang->Nodes();
|
||||
const Standard_Integer aNbNodes = anIndices.Length();
|
||||
|
||||
const Standard_Real aTol = aPOnTriag->Deflection() +
|
||||
@@ -618,9 +617,9 @@ BRepCheck_Status BRepCheck_Edge::
|
||||
{
|
||||
const Standard_Real aParam = aPOnTriag->Parameters()->Value(i);
|
||||
const gp_Pnt aPE(aBC.Value(aParam)),
|
||||
aPnt(Nodes(anIndices(i)).Transformed(aLL));
|
||||
aPT(aTriang->Node (anIndices(i)).Transformed(aLL));
|
||||
|
||||
const Standard_Real aSQDist = aPE.SquareDistance(aPnt);
|
||||
const Standard_Real aSQDist = aPE.SquareDistance(aPT);
|
||||
if(aSQDist > aTol*aTol)
|
||||
{
|
||||
return BRepCheck_InvalidPolygonOnTriangulation;
|
||||
@@ -637,9 +636,9 @@ BRepCheck_Status BRepCheck_Edge::
|
||||
for (Standard_Integer i = 1; i <= aNbNodes; i++)
|
||||
{
|
||||
if (aLL.IsIdentity())
|
||||
aB.Add(Nodes(anIndices(i)));
|
||||
aB.Add(aTriang->Node (anIndices(i)));
|
||||
else
|
||||
aB.Add(Nodes(anIndices(i)).Transformed(aLL));
|
||||
aB.Add(aTriang->Node (anIndices(i)).Transformed(aLL));
|
||||
}
|
||||
|
||||
aB.Enlarge(aTol);
|
||||
|
Reference in New Issue
Block a user