anAttr->SetID(TDataStd_Integer::GetID());
DEBTRACE("GetQuadtreeNodes init " << this << " " << key);
HYDROData_QuadtreeNode* aQuadtree = new HYDROData_QuadtreeNode(0, 30, 5, 0.);
- myQuadtrees[key] = aQuadtree;
Nodes_3D* aListOfNodes = new Nodes_3D();
}
DEBTRACE(" GetQuadtreeNodes call setNodesAndCompute");
aQuadtree->setNodesAndCompute(aListOfNodes);
+
+ Handle(Message_ProgressIndicator) aZIProgress = HYDROData_Tool::GetZIProgress();
+ if ( aZIProgress && aZIProgress->UserBreak() ) {
+ return 0;
+ }
+
+ myQuadtrees[key] = aQuadtree;
+
return aQuadtree;
}
if (!aLabel.FindAttribute(TDataStd_RealArray::GetID(), aCoordsArray))
return 0;
+ HYDROData_Tool::SetTriangulationStatus(HYDROData_Tool::Running);
+
Handle(TDataStd_Integer) anAttr = TDataStd_Integer::Set( myLab.FindChild( DataTag_Delaunay ), key );
anAttr->SetID(TDataStd_Integer::GetID());
DEBTRACE("GetVtkDelaunay2D init " << this << " " << key);
vtkPolyData* data = delaunay2D->GetOutput();
data->BuildLinks();
myDelaunay2D[key] = data;
+
+ HYDROData_Tool::SetTriangulationStatus(HYDROData_Tool::Finished);
+
return data;
}
double aResAltitude = anInvalidAltitude;
// --- find the nearest point in the bathymetry cloud, with quadtree
+ Handle(Message_ProgressIndicator) aZIProgress = HYDROData_Tool::GetZIProgress();
HYDROData_QuadtreeNode* aQuadtree = GetQuadtreeNodes();
- if (!aQuadtree)
+ if (!aQuadtree || (aZIProgress && aZIProgress->UserBreak()))
{
DEBTRACE(" no Quadtree");
return aResAltitude;