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().