mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0027185: Data Exchange - IGES - incorrect reading of DE for undefined entity
Fix reading of pointers to color entity.
This commit is contained in:
parent
4661dcadd4
commit
b0b7668261
@ -218,7 +218,7 @@ Standard_Boolean IGESData_UndefinedEntity::ReadDir
|
|||||||
iapb = Standard_False;
|
iapb = Standard_False;
|
||||||
if (v[3] < -max) iapb = Standard_True;
|
if (v[3] < -max) iapb = Standard_True;
|
||||||
else if (v[3] < 0) {
|
else if (v[3] < 0) {
|
||||||
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((-1-v[3])/2));
|
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1-v[3])/2));
|
||||||
if (!anent->IsKind(STANDARD_TYPE(IGESData_LineFontEntity))) iapb = Standard_True;
|
if (!anent->IsKind(STANDARD_TYPE(IGESData_LineFontEntity))) iapb = Standard_True;
|
||||||
}
|
}
|
||||||
// Sending of message : Line Font Pattern field is incorrect.
|
// Sending of message : Line Font Pattern field is incorrect.
|
||||||
@ -232,7 +232,7 @@ Standard_Boolean IGESData_UndefinedEntity::ReadDir
|
|||||||
iapb = Standard_False;
|
iapb = Standard_False;
|
||||||
if (v[4] < -max) iapb = Standard_True;
|
if (v[4] < -max) iapb = Standard_True;
|
||||||
else if (v[4] < 0) {
|
else if (v[4] < 0) {
|
||||||
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((-1-v[4])/2));
|
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1-v[4])/2));
|
||||||
if (!anent->IsKind(STANDARD_TYPE(IGESData_LevelListEntity))) iapb = Standard_True;
|
if (!anent->IsKind(STANDARD_TYPE(IGESData_LevelListEntity))) iapb = Standard_True;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,7 +276,7 @@ Standard_Boolean IGESData_UndefinedEntity::ReadDir
|
|||||||
|
|
||||||
iapb = Standard_False;
|
iapb = Standard_False;
|
||||||
if (v[7] < 0 || v[7] > max) iapb = Standard_True;
|
if (v[7] < 0 || v[7] > max) iapb = Standard_True;
|
||||||
else if (v[7] < 0) {
|
else if (v[7] > 0) {
|
||||||
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1+v[7])/2));
|
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1+v[7])/2));
|
||||||
if (!anent->IsKind(STANDARD_TYPE(IGESData_LabelDisplayEntity))) iapb = Standard_True;
|
if (!anent->IsKind(STANDARD_TYPE(IGESData_LabelDisplayEntity))) iapb = Standard_True;
|
||||||
}
|
}
|
||||||
@ -290,9 +290,9 @@ Standard_Boolean IGESData_UndefinedEntity::ReadDir
|
|||||||
}
|
}
|
||||||
|
|
||||||
iapb = Standard_False;
|
iapb = Standard_False;
|
||||||
if (v[14] < 0 || v[14] > max) iapb = Standard_True;
|
if (v[14] < -max || v[14] > max) iapb = Standard_True;
|
||||||
else if (v[14] < 0) {
|
else if (v[14] < 0) {
|
||||||
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1+v[14])/2));
|
anent = GetCasted(IGESData_IGESEntity,IR->BoundEntity((1-v[14])/2));
|
||||||
if (!anent->IsKind(STANDARD_TYPE(IGESData_ColorEntity)))
|
if (!anent->IsKind(STANDARD_TYPE(IGESData_ColorEntity)))
|
||||||
{ thedstat += 512; v[14] = 0; }
|
{ thedstat += 512; v[14] = 0; }
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
puts "TODO OCC27186 ALL: Directory Entry Error Status"
|
|
||||||
|
|
||||||
puts "========"
|
puts "========"
|
||||||
puts "OCC27186"
|
puts "OCC27186"
|
||||||
puts "========"
|
puts "========"
|
||||||
|
@ -7,7 +7,7 @@ puts "TODO CR23096 ALL: LABELS : Faulty"
|
|||||||
set filename 919-004-T03-04-CP-VL.igs
|
set filename 919-004-T03-04-CP-VL.igs
|
||||||
|
|
||||||
set ref_data {
|
set ref_data {
|
||||||
DATA : Faulties = 0 ( 2 ) Warnings = 0 ( 0 ) Summary = 0 ( 2 )
|
DATA : Faulties = 0 ( 1 ) Warnings = 0 ( 0 ) Summary = 0 ( 1 )
|
||||||
TPSTAT : Faulties = 0 ( 2 ) Warnings = 310 ( 2179 ) Summary = 310 ( 2181 )
|
TPSTAT : Faulties = 0 ( 2 ) Warnings = 310 ( 2179 ) Summary = 310 ( 2181 )
|
||||||
CHECKSHAPE : Wires = 0 ( 3 ) Faces = 0 ( 3 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
|
CHECKSHAPE : Wires = 0 ( 3 ) Faces = 0 ( 3 ) Shells = 0 ( 0 ) Solids = 0 ( 0 )
|
||||||
NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 )
|
NBSHAPES : Solid = 0 ( 0 ) Shell = 0 ( 0 ) Face = 1457 ( 1455 )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user