1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-29 14:00:49 +03:00

Compare commits

..

2 Commits

Author SHA1 Message Date
ichesnok
1b836c1140 0033487: Data Exchange, Step Import - Unresolved reference crashes
IsNull() check added for Handle(StepVisual_FillAreaStyleColour).
2024-04-17 08:30:58 +01:00
ika
b78ccf1f9b 0033661: Data Exchange, Step Import - Tessellated GDTs are not imported
Add processing of tessellated_annotation_occurrence.
Add test cases.
2024-04-07 10:46:17 +01:00
14 changed files with 139 additions and 25 deletions

View File

@@ -36,14 +36,12 @@ std::pair<Standard_Real, Standard_Real> BRepMesh_ConeRangeSplitter::GetSplitStep
Abs(aRefR + aRangeV.second * Sin(aSAng)));
Standard_Real Dv, Du = GCPnts_TangentialDeflection::ArcAngularStep(
aRadius, GetDFace()->GetDeflection() * 0.5,
aRadius, GetDFace()->GetDeflection(),
theParameters.Angle, theParameters.MinSize);
const Standard_Real aDiffU = aRangeU.second - aRangeU.first;
const Standard_Real aDiffV = aRangeV.second - aRangeV.first;
//compute subdivision factor acounting for the parameters minimum size
const Standard_Real aSubDivFactor = Max (theParameters.MinSize, 1.0);
const Standard_Real aScale = (Du * aRadius / aSubDivFactor);
const Standard_Real aScale = (Du * aRadius);
const Standard_Real aRatio = Max(1., Log(aDiffV / aScale));
const Standard_Integer nbU = (Standard_Integer)(aDiffU / Du);
const Standard_Integer nbV = (Standard_Integer)(aDiffV / aScale / aRatio);

View File

