1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0032096: Data Exchange - Extension for XCAFDimTolObjects_DimensionQualifier

Added XCAFDimTolObjects_AngularQualifier for angles. And added field and methods for dimensions.
This commit is contained in:
ichesnok
2021-10-28 11:22:12 +03:00
committed by inv
parent e77bcb6b57
commit 62874fa199
10 changed files with 96 additions and 16 deletions

View File

@@ -3541,11 +3541,11 @@ static void setDimObjectToXCAF(const Handle(Standard_Transient)& theEnt,
//get qualifier for angular value
aType = XCAFDimTolObjects_DimensionType_Size_Angular;
if (anAngSize->AngleSelection() == StepShape_Equal)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Avg);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Equal);
else if (anAngSize->AngleSelection() == StepShape_Large)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Max);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Large);
else if (anAngSize->AngleSelection() == StepShape_Small)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Min);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Small);
}
}
else
@@ -3557,11 +3557,11 @@ static void setDimObjectToXCAF(const Handle(Standard_Transient)& theEnt,
//get qualifier for angular value
aType = XCAFDimTolObjects_DimensionType_Location_Angular;
if (anAngLoc->AngleSelection() == StepShape_Equal)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Avg);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Equal);
else if (anAngLoc->AngleSelection() == StepShape_Large)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Max);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Large);
else if (anAngLoc->AngleSelection() == StepShape_Small)
aDimObj->SetQualifier(XCAFDimTolObjects_DimensionQualifier_Min);
aDimObj->SetAngularQualifier(XCAFDimTolObjects_AngularQualifier_Small);
}
}
if (aType == XCAFDimTolObjects_DimensionType_Location_None)

View File

@@ -3939,11 +3939,11 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W
Handle(StepShape_AngularLocation) aDim = new StepShape_AngularLocation();
StepShape_AngleRelator aRelator = StepShape_Equal;
if (anObject->HasQualifier()) {
XCAFDimTolObjects_DimensionQualifier aQualifier = anObject->GetQualifier();
XCAFDimTolObjects_AngularQualifier aQualifier = anObject->GetAngularQualifier();
switch (aQualifier) {
case XCAFDimTolObjects_DimensionQualifier_Min: aRelator = StepShape_Small;
case XCAFDimTolObjects_AngularQualifier_Small : aRelator = StepShape_Small;
break;
case XCAFDimTolObjects_DimensionQualifier_Max: aRelator = StepShape_Large;
case XCAFDimTolObjects_AngularQualifier_Large : aRelator = StepShape_Large;
break;
default: aRelator = StepShape_Equal;
}
@@ -3969,11 +3969,11 @@ Standard_Boolean STEPCAFControl_Writer::WriteDGTsAP242 (const Handle(XSControl_W
Handle(StepShape_AngularSize) aDim = new StepShape_AngularSize();
StepShape_AngleRelator aRelator = StepShape_Equal;
if (anObject->HasQualifier()) {
XCAFDimTolObjects_DimensionQualifier aQualifier = anObject->GetQualifier();
XCAFDimTolObjects_AngularQualifier aQualifier = anObject->GetAngularQualifier();
switch (aQualifier) {
case XCAFDimTolObjects_DimensionQualifier_Min: aRelator = StepShape_Small;
case XCAFDimTolObjects_AngularQualifier_Small: aRelator = StepShape_Small;
break;
case XCAFDimTolObjects_DimensionQualifier_Max: aRelator = StepShape_Large;
case XCAFDimTolObjects_AngularQualifier_Large: aRelator = StepShape_Large;
break;
default: aRelator = StepShape_Equal;
}