Mistakes in retrieving of HLRBRep_EdgeData by value instead of reference have been corrected.
SB.Bounds(v1,v2,e1,e2,f1,f2);
for (Standard_Integer e = e1; e <= e2; e++) {
SB.Bounds(v1,v2,e1,e2,f1,f2);
for (Standard_Integer e = e1; e <= e2; e++) {
- HLRBRep_EdgeData ed = aEDataArray.ChangeValue(e);
+ HLRBRep_EdgeData& ed = aEDataArray.ChangeValue(e);
HLRAlgo::DecodeMinMax(ed.MinMax(), TheMin, TheMax);
if (FirstTime) {
FirstTime = Standard_False;
HLRAlgo::DecodeMinMax(ed.MinMax(), TheMin, TheMax);
if (FirstTime) {
FirstTime = Standard_False;
Standard_Integer nf = myDS->NbFaces();
for (Standard_Integer e = 1; e <= ne; e++) {
Standard_Integer nf = myDS->NbFaces();
for (Standard_Integer e = 1; e <= ne; e++) {
- HLRBRep_EdgeData ed = aEDataArray.ChangeValue(e);
+ HLRBRep_EdgeData& ed = aEDataArray.ChangeValue(e);
if (ed.Selected()) ed.Status().ShowAll();
}
// for (Standard_Integer f = 1; f <= nf; f++) {
if (ed.Selected()) ed.Status().ShowAll();
}
// for (Standard_Integer f = 1; f <= nf; f++) {
Standard_Integer nf = myDS->NbFaces();
for (Standard_Integer e = 1; e <= ne; e++) {
Standard_Integer nf = myDS->NbFaces();
for (Standard_Integer e = 1; e <= ne; e++) {
- HLRBRep_EdgeData ed = aEDataArray.ChangeValue(e);
+ HLRBRep_EdgeData& ed = aEDataArray.ChangeValue(e);
ed.Selected(Standard_True);
}
ed.Selected(Standard_True);
}
--- /dev/null
+puts "======="
+puts "OCC28248"
+puts "======="
+puts ""
+################################################################
+# HLR Algo result is retrieved from the last added shape only
+################################################################
+
+box b1 -10 -10 0 20 20 5
+pcylinder c1 5 10
+
+hprj proj 0 0 0 0 1 0 0 0 1
+hremove
+
+houtl b1_outl b1
+hfill b1_outl proj 0
+hload b1_outl
+
+houtl c1_outl c1
+hfill c1_outl proj 0
+hload c1_outl
+
+hsetprj proj
+hupdate
+hhide
+hres2d
+
+compound vl v1l vnl vol vil hl h1l hnl hol hil result
+
+checknbshapes result -edge 16
+
+don result
+smallview +X+Y
+fit
+checkview -screenshot -2d -path ${imagedir}/${test_image}.png