PdmPanelizerUtil Class

Header: #include <PdmPanelizerUtil>

Static Public Members

QString arrowType2String(const Qt::ArrowType &iArrowType)
void calcFitness(QList<ShapeCalcInfo> &iPcbList, const PanelizerParam &iPanelizerParam)
qreal calcGravityValue(const QPointF &iGravityCenter)
qreal calcPath2PathBottomDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.000001)
qreal calcPath2PathDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.001)
qreal calcPath2PathRightDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.000001)
QVector<QPointF> calcPcbLayoutTryPoints(QVector<QRectF> &oOccupiedRects, const QList<ShapeNestInfo> iCurrentShapeList, const PanelizerParam &iPanelizerParam)
ShapeNestInfo calcPcbNestLayout(const ShapeCalcInfo &iPcb, QPair<int, int> iMxN, int iPcbAngle, int iNestAngle, const PanelizerParam &iPanelizerParam)
QList<ShapeNestInfo> calcPcbNestMxN(const ShapeCalcInfo &iPcb, const PanelizerParam &iPanelizerParam)
QList<ShapeNestInfo> calcPcbPanelLayout(const QList<ShapeCalcInfo> &iPcbList, const PanelizerParam &iPanelizerParam)
void calcStepMinGap(const QVector<StepSite> &iStepRepeat, Qt::Orientation iOrientation, qreal &oMinA2aGap, qreal &oMinA2cGap, qreal &oMinC2cGap)
bool couponPrecedence()
SizeRange createSizeRange(const QSizeF &iSize, qreal iRange)
PdmPanelizerDebugger *debugger()
bool digitListCompare(const QVector<qreal> &iSourceList, const QVector<qreal> iTargetList, const QString &iType, bool iComperType = false, qreal iTolerance = 0.0001)
Qt::ArrowType getRotateArrow(const Qt::ArrowType &iArrowType, int iAngle)
QVariantList getRowOrderlyList(const QPointF &iPos, QVariantList &oList, qreal iXDistance)
QPointF getStepPos(const QVariantMap &iStepInfo)
QVector<qreal> initGapList(const QVariant &iGap)
bool layoutPcbNestToPanel(ShapeNestInfo &oNestInfo, const QVector<QPointF> &iTryPoints, const QVector<QRectF> &iOccupiedRects, const PanelizerParam &iPanelizerParam)
QVector<QPointF> lineIntersectedPath(const QPainterPath &iPath, const QLineF &iLine)
QVector<qreal> margins2List(const QMarginsF &iSourceMargins)
int numIndexInNumList(const QVector<qreal> &iNumList, qreal iNum)
bool optimizedC()
QPainterPath readPainterPath(const QString &iPainterPathFile)
QPainterPath resizePainterPath(const QPainterPath &iPainterPath, double iSize, bool iNeedVerify = true)
QMarginsF rotateMarginsF(const QMarginsF &iMargins)
void savePainterPath(const QPainterPath &iPainterPath, const QString &iFile)
void setCouponPrecedence(bool iBool)
void setDebugger(PdmPanelizerDebugger *iDebugger)
void setOptimizedC(bool iBool)
QVariantList simplifiedStepRepeat(const QVariantList &iStepRepeat)
bool sizeRangeContain(const SizeRange &iSizeRange, const QSizeF &iSize)
Qt::ArrowType string2ArrowType(const QString &iArrowType)

Detailed Description

Member Function Documentation

[static] QString PdmPanelizerUtil::arrowType2String(const Qt::ArrowType &iArrowType)

[static] void PdmPanelizerUtil::calcFitness(QList<ShapeCalcInfo> &iPcbList, const PanelizerParam &iPanelizerParam)

[static] qreal PdmPanelizerUtil::calcGravityValue(const QPointF &iGravityCenter)

计算重心评估值;
iGravityCenter Returns

[static] qreal PdmPanelizerUtil::calcPath2PathBottomDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.000001)

[static] qreal PdmPanelizerUtil::calcPath2PathDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.001)

[static] qreal PdmPanelizerUtil::calcPath2PathRightDis(const QPainterPath &iPath1, const QPainterPath &iPath2, qreal iTolerance = 0.000001)

[static] QVector<QPointF> PdmPanelizerUtil::calcPcbLayoutTryPoints(QVector<QRectF> &oOccupiedRects, const QList<ShapeNestInfo> iCurrentShapeList, const PanelizerParam &iPanelizerParam)

计算出用于Pcb排版时所有可以用于尝试的点 Returns