@@ -2134,11 +2134,12 @@ Standard_Boolean readPMIPresentation(const Handle(Standard_Transient)& thePresen
return Standard_False;
}
Handle(Transfer_TransientProcess) aTP = theTR->TransientProcess();
Handle(StepVisual_AnnotationOccurrence) anAO;
Handle(StepVisual_StyledItem) anAO;
NCollection_Vector<Handle(StepVisual_StyledItem)> anAnnotations;
if (thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence)))
if (thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence)) ||
thePresentEntity->IsKind(STANDARD_TYPE(StepVisual_TessellatedAnnotationOccurrence)))
{
anAO = Handle(StepVisual_AnnotationOccurrence)::DownCast(thePresentEntity);
anAO = Handle(StepVisual_StyledItem)::DownCast(thePresentEntity);
if (!anAO.IsNull())
{
thePresentName = anAO->Name();
@@ -4368,7 +4369,8 @@ Standard_Boolean STEPCAFControl_Reader::ReadGDTs(const Handle(XSControl_WorkSess
}
}
else if (anEnt->IsKind(STANDARD_TYPE(StepVisual_DraughtingCallout)) ||
anEnt->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence)))
anEnt->IsKind(STANDARD_TYPE(StepVisual_AnnotationOccurrence)) ||
anEnt->IsKind(STANDARD_TYPE(StepVisual_TessellatedAnnotationOccurrence)))
{
// Protection against import presentation twice
Handle(StepVisual_DraughtingCallout) aDC;

View File

@@ -634,7 +634,7 @@ Standard_Boolean STEPConstruct_Styles::GetColors (const Handle(StepVisual_Styled
for ( Standard_Integer m=1; m <= FAS->NbFillStyles(); m++ ) {
StepVisual_FillStyleSelect FSS = FAS->FillStylesValue ( m );
Handle(StepVisual_FillAreaStyleColour) FASC = FSS.FillAreaStyleColour();
if ( SurfCol.IsNull() || SSU->Side() != StepVisual_ssNegative ) //abv 30 Mar 00: trj3_s1-pe.stp
if ( !FASC.IsNull() && (SurfCol.IsNull() || SSU->Side() != StepVisual_ssNegative) ) //abv 30 Mar 00: trj3_s1-pe.stp
SurfCol = FASC->FillColour();
}
continue;

View File

@@ -11,7 +11,7 @@ renamevar a_1 result
incmesh result 0.0001 -a 30 -force_face_def -parallel
checktrinfo result -tri 14926 -nod 9726 -defl 0.00028360162213471898 -tol_abs_defl 1e-6
checktrinfo result -tri 14058 -nod 9292 -defl 0.00031502118964205414 -tol_abs_defl 1e-6
vinit
vsetdispmode 1

View File

@@ -15,6 +15,6 @@ vfit
vsetdispmode 1
XGetOneShape result Q
checktrinfo result -tri 9223 -nod 6699
checktrinfo result -tri 9097 -nod 6634
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -14,6 +14,6 @@ XGetOneShape result Q
incmesh result 0.00039624 -a 20 -min 0.0001 -parallel
checktrinfo result -tri 7743 -nod 5887
checktrinfo result -tri 7733 -nod 5882
checkview -display result -3d -path ${imagedir}/${test_image}.png

View File

@@ -9,6 +9,6 @@ scaleshape result a 0.1
vdisplay result -dispMode 1
vfit
checktrinfo result -tri 204 -nod 151
checktrinfo result -tri 168 -nod 133
checkview -screenshot -3d -path ${imagedir}/${test_image}.png

View File

@@ -6,4 +6,4 @@ puts ""
restore [locate_data_file bug32767.brep] s
tclean s
incmesh s 0.01
checktrinfo s -tri 2714 -nod 1512 -defl 0.022574056183562372 -tol_abs_defl 1e-6
checktrinfo s -tri 1512 -nod 909 -defl 0.035378595363471328 -tol_abs_defl 1e-6

View File

@@ -9,33 +9,33 @@ restore [locate_data_file bug33050.brep] result
tclean result
incmesh result 0.001
checktrinfo result -tri 28676 -nod 28530 -defl 0.0018679881605936205 -tol_abs_defl 1e-6
checktrinfo result -tri 27652 -nod 28016 -defl 0.0027132671526737435 -tol_abs_defl 1e-6
tclean result
incmesh result 0.001 -surf_def_all
checktrinfo result -tri 28682 -nod 28533 -defl 0.0010290003062228719 -tol_abs_defl 1e-6
checktrinfo result -tri 30102 -nod 29241 -defl 0.0010301984083541042 -tol_abs_defl 1e-6
################## Deflection: 0.0001 #################
tclean result
incmesh result 0.0001
checktrinfo result -tri 96006 -nod 88241 -defl 0.00043153032084638013 -tol_abs_defl 1e-6
checktrinfo result -tri 88140 -nod 84304 -defl 0.00073349807253346574 -tol_abs_defl 1e-6
tclean result
incmesh result 0.0001 -surf_def_all
checktrinfo result -tri 117766 -nod 99121 -defl 0.0002009725495247413 -tol_abs_defl 1e-6
checktrinfo result -tri 103376 -nod 91922 -defl 0.00012553867394267057 -tol_abs_defl 1e-6
################## Deflection: 0.00005 ################
tclean result
incmesh result 0.00005
checktrinfo result -tri 141582 -nod 126799 -defl 0.00030400570138159119 -tol_abs_defl 1e-6
checktrinfo result -tri 127538 -nod 119773 -defl 0.00043153032084638013 -tol_abs_defl 1e-6
tclean result
incmesh result 0.00005 -surf_def_all
checktrinfo result -tri 179002 -nod 145509 -defl 5.0570798687477583e-05 -tol_abs_defl 1e-6
checktrinfo result -tri 154246 -nod 133127 -defl 5.1157129731636775e-05 -tol_abs_defl 1e-6

View File

@@ -15,6 +15,6 @@ vclear
isos result 0
triangles result
checktrinfo result -tri 125 -nod 116
checktrinfo result -tri 103 -nod 105
checkprops result -s 150.283
checkview -display result -3d -path ${imagedir}/${test_image}.png

View File

@@ -3,12 +3,12 @@ set filename bug29362_MMT200.stp
set ref_data {
NbOfDimensions : 2
NbOfDimensions : 4
NbOfDimensionalSize : 1
NbOfDimensionalLocation: 1
NbOfAngular : 0
NbOfWithPath : 0
NbOfCommonLabels : 0
NbOfCommonLabels : 1
NbOfTolerances : 0
NbOfGTWithModifiers : 0
NbOfGTWithMaxTolerance : 0

92
tests/gdt/import/A6 Normal file
View File

@@ -0,0 +1,92 @@
# !!!! This file is generated automatically, do not edit manually! See end script
set filename bug33661_nist_ftc_08_asme1_ap242-e1-tg.stp
set ref_data {
NbOfDimensions : 60
NbOfTolerances : 0
NbOfDatumFeature : 0
NbOfAttachedDatum : 0
NbOfDatumTarget : 0
0:1:1:2:1 Shape.4
0:1:4:32 Dimension.4.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:2 Shape.5
0:1:4:4 Dimension.5.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:5 Dimension.5.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:4 Shape.7
0:1:4:14 Dimension.7.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:18 Dimension.7.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:20 Dimension.7.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:14 Shape.17
0:1:4:27 Dimension.17.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:62 Shape.65
0:1:4:35 Dimension.65.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:65 Shape.68
0:1:4:36 Dimension.68.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:72 Shape.75
0:1:4:53 Dimension.75.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:84 Shape.87
0:1:4:54 Dimension.87.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:90 Shape.93
0:1:4:31 Dimension.93.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:33 Dimension.93.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:34 Dimension.93.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:94 Shape.97
0:1:4:39 Dimension.97.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:40 Dimension.97.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:51 Dimension.97.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:52 Dimension.97.4 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:55 Dimension.97.5 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:96 Shape.99
0:1:4:43 Dimension.99.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:44 Dimension.99.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:45 Dimension.99.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:46 Dimension.99.4 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:57 Dimension.99.5 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:98 Shape.101
0:1:4:47 Dimension.101.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:48 Dimension.101.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:49 Dimension.101.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:50 Dimension.101.4 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:56 Dimension.101.5 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:100 Shape.103
0:1:4:37 Dimension.103.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:38 Dimension.103.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:41 Dimension.103.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:42 Dimension.103.4 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:58 Dimension.103.5 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:102 Shape.105
0:1:4:25 Dimension.105.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:26 Dimension.105.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:116 Shape.119
0:1:4:24 Dimension.119.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:120 Shape.123
0:1:4:23 Dimension.123.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:161 Shape.164
0:1:4:15 Dimension.164.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:179 Shape.182
0:1:4:1 Dimension.182.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:2 Dimension.182.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:3 Dimension.182.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:237 Shape.240
0:1:4:17 Dimension.240.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:19 Dimension.240.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:246 Shape.249
0:1:4:6 Dimension.249.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:8 Dimension.249.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:9 Dimension.249.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:248 Shape.251
0:1:4:7 Dimension.251.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:10 Dimension.251.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:11 Dimension.251.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:250 Shape.253
0:1:4:12 Dimension.253.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:13 Dimension.253.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:2:256 Shape.259
0:1:4:28 Dimension.259.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:29 Dimension.259.2 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:4:30 Dimension.259.3 ( N "DGT:Dimension" T 31, V 0, P 0 )
0:1:1:3:1 Shape.276
0:1:4:16 Dimension.276.1 ( N "DGT:Dimension" T 31, V 0, P 0 )
}

View File

@@ -2,7 +2,13 @@
set filename bug29362_MMT200.stp
set ref_data {
Centre of mass: 0 0 0
Mass: 0
Centre of mass: 13.412719368151439 6.1818909424750705 -13.415402720911091
Mass: 252.25931515680639
}
set ref_data_write {
Centre of mass: 13.412719368151233 6.1818909424748316 -13.415402720907935
Mass: 252.25931515678892
}

16
tests/gdt/presentation/C3 Normal file
View File

@@ -0,0 +1,16 @@
# !!!! This file is generated automatically, do not edit manually! See end script
puts "TODO CR11111 ALL: Error on writing file"
set filename bug33661_nist_ftc_08_asme1_ap242-e1-tg.stp
set ref_data {
Centre of mass: -62.99891835601813 78.203476181663817 20.269103705327481
Mass: 47784.542040997127
}
set ref_data_write {
Centre of mass: -261.12759307366923 196.9986700086933 -13.86055926862322
Mass: 17568.06377585962
}