0020948: EDF 1468 SMESH: Histogram of the quality controls

move updating distrubution of scalar bar to SMESH_Actor::UpdateDistribution()
+  virtual void SMESH_Actor::UpdateDistribution() = 0;

0020944: EDF 1464 SMESH: detection of over-constrained elements
+    class  OverConstrainedVolume: public Predicate
+    class  OverConstrainedFace: public Predicate
This commit is contained in:
eap 2010-11-19 16:26:16 +00:00
parent ebe0faaad0
commit 8ff7c21dc6

View File

@ -310,12 +310,6 @@ SMESH_DeviceActor
double aValue = aNumericalFunctor->GetValue(anObjId); double aValue = aNumericalFunctor->GetValue(anObjId);
aScalars->SetValue(i,aValue); aScalars->SetValue(i,aValue);
} }
int nbIntervals = theScalarBarActor->GetMaximumNumberOfColors();
std::vector<int> nbEvents;
std::vector<double> funValues;
aNumericalFunctor->GetHistogram(nbIntervals, nbEvents, funValues);
theScalarBarActor->SetDistribution(nbEvents);
}else if(Predicate* aPredicate = dynamic_cast<Predicate*>(theFunctor.get())){ }else if(Predicate* aPredicate = dynamic_cast<Predicate*>(theFunctor.get())){
for(vtkIdType i = 0; i < aNbCells; i++){ for(vtkIdType i = 0; i < aNbCells; i++){
vtkIdType anId = myExtractUnstructuredGrid->GetInputId(i); vtkIdType anId = myExtractUnstructuredGrid->GetInputId(i);
@ -475,16 +469,6 @@ SMESH_DeviceActor
myMergeFilter->SetScalars(aDataSet); myMergeFilter->SetScalars(aDataSet);
aDataSet->Delete(); aDataSet->Delete();
} }
//Set Distribution
if(NumericalFunctor* aNumericalFunctor = dynamic_cast<NumericalFunctor*>(theFunctor.get())){
int nbIntervals = theScalarBarActor->GetMaximumNumberOfColors();
std::vector<int> nbEvents;
std::vector<double> funValues;
aNumericalFunctor->GetHistogram(nbIntervals, nbEvents, funValues);
theScalarBarActor->SetDistribution(nbEvents);
}
} }
GetMapper()->SetScalarVisibility(anIsInitialized); GetMapper()->SetScalarVisibility(anIsInitialized);
theScalarBarActor->SetVisibility(anIsInitialized); theScalarBarActor->SetVisibility(anIsInitialized);
@ -503,7 +487,9 @@ SMESH_DeviceActor
if ( dynamic_cast<FreeBorders *>(theFunctor.get()) || if ( dynamic_cast<FreeBorders *>(theFunctor.get()) ||
dynamic_cast<FreeFaces *>(theFunctor.get()) || dynamic_cast<FreeFaces *>(theFunctor.get()) ||
dynamic_cast<BareBorderVolume *>(theFunctor.get()) || dynamic_cast<BareBorderVolume *>(theFunctor.get()) ||
dynamic_cast<BareBorderFace*>(theFunctor.get())) dynamic_cast<BareBorderFace *>(theFunctor.get()) ||
dynamic_cast<OverConstrainedVolume*>(theFunctor.get()) ||
dynamic_cast<OverConstrainedFace *>(theFunctor.get()))
{ {
Predicate* aFreePredicate = dynamic_cast<Predicate*>(theFunctor.get()); Predicate* aFreePredicate = dynamic_cast<Predicate*>(theFunctor.get());
myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding); myExtractUnstructuredGrid->SetModeOfChanging(VTKViewer_ExtractUnstructuredGrid::eAdding);