[static] ShapeNestInfo PdmPanelizerUtil::calcPcbNestLayout(const ShapeCalcInfo &iPcb, QPair<int, int> iMxN, int iPcbAngle, int iNestAngle, const PanelizerParam &iPanelizerParam)

计算Pcb的Array组合图表;
iPcb : Pcb信息;
iMxN : M*N的组合,如2*3,1*6;
pcbAngle : Pcb旋转角度;
nestAngle : 组合后的旋转角度; Returns 返回组合信息;

[static] QList<ShapeNestInfo> PdmPanelizerUtil::calcPcbNestMxN(const ShapeCalcInfo &iPcb, const PanelizerParam &iPanelizerParam)

计算Pcb所有可能的M*N的组合方式;
iPcb Returns

[static] QList<ShapeNestInfo> PdmPanelizerUtil::calcPcbPanelLayout(const QList<ShapeCalcInfo> &iPcbList, const PanelizerParam &iPanelizerParam)

计算Pcb在母板中的具体排版位置;
iPcbList : Pcb列表; Returns 返是否能排版成功;

[static] void PdmPanelizerUtil::calcStepMinGap(const QVector<StepSite> &iStepRepeat, Qt::Orientation iOrientation, qreal &oMinA2aGap, qreal &oMinA2cGap, qreal &oMinC2cGap)

[static] bool PdmPanelizerUtil::couponPrecedence()

See also setCouponPrecedence().

[static] SizeRange PdmPanelizerUtil::createSizeRange(const QSizeF &iSize, qreal iRange)

[static] PdmPanelizerDebugger *PdmPanelizerUtil::debugger()

See also setDebugger().

[static] bool PdmPanelizerUtil::digitListCompare(const QVector<qreal> &iSourceList, const QVector<qreal> iTargetList, const QString &iType, bool iComperType = false, qreal iTolerance = 0.0001)

[static] Qt::ArrowType PdmPanelizerUtil::getRotateArrow(const Qt::ArrowType &iArrowType, int iAngle)

[static] QVariantList PdmPanelizerUtil::getRowOrderlyList(const QPointF &iPos, QVariantList &oList, qreal iXDistance)

[static] QPointF PdmPanelizerUtil::getStepPos(const QVariantMap &iStepInfo)

[static] QVector<qreal> PdmPanelizerUtil::initGapList(const QVariant &iGap)

[static] bool PdmPanelizerUtil::layoutPcbNestToPanel(ShapeNestInfo &oNestInfo, const QVector<QPointF> &iTryPoints, const QVector<QRectF> &iOccupiedRects, const PanelizerParam &iPanelizerParam)

尝试将Pcb组合排到Panel上,找出最低的位置;
nestInfo : Pcb组合信息;
iTryPoints : Panel上可以尝试的放置点;
iOccupiedRects : Panel上已经被占用的空间; Returns

[static] QVector<QPointF> PdmPanelizerUtil::lineIntersectedPath(const QPainterPath &iPath, const QLineF &iLine)

[static] QVector<qreal> PdmPanelizerUtil::margins2List(const QMarginsF &iSourceMargins)

[static] int PdmPanelizerUtil::numIndexInNumList(const QVector<qreal> &iNumList, qreal iNum)

[static] bool PdmPanelizerUtil::optimizedC()

See also setOptimizedC().

[static] QPainterPath PdmPanelizerUtil::readPainterPath(const QString &iPainterPathFile)

[static] QPainterPath PdmPanelizerUtil::resizePainterPath(const QPainterPath &iPainterPath, double iSize, bool iNeedVerify = true)

[static] QMarginsF PdmPanelizerUtil::rotateMarginsF(const QMarginsF &iMargins)

[static] void PdmPanelizerUtil::savePainterPath(const QPainterPath &iPainterPath, const QString &iFile)

[static] void PdmPanelizerUtil::setCouponPrecedence(bool iBool)

See also couponPrecedence().

[static] void PdmPanelizerUtil::setDebugger(PdmPanelizerDebugger *iDebugger)

See also debugger().

[static] void PdmPanelizerUtil::setOptimizedC(bool iBool)

See also optimizedC().

[static] QVariantList PdmPanelizerUtil::simplifiedStepRepeat(const QVariantList &iStepRepeat)

[static] bool PdmPanelizerUtil::sizeRangeContain(const SizeRange &iSizeRange, const QSizeF &iSize)

[static] Qt::ArrowType PdmPanelizerUtil::string2ArrowType(const QString &iArrowType)