| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "lc_dimstyle.h" |
| |
|
| | #include <QRegularExpression> |
| |
|
| | #include "lc_linemath.h" |
| | #include "rs_filterdxfrw.h" |
| | #include "rs_math.h" |
| |
|
| | QString LC_DimStyle::STANDARD_DIM_STYLE = "Standard"; |
| | QString LC_DimStyle::NAME_SEPARATOR = "$"; |
| |
|
| | LC_DimStyle::LC_DimStyle(const QString& name): m_name{name} { |
| | init(); |
| | } |
| |
|
| | LC_DimStyle::LC_DimStyle() : m_name{STANDARD_DIM_STYLE} { |
| | init(); |
| | } |
| |
|
| | void LC_DimStyle::init() { |
| | m_angularUnitFormattingStyle = std::make_unique<AngularFormat>(); |
| | m_arrowheadStyle = std::make_unique<Arrowhead>(); |
| | m_arcStyle = std::make_unique<Arc>(); |
| | m_dimensionLineStyle = std::make_unique<DimensionLine>(); |
| | m_extensionLineStyle = std::make_unique<ExtensionLine>(); |
| | m_leaderStyle = std::make_unique<Leader>(); |
| | m_latteralToleranceStyle = std::make_unique<LatteralTolerance>(); |
| | m_mleaderStyle = std::make_unique<MLeader>(); |
| | m_radialStyle = std::make_unique<Radial>(); |
| | m_roundOffStyle = std::make_unique<LinearRoundOff>(); |
| | m_scalingStyle = std::make_unique<Scaling>(); |
| | m_textStyle = std::make_unique<Text>(); |
| | m_unitFormattingStyle = std::make_unique<LinearFormat>(); |
| | m_unitFractionsStyle = std::make_unique<Fractions>(); |
| | m_unitZeroSuppressionStyle = std::make_unique<ZerosSuppression>(); |
| | fillByDefaults(); |
| | } |
| |
|
| | void LC_DimStyle::fillByDefaults() { |
| | m_angularUnitFormattingStyle->fillByDefaults(); |
| | m_arrowheadStyle->fillByDefaults(); |
| | m_arcStyle->fillByDefaults(); |
| | m_dimensionLineStyle->fillByDefaults(); |
| | m_extensionLineStyle->fillByDefaults(); |
| | m_leaderStyle->fillByDefaults(); |
| | m_latteralToleranceStyle->fillByDefaults(); |
| | m_mleaderStyle->fillByDefaults(); |
| | m_radialStyle->fillByDefaults(); |
| | m_roundOffStyle->fillByDefaults(); |
| | m_scalingStyle->fillByDefaults(); |
| | m_textStyle->fillByDefaults(); |
| | m_unitFormattingStyle->fillByDefaults(); |
| | m_unitFractionsStyle->fillByDefaults(); |
| | m_unitZeroSuppressionStyle->fillByDefaults(); |
| | } |
| |
|
| | void LC_DimStyle::merge(const LC_DimStyle* src) { |
| | m_angularUnitFormattingStyle->merge(src->angularFormat()); |
| | m_arrowheadStyle->merge(src->arrowhead()); |
| | m_arcStyle->merge(src->arc()); |
| | m_dimensionLineStyle->merge(src->dimensionLine()); |
| | m_extensionLineStyle->merge(src->extensionLine()); |
| | m_leaderStyle->merge(src->leader()); |
| | m_latteralToleranceStyle->merge(src->latteralTolerance()); |
| | m_mleaderStyle->merge(src->mleader()); |
| | m_radialStyle->merge(src->radial()); |
| | m_roundOffStyle->merge(src->roundOff()); |
| | m_scalingStyle->merge(src->scaling()); |
| | m_textStyle->merge(src->text()); |
| | m_unitFormattingStyle->merge(src->linearFormat()); |
| | m_unitFractionsStyle->merge(src->fractions()); |
| | m_unitZeroSuppressionStyle->merge(src->zerosSuppression()); |
| | } |
| |
|
| | void LC_DimStyle::mergeWith(const LC_DimStyle* src, ModificationAware::CheckFlagMode mergeMode, ModificationAware::CheckFlagMode nextMode) { |
| | setModifyCheckMode(mergeMode); |
| | merge(src); |
| | setModifyCheckMode(nextMode); |
| | } |
| |
|
| | LC_DimStyle::ModificationAware::CheckFlagMode LC_DimStyle::getModifyCheckMode() { |
| | return m_angularUnitFormattingStyle->getModifyCheckMode(); |
| | } |
| |
|
| | void LC_DimStyle::setModifyCheckMode(ModificationAware::CheckFlagMode mode) { |
| | m_angularUnitFormattingStyle->setModifyCheckMode(mode); |
| | m_arrowheadStyle->setModifyCheckMode(mode); |
| | m_arcStyle->setModifyCheckMode(mode); |
| | m_dimensionLineStyle->setModifyCheckMode(mode); |
| | m_extensionLineStyle->setModifyCheckMode(mode); |
| | m_leaderStyle->setModifyCheckMode(mode); |
| | m_latteralToleranceStyle->setModifyCheckMode(mode); |
| | m_mleaderStyle->setModifyCheckMode(mode); |
| | m_radialStyle->setModifyCheckMode(mode); |
| | m_roundOffStyle->setModifyCheckMode(mode); |
| | m_scalingStyle->setModifyCheckMode(mode); |
| | m_textStyle->setModifyCheckMode(mode); |
| | m_unitFormattingStyle->setModifyCheckMode(mode); |
| | m_unitFractionsStyle->setModifyCheckMode(mode); |
| | m_unitZeroSuppressionStyle->setModifyCheckMode(mode); |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setLinearFlag(LinearSuppressionPolicy dimzin, bool set) { |
| | set ? DIMZIN |= dimzin : DIMZIN &= ~dimzin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAngularFlag(AngularSuppressionPolicy dimazin, bool set) { |
| | set ? DIMAZIN |= dimazin : DIMAZIN &= ~dimazin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setToleranceFlag(ToleranceSuppressionPolicy dimtzin, bool set) { |
| | set ? DIMTZIN |= dimtzin : DIMTZIN &= ~dimtzin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAltLinearFlag(LinearSuppressionPolicy dimaltz, bool set) { |
| | set ? DIMALTZ |= dimaltz : DIMALTZ &= ~dimaltz; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAltToleranceFlag(ToleranceSuppressionPolicy dimalttz, bool set) { |
| | set ? DIMALTTZ |= dimalttz : DIMALTTZ &= ~dimalttz; |
| | } |
| |
|
| | void LC_DimStyle::copyTo(LC_DimStyle* copy) { |
| | copy->m_name = m_name; |
| | m_angularUnitFormattingStyle->copyTo(copy->angularFormat()); |
| | m_arrowheadStyle->copyTo(copy->arrowhead()); |
| | m_arcStyle->copyTo(copy->arc()); |
| | m_dimensionLineStyle->copyTo(copy->dimensionLine()); |
| | m_extensionLineStyle->copyTo(copy->extensionLine()); |
| | m_leaderStyle->copyTo(copy->leader()); |
| | m_latteralToleranceStyle->copyTo(copy->latteralTolerance()); |
| | m_mleaderStyle->copyTo(copy->mleader()); |
| | m_radialStyle->copyTo(copy->radial()); |
| | m_roundOffStyle->copyTo(copy->roundOff()); |
| | m_scalingStyle->copyTo(copy->scaling()); |
| | m_textStyle->copyTo(copy->text()); |
| | m_unitFormattingStyle->copyTo(copy->linearFormat()); |
| | m_unitFractionsStyle->copyTo(copy->fractions()); |
| | m_unitZeroSuppressionStyle->copyTo(copy->zerosSuppression()); |
| | } |
| |
|
| | void LC_DimStyle::resetFlags(bool toZero ) { |
| | int value = toZero ? 0 : UINT_MAX; |
| | m_angularUnitFormattingStyle->setFlags(value); |
| | m_arrowheadStyle->setFlags(value); |
| | m_arcStyle->setFlags(value); |
| | m_dimensionLineStyle->setFlags(value); |
| | m_extensionLineStyle->setFlags(value); |
| | m_leaderStyle->setFlags(value); |
| | m_latteralToleranceStyle->setFlags(value); |
| | m_mleaderStyle->setFlags(value); |
| | m_radialStyle->setFlags(value); |
| | m_roundOffStyle->setFlags(value); |
| | m_scalingStyle->resetFlags(); |
| | m_textStyle->setFlags(value); |
| | m_unitFormattingStyle->setFlags(value); |
| | m_unitFractionsStyle->setFlags(value); |
| | m_unitZeroSuppressionStyle->setFlags(value); |
| | } |
| |
|
| | LC_DimStyle* LC_DimStyle::getCopy() { |
| | auto copy = new LC_DimStyle(); |
| | copyTo(copy); |
| | copy->m_name = m_name; |
| | copy->m_fromVars = m_fromVars; |
| | return copy; |
| | } |
| |
|
| | const QString& LC_DimStyle::getName() const { |
| | return m_name; |
| | } |
| |
|
| | void LC_DimStyle::Text::fillByDefaults() { |
| | DIMATFIT = EITHER_TEXT_OR_ARROW; |
| | DIMTFILL = NONE; |
| | DIMTFILLCLR = RS2::FlagByBlock; |
| | DIMTAD = ABOVE_DIM_LINE_EXCEPT_NOT_HORIZONTAL; |
| | DIMJUST = ABOVE_AND_CENTERED; |
| | DIMCLRT = RS2::FlagByBlock; |
| | DIMTIX = PLACE_BETWEEN_IF_SUFFICIENT_ROOM; |
| | DIMTIH = DRAW_HORIZONTALLY; |
| | DIMTOH = DRAW_HORIZONTALLY; |
| | DIMTVP = 0.0000; |
| | DIMTXSTY = "Standard"; |
| | DIMTXT = 2.5000; |
| | DIMTXTDIRECTION = LEFT_TO_RIGHT; |
| | DIMUPT = DIM_LINE_LOCATION_ONLY; |
| | DIMTMOVE = DIM_LINE_WITH_TEXT; |
| | } |
| |
|
| | void LC_DimStyle::Text::copyTo(Text* c) { |
| | copyFlags(c); |
| | c->DIMATFIT = DIMATFIT; |
| | c->DIMTFILL = DIMTFILL; |
| | c->DIMTFILLCLR = DIMTFILLCLR; |
| | c->DIMTAD = DIMTAD; |
| | c->DIMJUST = DIMJUST; |
| | c->DIMCLRT = DIMCLRT; |
| | c->DIMTIX = DIMTIX; |
| | c->DIMTIH = DIMTIH; |
| | c->DIMTOH = DIMTOH; |
| | c->DIMTVP = DIMTVP; |
| | c->DIMTXSTY = DIMTXSTY; |
| | c->DIMTXT = DIMTXT; |
| | c->DIMTXTDIRECTION = DIMTXTDIRECTION; |
| | c->DIMUPT = DIMUPT; |
| | c->DIMTMOVE = DIMTMOVE; |
| | } |
| |
|
| | void LC_DimStyle::Text::merge(const Text* parent) { |
| | if (checkModifyState($DIMATFIT)) { |
| | DIMATFIT = parent->DIMATFIT; |
| | } |
| | if (checkModifyState($DIMTFILL)) { |
| | DIMTFILL = parent->DIMTFILL; |
| | } |
| | if (checkModifyState($DIMTFILLCLR)) { |
| | DIMTFILLCLR = parent->DIMTFILLCLR; |
| | } |
| | if (checkModifyState($DIMTAD)) { |
| | DIMTAD = parent->DIMTAD; |
| | } |
| | if (checkModifyState($DIMJUST)) { |
| | DIMJUST = parent->DIMJUST; |
| | } |
| | if (checkModifyState($DIMCLRT)) { |
| | DIMCLRT = parent->DIMCLRT; |
| | } |
| | if (checkModifyState($DIMTIX)) { |
| | DIMTIX = parent->DIMTIX; |
| | } |
| | if (checkModifyState($DIMTIH)) { |
| | DIMTIH = parent->DIMTIH; |
| | } |
| | if (checkModifyState($DIMTOH)) { |
| | DIMTOH = parent->DIMTOH; |
| | } |
| | if (checkModifyState($DIMTVP)) { |
| | DIMTVP = parent->DIMTVP; |
| | } |
| | if (checkModifyState($DIMTXSTY)) { |
| | DIMTXSTY = parent->DIMTXSTY; |
| | } |
| | if (checkModifyState($DIMTXT)) { |
| | DIMTXT = parent->DIMTXT; |
| | } |
| | if (checkModifyState($DIMTXTDIRECTION)) { |
| | DIMTXTDIRECTION = parent->DIMTXTDIRECTION; |
| | } |
| | if (checkModifyState($DIMUPT)) { |
| | DIMUPT = parent->DIMUPT; |
| | } |
| | if (checkModifyState($DIMTMOVE)) { |
| | DIMTMOVE = parent->DIMTMOVE; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::fillByDefaults() { |
| | DIMCLRD = RS2::FlagByBlock; |
| | DIMDLE = 0.0; |
| | DIMDLI = 3.7500; |
| | DIMGAP = 0.6250; |
| | DIMLTYPE = "ByBlock"; |
| | DIMLTYPE_LineType = RS2::LineByBlock; |
| | DIMLWD = RS2::WidthByBlock; |
| | DIMSD1 = DONT_SUPPRESS; |
| | DIMSD2 = DONT_SUPPRESS; |
| | DIMTOFL = DRAW_EVEN_IF_ARROWHEADS_ARE_OUTSIDE; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::copyTo(DimensionLine* c) { |
| | copyFlags(c); |
| | c->DIMCLRD = DIMCLRD; |
| | c->DIMDLE = DIMDLE; |
| | c->DIMDLI = DIMDLI; |
| | c->DIMGAP = DIMGAP; |
| | c->DIMLTYPE = DIMLTYPE; |
| | c->DIMLTYPE_LineType = DIMLTYPE_LineType; |
| | c->DIMLWD = DIMLWD; |
| | c->DIMSD1 = DIMSD1; |
| | c->DIMSD2 = DIMSD2; |
| | c->DIMTOFL = DIMTOFL; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::merge(const DimensionLine* parent) { |
| | if (checkModifyState($DIMCLRD)) { |
| | DIMCLRD = parent->DIMCLRD; |
| | } |
| | if (checkModifyState($DIMDLE)) { |
| | DIMDLE = parent->DIMDLE; |
| | } |
| | if (checkModifyState($DIMDLI)) { |
| | DIMDLI = parent->DIMDLI; |
| | } |
| | if (checkModifyState($DIMGAP)) { |
| | DIMGAP = parent->DIMGAP; |
| | } |
| | if (checkModifyState($DIMLTYPE)) { |
| | DIMLTYPE = parent->DIMLTYPE; |
| | DIMLTYPE_LineType = parent->DIMLTYPE_LineType; |
| | } |
| | if (checkModifyState($DIMLWD)) { |
| | DIMLWD = parent->DIMLWD; |
| | } |
| | if (checkModifyState($DIMSD1)) { |
| | DIMSD1 = parent->DIMSD1; |
| | } |
| | if (checkModifyState($DIMSD2)) { |
| | DIMSD2 = parent->DIMSD2; |
| | } |
| | if (checkModifyState($DIMTOFL)) { |
| | DIMTOFL = parent->DIMTOFL; |
| | } |
| | } |
| |
|
| |
|
| | void LC_DimStyle::DimensionLine::setLineGap(double dimgap) { |
| | checkModified(dimgap, DIMGAP, $DIMGAP); |
| | DIMGAP = dimgap; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setColor(RS_Color dimclrd) { |
| | checkModified(dimclrd, DIMCLRD, $DIMCLRD); |
| | DIMCLRD = dimclrd; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setLineWidth(RS2::LineWidth dimlwd) { |
| | checkModified(dimlwd, DIMLWD, $DIMLWD); |
| | DIMLWD = dimlwd; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setDistanceBeyondExtLinesForObliqueStroke(double dimdle) { |
| | checkModified(dimdle, DIMDLE, $DIMDLE); |
| | DIMDLE = dimdle; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setBaselineDimLinesSpacing(double dimdli) { |
| | checkModified(dimdli, DIMDLI, $DIMDLI); |
| | DIMDLI = dimdli; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setSuppressFirstLine(DimLineAndArrowSuppressionPolicy dimsd1) { |
| | checkModified(dimsd1, DIMSD1, $DIMSD1); |
| | DIMSD1 = dimsd1; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setSuppressSecondLine(DimLineAndArrowSuppressionPolicy dimsd2) { |
| | checkModified(dimsd2, DIMSD2, $DIMSD2); |
| | DIMSD2 = dimsd2; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setDrawPolicyForOutsideText(DrawPolicyForOutsideText dimtofl) { |
| | checkModified(dimtofl, DIMTOFL, $DIMTOFL); |
| | DIMTOFL = dimtofl; |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setLineType(QString dimltype) { |
| | checkModified(dimltype, DIMLTYPE, $DIMLTYPE); |
| | DIMLTYPE = dimltype; |
| | DIMLTYPE_LineType = RS_FilterDXFRW::nameToLineType(dimltype); |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setLineType(RS2::LineType lineType) { |
| | checkModified(lineType, DIMLTYPE_LineType, $DIMLTYPE); |
| | DIMLTYPE_LineType = lineType; |
| | DIMLTYPE = RS_FilterDXFRW::lineTypeToName(lineType); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::fillByDefaults() { |
| | DIMCLRE = RS2::FlagByBlock; |
| | DIMEXE = 1.2500; |
| | DIMEXO = 0.625; |
| | DIMFXL = 1.0; |
| | DIMFXLON = false; |
| | DIMLTEX1 = "ByBlock"; |
| | DIMLTEX2 = "ByBlock"; |
| | DIMLTEX1_linetype = RS2::LineByBlock; |
| | DIMLTEX2_linetype = RS2::LineByBlock; |
| | DIMLWE = RS2::WidthByBlock; |
| | DIMSE1 = DONT_SUPPRESS; |
| | DIMSE2 = DONT_SUPPRESS; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::copyTo(ExtensionLine* c) { |
| | copyFlags(c); |
| | c->DIMCLRE = DIMCLRE; |
| | c->DIMEXE = DIMEXE; |
| | c->DIMEXO = DIMEXO; |
| | c->DIMFXL = DIMFXL; |
| | c->DIMFXLON = DIMFXLON; |
| | c->DIMLTEX1 = DIMLTEX1; |
| | c->DIMLTEX2 = DIMLTEX2; |
| | c->DIMLTEX1_linetype = DIMLTEX1_linetype; |
| | c->DIMLTEX2_linetype = DIMLTEX2_linetype; |
| | c->DIMLWE = DIMLWE; |
| | c->DIMSE1 = DIMSE1; |
| | c->DIMSE2 = DIMSE2; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::merge(const ExtensionLine* parent) { |
| | if (checkModifyState($DIMCLRE)) { |
| | DIMCLRE = parent->DIMCLRE; |
| | } |
| | if (checkModifyState($DIMEXE)) { |
| | DIMEXE = parent->DIMEXE; |
| | } |
| | if (checkModifyState($DIMEXO)) { |
| | DIMEXO = parent->DIMEXO; |
| | } |
| | if (checkModifyState($DIMFXL)) { |
| | DIMFXL = parent->DIMFXL; |
| | } |
| | if (checkModifyState($DIMFXLON)) { |
| | DIMFXLON = parent->DIMFXLON; |
| | } |
| | if (checkModifyState($DIMLTEX1)) { |
| | DIMLTEX1 = parent->DIMLTEX1; |
| | DIMLTEX1_linetype = parent->DIMLTEX1_linetype; |
| | } |
| | if (checkModifyState($DIMLTEX2)) { |
| | DIMLTEX2 = parent->DIMLTEX2; |
| | DIMLTEX2_linetype = parent->DIMLTEX2_linetype; |
| | } |
| | if (checkModifyState($DIMLWE)) { |
| | DIMLWE = parent->DIMLWE; |
| | } |
| | if (checkModifyState($DIMSE1)) { |
| | DIMSE1 = parent->DIMSE1; |
| | } |
| | if (checkModifyState($DIMSE2)) { |
| | DIMSE2 = parent->DIMSE2; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setColor(RS_Color dimclre) { |
| | checkModified(dimclre, DIMCLRE, $DIMCLRE); |
| | DIMCLRE = dimclre; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setDistanceBeyondDimLine(double dimexe) { |
| | checkModified(dimexe, DIMEXE, $DIMEXE); |
| | DIMEXE = dimexe; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setDistanceFromOriginPoint(double dimexo) { |
| | checkModified(dimexo, DIMEXO, $DIMEXO); |
| | DIMEXO = dimexo; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setFixedLength(double dimfxl) { |
| | checkModified(dimfxl, DIMFXL, $DIMFXL); |
| | DIMFXL = dimfxl; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setHasFixedLength(bool dimfxlon) { |
| | checkModified(dimfxlon, DIMFXLON, $DIMFXLON); |
| | DIMFXLON = dimfxlon; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineWidth(RS2::LineWidth dimlwe) { |
| | checkModified(dimlwe, DIMLWE, $DIMLWE); |
| | DIMLWE = dimlwe; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineTypeFirst(const QString& dimltex1) { |
| | checkModified(dimltex1, DIMLTEX1, $DIMLTEX1); |
| | DIMLTEX1_linetype = RS_FilterDXFRW::nameToLineType(dimltex1); |
| | DIMLTEX1 = dimltex1; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineTypeSecond(const QString& dimltex2) { |
| | checkModified(dimltex2, DIMLTEX2, $DIMLTEX2); |
| | DIMLTEX2_linetype = RS_FilterDXFRW::nameToLineType(dimltex2); |
| | DIMLTEX2 = dimltex2; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineTypeFirst(RS2::LineType lineType) { |
| | checkModified(lineType, DIMLTEX1_linetype, $DIMLTEX1); |
| | DIMLTEX1_linetype = lineType; |
| | DIMLTEX1 = RS_FilterDXFRW::lineTypeToName(lineType); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineTypeSecond(RS2::LineType lineType) { |
| | checkModified(lineType, DIMLTEX2_linetype, $DIMLTEX2); |
| | |
| | |
| | |
| | DIMLTEX2_linetype = lineType; |
| | DIMLTEX2 = RS_FilterDXFRW::lineTypeToName(lineType); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setSuppressFirst(ExtensionLineAndArrowSuppressionPolicy dimse1) { |
| | checkModified(dimse1, DIMSE1, $DIMSE1); |
| | DIMSE1 = dimse1; |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setSuppressSecond(ExtensionLineAndArrowSuppressionPolicy dimse2) { |
| | checkModified(dimse2, DIMSE2, $DIMSE2); |
| | DIMSE2 = dimse2; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::fillByDefaults() { |
| | DIMASZ = 2.5; |
| | DIMBLK = ""; |
| | DIMBLK1 = ""; |
| | DIMBLK2 = ""; |
| | DIMSAH = false; |
| | DIMSOXD = DONT_SUPPRESS; |
| | DIMTSZ = 0; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::copyTo(Arrowhead* c) { |
| | copyFlags(c); |
| | c->DIMASZ = DIMASZ; |
| | c->DIMBLK = DIMBLK; |
| | c->DIMBLK1 = DIMBLK1; |
| | c->DIMBLK2 = DIMBLK2; |
| | c->DIMSAH = DIMSAH; |
| | c->DIMSOXD = DIMSOXD; |
| | c->DIMTSZ = DIMTSZ; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::merge(const Arrowhead* parent) { |
| | if (checkModifyState($DIMASZ)) { |
| | DIMASZ = parent->DIMASZ; |
| | } |
| | if (checkModifyState($DIMBLK)) { |
| | DIMBLK = parent->DIMBLK; |
| | } |
| | if (checkModifyState($DIMBLK1)) { |
| | DIMBLK1 =parent-> DIMBLK1; |
| | } |
| | if (checkModifyState($DIMBLK2)) { |
| | DIMBLK2 = parent->DIMBLK2; |
| | } |
| | if (checkModifyState($DIMSAH)) { |
| | DIMSAH = parent->DIMSAH; |
| | } |
| | if (checkModifyState($DIMSOXD)) { |
| | DIMSOXD = parent->DIMSOXD; |
| | } |
| | if (checkModifyState($DIMTSZ)) { |
| | DIMTSZ = parent->DIMTSZ; |
| | } |
| | } |
| |
|
| | QString LC_DimStyle::Arrowhead::obtainFirstArrowName() { |
| | auto result = arrowHeadBlockNameFirst(); |
| | if (result.isEmpty()) { |
| | result = sameBlockName(); |
| | } |
| | return result; |
| | } |
| |
|
| | QString LC_DimStyle::Arrowhead::obtainSecondArrowName() { |
| | if (isUseSeparateArrowHeads()) { |
| | return arrowHeadBlockNameSecond(); |
| | } |
| | else { |
| | return obtainFirstArrowName(); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setSuppressions(ArrowHeadSuppressionPolicy dimsoxd) { |
| | checkModified(dimsoxd, DIMSOXD, $DIMSOXD); |
| | DIMSOXD = dimsoxd; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setSize(double dimasz) { |
| | checkModified(dimasz, DIMASZ, $DIMASZ); |
| | DIMASZ = dimasz; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setSameBlockName(const QString& dimblk) { |
| | checkModified(dimblk, DIMBLK, $DIMBLK); |
| | DIMBLK = dimblk; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setArrowHeadBlockNameFirst(const QString& dimblk1) { |
| | checkModified(dimblk1, DIMBLK1, $DIMBLK1); |
| | DIMBLK1 = dimblk1; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setArrowHeadBlockNameSecond(const QString& dimblk2) { |
| | checkModified(dimblk2, DIMBLK2, $DIMBLK2); |
| | DIMBLK2 = dimblk2; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setUseSeparateArrowHeads(bool dimsah) { |
| | checkModified(dimsah, DIMSAH, $DIMSAH); |
| | DIMSAH = dimsah; |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setTickSize(double dimtsz) { |
| | DIMTSZ = dimtsz; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::fillByDefaults() { |
| | DIMZIN = TRAILING_IN_DECIMAL; |
| | DIMAZIN = DONT_SUPPRESS; |
| | DIMALTTZ = TOL_SUPPRESS_ZERO_FEET_AND_ZERO_INCHES; |
| | DIMALTZ = SUPPRESS_ZERO_FEET_AND_ZERO_INCHES; |
| | DIMTZIN = TRAILING_IN_DECIMAL; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::copyTo(ZerosSuppression* c) { |
| | copyFlags(c); |
| | c->DIMZIN = DIMZIN; |
| | c->DIMAZIN = DIMAZIN; |
| | c->DIMALTTZ = DIMALTTZ; |
| | c->DIMALTZ = DIMALTZ; |
| | c->DIMTZIN = DIMTZIN; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::merge(const ZerosSuppression* parent) { |
| | if (checkModifyState($DIMZIN)) { |
| | DIMZIN = parent->DIMZIN; |
| | } |
| | if (checkModifyState($DIMAZIN)) { |
| | DIMAZIN = parent->DIMAZIN; |
| | } |
| | if (checkModifyState($DIMALTZ)) { |
| | DIMALTZ = parent->DIMALTZ; |
| | } |
| | if (checkModifyState($DIMALTTZ)) { |
| | DIMALTTZ = parent->DIMALTTZ; |
| | } |
| | if (checkModifyState($DIMTZIN)) { |
| | DIMTZIN = parent->DIMTZIN; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setToleranceRaw(int dimtzin) { |
| | checkModified(dimtzin, DIMTZIN, $DIMTZIN); |
| | DIMTZIN = dimtzin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setLinearRaw(int dimzin) { |
| | checkModified(dimzin, DIMZIN, $DIMZIN); |
| | DIMZIN = dimzin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAngularRaw(int dimazin) { |
| | checkModified(dimazin, DIMAZIN, $DIMAZIN); |
| | DIMAZIN = dimazin; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAltLinearRaw(int dimaltz) { |
| | checkModified(dimaltz, DIMALTZ, $DIMALTZ); |
| | DIMALTZ = dimaltz; |
| | } |
| |
|
| | void LC_DimStyle::ZerosSuppression::setAltToleranceRaw(int dimalttz) { |
| | checkModified(dimalttz, DIMALTTZ, $DIMALTTZ); |
| | DIMALTTZ = dimalttz; |
| | } |
| |
|
| | void LC_DimStyle::LinearRoundOff::fillByDefaults() { |
| | DIMALTRND = 0; |
| | DIMRND = 0; |
| | } |
| |
|
| | void LC_DimStyle::LinearRoundOff::copyTo(LinearRoundOff* c) { |
| | copyFlags(c); |
| | c->DIMALTRND = DIMALTRND; |
| | c->DIMRND = DIMRND; |
| | } |
| |
|
| | void LC_DimStyle::LinearRoundOff::merge(const LinearRoundOff* parent) { |
| | if (checkModifyState($DIMALTRND)) { |
| | DIMALTRND = parent->DIMALTRND; |
| | } |
| | if (checkModifyState($DIMRND)) { |
| | DIMRND = parent->DIMRND; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::LinearRoundOff::setRoundToValue(double dimrnd) { |
| | checkModified(dimrnd, DIMRND, $DIMRND); |
| | DIMRND = dimrnd; |
| | } |
| |
|
| | void LC_DimStyle::LinearRoundOff::setAltRoundToValue(double dimaltrnd) { |
| | checkModified(dimaltrnd, DIMALTRND, $DIMALTRND); |
| | DIMALTRND = dimaltrnd; |
| | } |
| |
|
| | void LC_DimStyle::Scaling::fillByDefaults() { |
| | DIMLFAC = 1.0; |
| | DIMSCALE = 1.0; |
| | } |
| |
|
| | void LC_DimStyle::Scaling::copyTo(Scaling* c) { |
| | copyFlags(c); |
| | c->DIMLFAC = DIMLFAC; |
| | c->DIMSCALE = DIMSCALE; |
| | } |
| |
|
| | void LC_DimStyle::Scaling::merge(const Scaling* parent) { |
| | if (checkModifyState($DIMLFAC)) { |
| | DIMLFAC = parent->DIMLFAC; |
| | } |
| | if (checkModifyState($DIMSCALE)) { |
| | DIMSCALE = parent->DIMSCALE; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Scaling::setLinearFactor(double dimlfac) { |
| | checkModified(dimlfac, DIMLFAC, $DIMLFAC); |
| | DIMLFAC = dimlfac; |
| | }; |
| |
|
| | void LC_DimStyle::Scaling::setScale(double dimscale) { |
| | checkModified(dimscale, DIMSCALE, $DIMSCALE); |
| | DIMSCALE = dimscale; |
| | }; |
| |
|
| | void LC_DimStyle::Fractions::fillByDefaults() { |
| | DIMFRAC = HORIZONTAL; |
| | } |
| |
|
| | void LC_DimStyle::Fractions::copyTo(Fractions* c) { |
| | copyFlags(c); |
| | c->DIMFRAC = DIMFRAC; |
| | } |
| |
|
| | void LC_DimStyle::Fractions::merge(const Fractions* parent) { |
| | if (checkModifyState($DIMFRAC)) { |
| | DIMFRAC = parent->DIMFRAC; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Fractions::setStyle(FractionStylePolicy dimfrac) { |
| | checkModified(dimfrac, DIMFRAC, $DIMFRAC); |
| | DIMFRAC = dimfrac; |
| | } |
| |
|
| | LC_DimStyle::LinearFormat::~LinearFormat() { |
| | delete primaryPrefixSuffix; |
| | delete alternativePrefixSuffix; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::fillByDefaults() { |
| | DIMALT = DISABLE; |
| | DIMALTD = 3; |
| | DIMALTF = 0.03937; |
| | DIMALTU = RS2::Decimal; |
| | DIMAPOST = ""; |
| | DIMDEC = 2; |
| | DIMDSEP = ','; |
| | DIMLUNIT = RS2::Decimal; |
| | DIMPOST = ""; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::copyTo(LinearFormat* c) { |
| | copyFlags(c); |
| | c->DIMALT = DIMALT; |
| | c->DIMALTD = DIMALTD; |
| | c->DIMALTF = DIMALTF; |
| | c->DIMALTU = DIMALTU; |
| | c->DIMAPOST = DIMAPOST; |
| | c->DIMDEC = DIMDEC; |
| | c->DIMDSEP = DIMDSEP; |
| | c->DIMLUNIT = DIMLUNIT; |
| | c->DIMPOST = DIMPOST; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::merge(const LinearFormat* parent) { |
| | if (checkModifyState($DIMALT)) { |
| | DIMALT = parent->DIMALT; |
| | } |
| | if (checkModifyState($DIMALTD)) { |
| | DIMALTD = parent->DIMALTD; |
| | } |
| | if (checkModifyState($DIMALTF)) { |
| | DIMALTF = parent->DIMALTF; |
| | } |
| | if (checkModifyState($DIMALTU)) { |
| | DIMALTU = parent->DIMALTU; |
| | } |
| | if (checkModifyState($DIMAPOST)) { |
| | DIMAPOST = parent->DIMAPOST; |
| | } |
| | if (checkModifyState($DIMDEC)) { |
| | DIMDEC = parent->DIMDEC; |
| | } |
| | if (checkModifyState($DIMSEP)) { |
| | DIMDSEP = parent->DIMDSEP; |
| | } |
| | if (checkModifyState($DIMLUNIT)) { |
| | DIMLUNIT = parent->DIMLUNIT; |
| | } |
| | if (checkModifyState($DIMPOST)) { |
| | DIMPOST = parent->DIMPOST; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAltUnitsMultiplier(double dimaltf) { |
| | checkModified(dimaltf, DIMALTF, $DIMALTF); |
| | DIMALTF = dimaltf; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAlternateUnits(AlternateUnitsPolicy dimalt) { |
| | checkModified(dimalt, DIMALT, $DIMALT); |
| | DIMALT = dimalt; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAltPrefixOrSuffix(const QString& dimapost) { |
| | checkModified(dimapost, DIMAPOST, $DIMAPOST); |
| | DIMAPOST = dimapost; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAltFormat(RS2::LinearFormat dimaltu) { |
| | checkModified(dimaltu, DIMALTU, $DIMALTU); |
| | DIMALTU = dimaltu; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setDecimalPlaces(int dimdec) { |
| | checkModified(dimdec, DIMDEC, $DIMDEC); |
| | DIMDEC = dimdec; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAltDecimalPlaces(int dimaltd) { |
| | checkModified(dimaltd, DIMALTD, $DIMALTD); |
| | DIMALTD = dimaltd; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setDecimalFormatSeparatorChar(int dimsep) { |
| | checkModified(dimsep, DIMDSEP, $DIMSEP); |
| | DIMDSEP = dimsep; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setPrefixOrSuffix(const QString& dimpost) { |
| | checkModified(dimpost, DIMPOST, $DIMPOST); |
| | DIMPOST = dimpost; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setFormat(RS2::LinearFormat dimlunit) { |
| | checkModified(dimlunit, DIMLUNIT, $DIMLUNIT); |
| | DIMLUNIT = dimlunit; |
| | } |
| |
|
| | LC_DimStyle::LinearFormat::TextPattern::TextPattern(bool primary, const QString& text, LinearFormat* linearFormat) : |
| | separator{primary ? "<>" : "[]"}, |
| | format{linearFormat}, |
| | forAltUnit{!primary} { |
| | parse(text); |
| | } |
| |
|
| | QString LC_DimStyle::LinearFormat::TextPattern::update() { |
| | completeString = QString("").append(prefix).append(separator).append(suffix).append( |
| | suffixEndsWithLineFeed ? "\\X" : ""); |
| | if (forAltUnit) { |
| | format->setAltPrefixOrSuffix(completeString); |
| | } |
| | else { |
| | format->setPrefixOrSuffix(completeString); |
| | } |
| | return completeString; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::TextPattern::parse(const QString& val) { |
| | prefix = ""; |
| | suffix = ""; |
| | completeString = val; |
| | suffixEndsWithLineFeed = false; |
| | if (!val.isEmpty()) { |
| | int pos = val.indexOf(separator); |
| | if (pos > 0) { |
| | prefix = val.left(pos); |
| | suffix = val.mid(pos + 2); |
| | if (suffix.endsWith("\\X")) { |
| | suffix = suffix.left(suffix.length() - 1); |
| | suffixEndsWithLineFeed = true; |
| | } |
| | } |
| | } |
| | } |
| |
|
| | QString LC_DimStyle::LinearFormat::TextPattern::getPrefix() { |
| | return prefix; |
| | } |
| |
|
| | QString LC_DimStyle::LinearFormat::TextPattern::getSuffix() { |
| | return suffix; |
| | } |
| |
|
| | bool LC_DimStyle::LinearFormat::TextPattern::isSuffixEndsWithLineFeed() { |
| | return suffixEndsWithLineFeed; |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::TextPattern::setPrefix(const QString& p) { |
| | prefix = p; |
| | update(); |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::TextPattern::setSuffix(const QString& s) { |
| | suffix = s; |
| | update(); |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::TextPattern::setSuffixEndsWithNewLineFeed(bool set) { |
| | suffixEndsWithLineFeed = set; |
| | update(); |
| | } |
| |
|
| | LC_DimStyle::LinearFormat::TextPattern* LC_DimStyle::LinearFormat::getPrimaryPrefixOrSuffix() { |
| | if (primaryPrefixSuffix == nullptr) { |
| | primaryPrefixSuffix = new TextPattern(true, DIMPOST, this); |
| | } |
| | return primaryPrefixSuffix; |
| | } |
| |
|
| | LC_DimStyle::LinearFormat::TextPattern* LC_DimStyle::LinearFormat::getAlternativePrefixOrSuffix() { |
| | if (alternativePrefixSuffix == nullptr) { |
| | alternativePrefixSuffix = new TextPattern(false, DIMAPOST, this); |
| | } |
| | return alternativePrefixSuffix; |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::fillByDefaults() { |
| | DIMADEC = 0; |
| | DIMAUNIT = RS2::DegreesDecimal; |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::copyTo(AngularFormat* c) { |
| | copyFlags(c); |
| | c->DIMADEC = DIMADEC; |
| | c->DIMAUNIT = DIMAUNIT; |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::merge(const AngularFormat* parent) { |
| | if (checkModifyState($DIMADEC)) { |
| | DIMADEC = parent->DIMADEC; |
| | } |
| | if (checkModifyState($DIMAUNIT)) { |
| | DIMAUNIT = parent->DIMAUNIT; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::setDecimalPlaces(int dimadec) { |
| | checkModified(dimadec, DIMADEC, $DIMADEC); |
| | DIMADEC = dimadec; |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::setFormat(RS2::AngleFormat dimaunit) { |
| | checkModified(dimaunit, DIMAUNIT, $DIMAUNIT); |
| | DIMAUNIT = dimaunit; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::fillByDefaults() { |
| | DIMALTTD = 3; |
| | DIMLIM = false; |
| | DIMTDEC = 2; |
| | DIMTFAC = 1.0; |
| | DIMTM = 0.0; |
| | DIMTOL = false; |
| | DIMTOLJ = BOTTOM; |
| | DIMTP = 0.0; |
| | DIMTALN = ALIGN_DECIMAL_SEPARATORS; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::copyTo(LatteralTolerance* c) { |
| | copyFlags(c); |
| | c->DIMALTTD = DIMALTTD; |
| | c->DIMLIM = DIMLIM; |
| | c->DIMTDEC = DIMTDEC; |
| | c->DIMTFAC = DIMTFAC; |
| | c->DIMTM = DIMTM; |
| | c->DIMTOL = DIMTOL; |
| | c->DIMTOLJ = DIMTOLJ; |
| | c->DIMTP = DIMTP; |
| | c->DIMTALN = DIMTALN; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::merge(const LatteralTolerance* parent) { |
| | if (checkModifyState($DIMALTTD)) { |
| | DIMALTTD = parent->DIMALTTD; |
| | } |
| | if (checkModifyState($DIMLIM)) { |
| | DIMLIM = parent->DIMLIM; |
| | } |
| | if (checkModifyState($DIMTDEC)) { |
| | DIMTDEC = parent->DIMTDEC; |
| | } |
| | if (checkModifyState($DIMTFAC)) { |
| | DIMTFAC = parent->DIMTFAC; |
| | } |
| | if (checkModifyState($DIMTM)) { |
| | DIMTM = parent->DIMTM; |
| | } |
| | if (checkModifyState($DIMTOL)) { |
| | DIMTOL = parent->DIMTOL; |
| | } |
| | if (checkModifyState($DIMTOLJ)) { |
| | DIMTOLJ = parent->DIMTOLJ; |
| | } |
| | if (checkModifyState($DIMTP)) { |
| | DIMTP = parent->DIMTP; |
| | } |
| | if (checkModifyState($DIMTALN)) { |
| | DIMTALN = parent->DIMTALN; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setAdjustment(AdjustmentMode dimtaln) { |
| | checkModified(dimtaln, DIMTALN, $DIMTALN); |
| | DIMTALN = dimtaln; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setAdjustmentRaw(int dimtaln) { |
| | AdjustmentMode align; |
| | switch (dimtaln) { |
| | case 0: |
| | align = ALIGN_DECIMAL_SEPARATORS; |
| | break; |
| | case 1: |
| | align = ALIGN_OPERATIONAL_SYMBOLS; |
| | break; |
| | default: |
| | align = ALIGN_DECIMAL_SEPARATORS; |
| | } |
| | setAdjustment(align); |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setDecimalPlacesAltDim(int dimalttd) { |
| | checkModified(dimalttd, DIMALTTD, $DIMALTTD); |
| | DIMALTTD = dimalttd; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setLimitsAreGeneratedAsDefaultText(bool dimlim) { |
| | checkModified(dimlim, DIMLIM, $DIMLIM); |
| | DIMLIM = dimlim; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setDecimalPlaces(int dimtdec) { |
| | checkModified(dimtdec, DIMTDEC, $DIMTDEC); |
| | DIMTDEC = dimtdec; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setHeightScaleFactorToDimText(double dimtfac) { |
| | checkModified(dimtfac, DIMTFAC, $DIMTFAC); |
| | DIMTFAC = dimtfac; |
| | }; |
| |
|
| | void LC_DimStyle::LatteralTolerance::setLowerToleranceLimit(double dimtm) { |
| | checkModified(dimtm, DIMTM, $DIMTM); |
| | DIMTM = dimtm; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setAppendTolerancesToDimText(bool dimtol) { |
| | checkModified(dimtol, DIMTOL, $DIMTOL); |
| | DIMTOL = dimtol; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setUpperToleranceLimit(double dimtp) { |
| | checkModified(dimtp, DIMTP, $DIMTP); |
| | DIMTP = dimtp; |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setVerticalJustification(VerticalJustificationToDimText dimtolj) { |
| | checkModified(dimtolj, DIMTOLJ, $DIMTOLJ); |
| | DIMTOLJ = dimtolj; |
| | } |
| |
|
| | void LC_DimStyle::Leader::fillByDefaults() { |
| | DIMLDRBLK = ""; |
| | } |
| |
|
| | void LC_DimStyle::Leader::copyTo(Leader* c) { |
| | copyFlags(c); |
| | c->DIMLDRBLK = DIMLDRBLK; |
| | } |
| |
|
| | void LC_DimStyle::Leader::merge(const Leader* parent) { |
| | if (checkModifyState($DIMLDRBLK)) { |
| | DIMLDRBLK = parent->DIMLDRBLK; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Leader::setArrowBlockName(const QString& dimldrblk) { |
| | checkModified(dimldrblk, DIMLDRBLK, $DIMLDRBLK); |
| | DIMLDRBLK = dimldrblk; |
| | } |
| |
|
| | void LC_DimStyle::MLeader::fillByDefaults() { |
| | MLEADERSCALE = 1.0; |
| | } |
| |
|
| | void LC_DimStyle::MLeader::copyTo(MLeader* c) { |
| | copyFlags(c); |
| | c->MLEADERSCALE = MLEADERSCALE; |
| | } |
| |
|
| | |
| | void LC_DimStyle::MLeader::merge(const MLeader* parent) { |
| | if (checkModifyState($MLEADERSCALE)) { |
| | MLEADERSCALE = parent->MLEADERSCALE; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::MLeader::setScale(double mleaderscale) { |
| | checkModified(mleaderscale, MLEADERSCALE, $MLEADERSCALE); |
| | MLEADERSCALE = mleaderscale; |
| | } |
| |
|
| | void LC_DimStyle::Radial::fillByDefaults() { |
| | DIMCEN = 2.5; |
| | DIMJOGANG = 45; |
| | } |
| |
|
| | void LC_DimStyle::Radial::copyTo(Radial* c) { |
| | copyFlags(c); |
| | c->DIMCEN = DIMCEN; |
| | c->DIMJOGANG = DIMJOGANG; |
| | } |
| |
|
| | void LC_DimStyle::Radial::merge(const Radial* parent) { |
| | if (checkModifyState($DIMCEN)) { |
| | DIMCEN = parent->DIMCEN; |
| | } |
| | if (checkModifyState($DIMJOGANG)) { |
| | DIMJOGANG = parent->DIMJOGANG; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Radial::setCenterMarkOrLineSize(double dimcen) { |
| | checkModified(dimcen, DIMCEN, $DIMCEN); |
| | DIMCEN = dimcen; |
| | } |
| |
|
| | void LC_DimStyle::Arc::fillByDefaults() { |
| | DIMARCSYM = BEFORE; |
| | } |
| |
|
| | void LC_DimStyle::Arc::copyTo(Arc* c) { |
| | copyFlags(c); |
| | c->DIMARCSYM = DIMARCSYM; |
| | } |
| |
|
| | void LC_DimStyle::Arc::merge(const Arc* parent) { |
| | if (checkModifyState($DIMARCSYM)) { |
| | DIMARCSYM = parent->DIMARCSYM; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Arc::setArcSymbolPosition(DimArcSymbolPositionPolicy dimarcsym) { |
| | checkModified(dimarcsym, DIMARCSYM, $DIMARCSYM); |
| | DIMARCSYM = dimarcsym; |
| | } |
| |
|
| | void LC_DimStyle::Arc::setArcSymbolPositionRaw(int dimarcsym) { |
| | DimArcSymbolPositionPolicy mode; |
| | switch (dimarcsym) { |
| | case 0: { |
| | mode = BEFORE; |
| | break; |
| | } |
| | case 1: { |
| | mode = ABOVE; |
| | break; |
| | } |
| | case 2: { |
| | mode = NONE; |
| | break; |
| | } |
| | default: |
| | mode = BEFORE; |
| | } |
| | setArcSymbolPosition(mode); |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setLineWidthRaw(int dimlwd) { |
| | auto lineWidth = RS2::dxfInt2lineWidth(dimlwd); |
| | setLineWidth(lineWidth); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setLineWidthRaw(int dimlwe) { |
| | RS2::LineWidth _dimlwe = RS2::dxfInt2lineWidth(dimlwe); |
| | setLineWidth(_dimlwe); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setSuppressFirstRaw(int dimse1) { |
| | auto policy = int2SuppressionPolicy(dimse1); |
| | setSuppressFirst(policy); |
| | } |
| |
|
| | void LC_DimStyle::ExtensionLine::setSuppressSecondRaw(int dimse2) { |
| | auto policy = int2SuppressionPolicy(dimse2); |
| | setSuppressSecond(policy); |
| | } |
| |
|
| | LC_DimStyle::ExtensionLine::ExtensionLineAndArrowSuppressionPolicy |
| | LC_DimStyle::ExtensionLine::int2SuppressionPolicy(int dimsoxd) { |
| | switch (dimsoxd) { |
| | case 0: { |
| | return DONT_SUPPRESS; |
| | } |
| | case 1: { |
| | return SUPPRESS; |
| | } |
| | default: { |
| | return DONT_SUPPRESS; |
| | } |
| | } |
| | } |
| |
|
| | void LC_DimStyle::Arrowhead::setSuppressionsRaw(int dimsoxd) { |
| | ArrowHeadSuppressionPolicy policy; |
| | switch (dimsoxd) { |
| | case 0: { |
| | policy = DONT_SUPPRESS; |
| | break; |
| | } |
| | case 1: { |
| | policy = SUPPRESS; |
| | break; |
| | } |
| | default: { |
| | policy = DONT_SUPPRESS; |
| | } |
| | } |
| | setSuppressions(policy); |
| | } |
| |
|
| | void LC_DimStyle::Radial::setTransverseSegmentAngleInJoggedRadius(double dimjogang) { |
| | checkModified(dimjogang, DIMJOGANG, $DIMJOGANG); |
| | DIMJOGANG = dimjogang; |
| | } |
| |
|
| | LC_DimStyle::Radial::CenterMarkDrawingMode LC_DimStyle::Radial::drawingMode() const { |
| | |
| | |
| | |
| | |
| |
|
| | if (LC_LineMath::isNotMeaningful(DIMCEN)) { |
| | return DRAW_NOTHING; |
| | } |
| | else { |
| | return std::signbit(DIMCEN) ? DRAW_CENTERLINES : DRAW_CENTERMARKS; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::setName(const QString& name) { |
| | m_name = name; |
| | } |
| |
|
| | void LC_DimStyle::Text::setUnsufficientSpacePolicyRaw(int dimatfit) { |
| | TextAndArrowUnsufficientSpaceArrangementPolicy _dimatfit; |
| | switch (dimatfit) { |
| | case 0: { |
| | _dimatfit = OUTSIDE_EXT_LINES; |
| | break; |
| | } |
| | case 1: { |
| | _dimatfit = ARROW_FIRST_THEN_TEXT; |
| | break; |
| | } |
| | case 2: { |
| | _dimatfit = TEXT_FIRST_THEN_ARROW; |
| | break; |
| | } |
| | case 3: { |
| | _dimatfit = EITHER_TEXT_OR_ARROW; |
| | break; |
| | } |
| | default: |
| | _dimatfit = EITHER_TEXT_OR_ARROW; |
| | break; |
| | } |
| | setUnsufficientSpacePolicy(_dimatfit); |
| | } |
| |
|
| | void LC_DimStyle::Text::setPositionMovementPolicyRaw(int dimtmove) { |
| | TextMovementPolicy _dimtmove; |
| | switch (dimtmove) { |
| | case 0: { |
| | _dimtmove = DIM_LINE_WITH_TEXT; |
| | break; |
| | } |
| | case 1: { |
| | _dimtmove = ADDS_LEADER; |
| | break; |
| | } |
| | case 2: { |
| | _dimtmove = ALLOW_FREE_POSITIONING; |
| | break; |
| | } |
| | default: |
| | _dimtmove = DIM_LINE_WITH_TEXT; |
| | break; |
| | } |
| | setPositionMovementPolicy(_dimtmove); |
| | } |
| |
|
| | void LC_DimStyle::Text::setCursorControlPolicyRaw(int dimupt) { |
| | CursorControlPolicy _dimupt; |
| | switch (dimupt) { |
| | case 0: { |
| | _dimupt = DIM_LINE_LOCATION_ONLY; |
| | break; |
| | } |
| | case 1: { |
| | _dimupt = TEXT_AND_DIM_LINE_LOCATION; |
| | break; |
| | } |
| | default: |
| | _dimupt = DIM_LINE_LOCATION_ONLY; |
| | break; |
| | } |
| | setCursorControlPolicy(_dimupt); |
| | } |
| |
|
| | void LC_DimStyle::Text::setBackgroundFillModeRaw(int dimtfill) { |
| | BackgroundColorPolicy _dimtfill; |
| | switch (dimtfill) { |
| | case 0: { |
| | _dimtfill = NONE; |
| | break; |
| | } |
| | case 1: { |
| | _dimtfill = DRAWING; |
| | break; |
| | } |
| | case 2: { |
| | _dimtfill = EXPLICIT; |
| | break; |
| | } |
| | default: |
| | _dimtfill = NONE; |
| | break; |
| | } |
| |
|
| | setBackgroundFillMode(_dimtfill); |
| | } |
| |
|
| | void LC_DimStyle::Text::setExtLinesRelativePlacementRaw(int dimtix) { |
| | PlacementRelatedToExtLinesPolicy _dimtix; |
| | switch (dimtix) { |
| | case 0: { |
| | _dimtix = PLACE_BETWEEN_IF_SUFFICIENT_ROOM; |
| | break; |
| | } |
| | case 1: { |
| | _dimtix = PLACE_ALWAYS_INSIDE; |
| | break; |
| | } |
| | default: |
| | _dimtix = PLACE_BETWEEN_IF_SUFFICIENT_ROOM; |
| | break; |
| | } |
| | setExtLinesRelativePlacement(_dimtix); |
| | } |
| |
|
| | void LC_DimStyle::Text::setVerticalPositioningRaw(int dimtad) { |
| | VerticalPositionPolicy _dimtad; |
| | switch (dimtad) { |
| | case 0: { |
| | _dimtad = CENTER_BETWEEN_EXT_LINES; |
| | break; |
| | } |
| | case 1: { |
| | _dimtad = ABOVE_DIM_LINE_EXCEPT_NOT_HORIZONTAL; |
| | break; |
| | } |
| | case 2: { |
| | _dimtad = FAREST_SIDE_FROM_DEF_POINTS; |
| | break; |
| | } |
| | case 3: { |
| | _dimtad = JIS_POSTION; |
| | break; |
| | } |
| | case 4: { |
| | _dimtad = BELOW_DIMENSION_LINE; |
| | break; |
| | } |
| | default: |
| | _dimtad = ABOVE_DIM_LINE_EXCEPT_NOT_HORIZONTAL; |
| | break; |
| | } |
| | setVerticalPositioning(_dimtad); |
| | } |
| |
|
| | void LC_DimStyle::Text::setHorizontalPositioningRaw(int dimjust) { |
| | HorizontalPositionPolicy _dimjust; |
| | switch (dimjust) { |
| | case 0: { |
| | _dimjust = ABOVE_AND_CENTERED; |
| | break; |
| | } |
| | case 1: { |
| | _dimjust = NEXT_TO_EXT_ONE; |
| | break; |
| | } |
| | case 2: { |
| | _dimjust = NEXT_TO_EXT_TWO; |
| | break; |
| | } |
| | case 3: { |
| | _dimjust = ABOVE_ALIGN_EXT_ONE; |
| | break; |
| | } |
| | case 4: { |
| | _dimjust = ABOVE_ALIGN_EXT_TWO; |
| | break; |
| | } |
| | default: |
| | _dimjust = ABOVE_AND_CENTERED; |
| | break; |
| | } |
| | setHorizontalPositioning(_dimjust); |
| | } |
| |
|
| | void LC_DimStyle::Text::setOrientationInsideRaw(int dimtih) { |
| | TextOrientationPolicy _dimtih; |
| | switch (dimtih) { |
| | case 0: { |
| | _dimtih = ALIGN_WITH_DIM_LINE; |
| | break; |
| | } |
| | case 1: { |
| | _dimtih = DRAW_HORIZONTALLY; |
| | break; |
| | } |
| | default: |
| | _dimtih = DRAW_HORIZONTALLY; |
| | break; |
| | } |
| | setOrientationInside(_dimtih); |
| | } |
| |
|
| | void LC_DimStyle::Text::setOrientationOutsideRaw(int dimtoh) { |
| | TextOrientationPolicy _dimtoh; |
| | switch (dimtoh) { |
| | case 0: { |
| | _dimtoh = ALIGN_WITH_DIM_LINE; |
| | break; |
| | } |
| | case 1: { |
| | _dimtoh = DRAW_HORIZONTALLY; |
| | break; |
| | } |
| | default: |
| | _dimtoh = DRAW_HORIZONTALLY; |
| | break; |
| | } |
| | setOrientationOutside(_dimtoh); |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setDrawPolicyForOutsideTextRaw(int dimtofl) { |
| | DrawPolicyForOutsideText _dimtofl; |
| | switch (dimtofl) { |
| | case 0: { |
| | _dimtofl = DONT_DRAW_IF_ARROWHEADS_ARE_OUTSIDE; |
| | break; |
| | } |
| | case 1: { |
| | _dimtofl = DRAW_EVEN_IF_ARROWHEADS_ARE_OUTSIDE; |
| | break; |
| | } |
| | default: |
| | _dimtofl = DRAW_EVEN_IF_ARROWHEADS_ARE_OUTSIDE; |
| | break; |
| | } |
| | setDrawPolicyForOutsideText(_dimtofl); |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setSuppressSecondLineRaw(int dimsd2) { |
| | DimLineAndArrowSuppressionPolicy _dimsd2; |
| | switch (dimsd2) { |
| | case 0: { |
| | _dimsd2 = DONT_SUPPRESS; |
| | break; |
| | } |
| | case 1: { |
| | _dimsd2 = SUPPRESS; |
| | break; |
| | } |
| | default: |
| | _dimsd2 = DONT_SUPPRESS; |
| | break; |
| | } |
| | setSuppressSecondLine(_dimsd2); |
| | } |
| |
|
| | void LC_DimStyle::DimensionLine::setSuppressFirstLineRaw(int dimsd1) { |
| | DimLineAndArrowSuppressionPolicy _dimsd1; |
| | switch (dimsd1) { |
| | case 0: { |
| | _dimsd1 = DONT_SUPPRESS; |
| | break; |
| | } |
| | case 1: { |
| | _dimsd1 = SUPPRESS; |
| | break; |
| | } |
| | default: |
| | _dimsd1 = DONT_SUPPRESS; |
| | break; |
| | } |
| | setSuppressFirstLine(_dimsd1); |
| | } |
| |
|
| | void LC_DimStyle::Fractions::setStyleRaw(int dimfrac) { |
| | FractionStylePolicy _dimfrac; |
| | switch (dimfrac) { |
| | case (0): { |
| | _dimfrac = HORIZONTAL; |
| | break; |
| | } |
| | case (1): { |
| | _dimfrac = DIAGONAL_STACKING; |
| | break; |
| | } |
| | case (2): { |
| | _dimfrac = NOT_STACKED; |
| | break; |
| | } |
| | default: |
| | _dimfrac = HORIZONTAL; |
| | } |
| | setStyle(_dimfrac); |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAltFormatRaw(int dimaltu) { |
| | RS2::LinearFormat _dimaltu = dxfInt2LinearFormat(dimaltu); |
| | setAltFormat(_dimaltu); |
| | } |
| |
|
| | RS2::LinearFormat LC_DimStyle::LinearFormat::dxfInt2LinearFormat(int f) { |
| | switch (f) { |
| | case 1: |
| | return RS2::Scientific; |
| | case 2: |
| | return RS2::Decimal; |
| | case 3: |
| | return RS2::Engineering; |
| | case 4: |
| | return RS2::Architectural; |
| | case 5: |
| | return RS2::Fractional; |
| | case 6: |
| | return RS2::ArchitecturalMetric; |
| | default: |
| | return RS2::Decimal; |
| | } |
| | } |
| |
|
| | int LC_DimStyle::LinearFormat::linearFormat2dxf(RS2::LinearFormat f) { |
| | switch (f) { |
| | case RS2::Scientific: |
| | return 1; |
| | case RS2::Decimal: |
| | return 2; |
| | case RS2::Engineering: |
| | return 3; |
| | case RS2::Architectural: |
| | return 4; |
| | case RS2::Fractional: |
| | return 5; |
| | case RS2::ArchitecturalMetric: |
| | return 6; |
| | default: |
| | return 2; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setAlternateUnitsRaw(int dimalt) { |
| | AlternateUnitsPolicy _dimalt; |
| | switch (dimalt) { |
| | case 0: { |
| | _dimalt = DISABLE; |
| | break; |
| | } |
| | case 1: { |
| | _dimalt = ENABLE; |
| | break; |
| | } |
| | default: |
| | _dimalt = DISABLE; |
| | }; |
| | setAlternateUnits(_dimalt); |
| | } |
| |
|
| | void LC_DimStyle::LinearFormat::setFormatRaw(int dimlunit) { |
| | RS2::LinearFormat _dimlunit = dxfInt2LinearFormat(dimlunit); |
| | setFormat(_dimlunit); |
| | } |
| |
|
| | int LC_DimStyle::LinearFormat::formatRaw() { |
| | return linearFormat2dxf(DIMLUNIT); |
| | } |
| |
|
| | int LC_DimStyle::LinearFormat::altFormatRaw() { |
| | return linearFormat2dxf(DIMALTU); |
| | } |
| |
|
| | void LC_DimStyle::AngularFormat::setFormatRaw(int dimaunit) { |
| | RS2::AngleFormat _dimaunit; |
| | switch (dimaunit) { |
| | case 0: |
| | _dimaunit = RS2::DegreesDecimal; |
| | break; |
| | case 1: |
| | _dimaunit = RS2::DegreesMinutesSeconds; |
| | break; |
| | case 2: |
| | _dimaunit = RS2::Gradians; |
| | break; |
| | case 3: |
| | _dimaunit = RS2::Radians; |
| | break; |
| | case 4: |
| | _dimaunit = RS2::Surveyors; |
| | break; |
| | default: |
| | _dimaunit = RS2::DegreesDecimal; |
| | } |
| | setFormat(_dimaunit); |
| | } |
| |
|
| | void LC_DimStyle::LatteralTolerance::setVerticalJustificationRaw(int dimtolj) { |
| | VerticalJustificationToDimText _dimtolj{BOTTOM}; |
| | switch (dimtolj) { |
| | case 0: |
| | _dimtolj = BOTTOM; |
| | break; |
| | case 1: |
| | _dimtolj = MIDDLE; |
| | break; |
| | case 2: |
| | _dimtolj = TOP; |
| | break; |
| | default: |
| | _dimtolj = BOTTOM; |
| | } |
| | setVerticalJustification(_dimtolj); |
| | } |
| |
|
| | void LC_DimStyle::Text::setReadingDirectionRaw(int dimtxtdirection) { |
| | TextDirection _dimtxtdirection{LEFT_TO_RIGHT}; |
| | switch (dimtxtdirection) { |
| | case 0: { |
| | _dimtxtdirection = LEFT_TO_RIGHT; |
| | break; |
| | } |
| | case 1: { |
| | _dimtxtdirection = RIGHT_TO_LEFT; |
| | break; |
| | } |
| | default: { |
| | _dimtxtdirection = LEFT_TO_RIGHT; |
| | } |
| | } |
| | setReadingDirection(_dimtxtdirection); |
| | } |
| |
|
| | void LC_DimStyle::Text::setExplicitBackgroundFillColor(const RS_Color& dimtfillclr) { |
| | checkModified(dimtfillclr, DIMTFILLCLR, $DIMTFILLCLR); |
| | DIMTFILLCLR = dimtfillclr; |
| | } |
| |
|
| | void LC_DimStyle::Text::setUnsufficientSpacePolicy(TextAndArrowUnsufficientSpaceArrangementPolicy dimatfit) { |
| | checkModified(dimatfit, DIMATFIT, $DIMATFIT); |
| | DIMATFIT = dimatfit; |
| | } |
| |
|
| | void LC_DimStyle::Text::setExtLinesRelativePlacement(PlacementRelatedToExtLinesPolicy dimtix) { |
| | checkModified(dimtix, DIMTIX, $DIMTIX); |
| | DIMTIX = dimtix; |
| | } |
| |
|
| | void LC_DimStyle::Text::setBackgroundFillMode(BackgroundColorPolicy dimtfill) { |
| | checkModified(dimtfill, DIMTFILL, $DIMTFILL); |
| | DIMTFILL = dimtfill; |
| | } |
| |
|
| | void LC_DimStyle::Text::setHorizontalPositioning(HorizontalPositionPolicy dimjust) { |
| | checkModified(dimjust, DIMJUST, $DIMJUST); |
| | DIMJUST = dimjust; |
| | } |
| |
|
| | void LC_DimStyle::Text::setVerticalPositioning(VerticalPositionPolicy dimtad) { |
| | checkModified(dimtad, DIMTAD, $DIMTAD); |
| | DIMTAD = dimtad; |
| | } |
| |
|
| | void LC_DimStyle::Text::setVerticalDistanceToDimLine(double dimtvp) { |
| | checkModified(dimtvp, DIMTVP, $DIMTVP); |
| | DIMTVP = dimtvp; |
| | } |
| |
|
| | void LC_DimStyle::Text::setOrientationInside(TextOrientationPolicy dimtih) { |
| | checkModified(dimtih, DIMTIH, $DIMTIH); |
| | DIMTIH = dimtih; |
| | } |
| |
|
| | void LC_DimStyle::Text::setOrientationOutside(TextOrientationPolicy dimtoh) { |
| | checkModified(dimtoh, DIMTOH, $DIMTOH); |
| | DIMTOH = dimtoh; |
| | } |
| |
|
| | void LC_DimStyle::Text::setStyle(const QString& dimtxsty) { |
| | checkModified(dimtxsty, DIMTXSTY, $DIMTXSTY); |
| | DIMTXSTY = dimtxsty; |
| | } |
| |
|
| | void LC_DimStyle::Text::setColor(const RS_Color& dimclrt) { |
| | checkModified(dimclrt, DIMCLRT, $DIMCLRT); |
| | DIMCLRT = dimclrt; |
| | } |
| |
|
| | void LC_DimStyle::Text::setHeight(double dimtxt) { |
| | checkModified(dimtxt, DIMTXT, $DIMTXT); |
| | DIMTXT = dimtxt; |
| | } |
| |
|
| | void LC_DimStyle::Text::setReadingDirection(TextDirection dimtxtdirection) { |
| | checkModified(dimtxtdirection, DIMTXTDIRECTION, $DIMTXTDIRECTION); |
| | DIMTXTDIRECTION = dimtxtdirection; |
| | } |
| |
|
| | void LC_DimStyle::Text::setPositionMovementPolicy(TextMovementPolicy dimtmove) { |
| | checkModified(dimtmove, DIMTMOVE, $DIMTMOVE); |
| | DIMTMOVE = dimtmove; |
| | } |
| |
|
| | void LC_DimStyle::Text::setCursorControlPolicy(CursorControlPolicy dimupt) { |
| | checkModified(dimupt, DIMUPT, $DIMUPT); |
| | DIMUPT = dimupt; |
| | } |
| |
|
| | QString LC_DimStyle::getStyleNameForBaseAndType(const QString& baseName, RS2::EntityType dimType) { |
| | return baseName + getDimStyleNameSuffixForType(dimType); |
| | } |
| |
|
| | QString LC_DimStyle::getDimStyleNameSuffixForType(RS2::EntityType dimType) { |
| | switch (dimType) { |
| | case RS2::EntityDimLinear: |
| | |
| | return "$0"; |
| | case RS2::EntityDimAligned: |
| | return "$1"; |
| | case RS2::EntityDimAngular: |
| | return "$2"; |
| | case RS2::EntityDimDiametric: |
| | return "$3"; |
| | case RS2::EntityDimRadial: |
| | return "$4"; |
| | case RS2::EntityDimOrdinate: |
| | return "$5"; |
| | case RS2::EntityTolerance: |
| | return "$6"; |
| | case RS2::EntityDimLeader: |
| | return "$7"; |
| | default: |
| | return ""; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::parseStyleName(const QString& fullName, QString& baseName, RS2::EntityType& dimensionType) { |
| | qsizetype pos = fullName.indexOf(NAME_SEPARATOR); |
| | if (pos > 0) { |
| | baseName = fullName.left(pos); |
| | QString suffix = fullName.mid(pos + 1); |
| | if (suffix == "0" || suffix == "1") { |
| | dimensionType = RS2::EntityDimLinear; |
| | } |
| | else if (suffix == "2") { |
| | dimensionType = RS2::EntityDimAngular; |
| | } |
| | else if (suffix == "3") { |
| | dimensionType = RS2::EntityDimDiametric; |
| | } |
| | else if (suffix == "4") { |
| | dimensionType = RS2::EntityDimRadial; |
| | } |
| | else if (suffix == "5") { |
| | dimensionType = RS2::EntityDimOrdinate; |
| | } |
| | else if (suffix == "6" || suffix == "7") { |
| | dimensionType = RS2::EntityDimLeader; |
| | } |
| | } |
| | else { |
| | baseName = fullName; |
| | dimensionType = RS2::EntityUnknown; |
| | } |
| | } |
| |
|
| | RS2::EntityType LC_DimStyle::getDimensionType() { |
| | RS2::EntityType type; |
| | QString baseName; |
| | parseStyleName(m_name, baseName, type); |
| | return type; |
| | } |
| |
|
| | QString LC_DimStyle::getBaseName() { |
| | RS2::EntityType type; |
| | QString baseName; |
| | parseStyleName(m_name, baseName, type); |
| | return baseName; |
| | } |
| |
|
| | bool LC_DimStyle::isBaseStyle() { |
| | int dimensionType = getDimensionType(); |
| | return dimensionType == RS2::EntityUnknown; |
| | } |
| |
|
| | bool LC_DimStyle::ModificationAware::checkModifyState(unsigned f) { |
| | switch (m_checkModificationMode) { |
| | case ALL: |
| | return true; |
| | case SET: |
| | return isSet(f); |
| | case UNSET: |
| | return isNotSet(f); |
| | default: |
| | return true; |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(const RS_Color &newValue, const RS_Color ¤tValue, unsigned flag) { |
| | if (!newValue.isEqualIgnoringFlags(currentValue) || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(double newValue, double currentValue, unsigned flag) { |
| | if (RS_Math::notEqual(newValue, currentValue, RS_TOLERANCE) || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(int newValue, int currentValue, unsigned flag) { |
| | if (newValue != currentValue || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(short newValue, short currentValue, unsigned flag) { |
| | if (newValue != currentValue || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(bool newValue, bool currentValue, unsigned flag) { |
| | if (newValue != currentValue || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::checkModified(const QString& newValue, const QString& currentValue, |
| | unsigned flag) { |
| | if (newValue != currentValue || m_checkModificationMode == ALL) { |
| | setFlag(flag); |
| | } |
| | } |
| |
|
| | void LC_DimStyle::ModificationAware::copyFlags(ModificationAware* c) { |
| | c->setFlags(getFlags()); |
| | } |
| |
|