当前位置: 首页>>代码示例>>C++>>正文


C++ Box2d::set方法代码示例

本文整理汇总了C++中Box2d::set方法的典型用法代码示例。如果您正苦于以下问题:C++ Box2d::set方法的具体用法?C++ Box2d::set怎么用?C++ Box2d::set使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Box2d的用法示例。


在下文中一共展示了Box2d::set方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: GiTransformImpl

    GiTransformImpl(bool _ydown)
        : cxWnd(1), cyWnd(1), dpiX(96), dpiY(96), ydown(_ydown), viewScale(1)
        , zoomEnabled(true), tmpViewScale(1.f), zoomTimes(0)
    {
        minViewScale = 0.01f;   // 最小显示比例为1%
        maxViewScale = 5.f;     // 最大显示比例为500%
        rectLimitsW.set(Point2d::kOrigin(), 2e5f, 2e5f);

        updateTransforms();
    }
开发者ID:wangzhengnan,项目名称:vgcore,代码行数:10,代码来源:gixform.cpp

示例2: moveRectHandle

void mgnear::moveRectHandle(Box2d& rect, int index, 
                              const Point2d& pt, bool lockCornerScale)
{
    Point2d pts[4];

    for (int i = 0; i < 4; i++)
        mgnear::getRectHandle(rect, index / 4 * 4 + i, pts[i]);
    pts[index % 4] = pt;

    if (index >= 0 && index < 4)
    {
        Point2d pt1(pt);
        
        if (lockCornerScale && !rect.isEmpty()) {
            Point2d& pt2 = pts[(index + 2) % 4];
            float w = fabsf(pt2.x - pt.x);
            float h = fabsf(pt2.y - pt.y);
            
            if (w * rect.height() > h * rect.width())
                h = w * rect.height() / rect.width();
            else
                w = h * rect.width() / rect.height();
            
            pt1.x = pt2.x + w * (pt2.x > pt.x ? -1.f : 1.f);
            pt1.y = pt2.y + h * (pt2.y > pt.y ? -1.f : 1.f);
        }
        if (index % 2 == 0)
        {
            pts[(index + 1) % 4].y = pt1.y;
            pts[(index + 3) % 4].x = pt1.x;
        }
        else
        {
            pts[(index + 1) % 4].x = pt1.x;
            pts[(index + 3) % 4].y = pt1.y;
        }
        rect.set(4, pts);
    }
    else if (index >= 4 && index < 8)
    {
        rect.set(pts[3].x, pts[2].y, pts[1].x, pts[0].y);
    }
}
开发者ID:codingBobo,项目名称:vgcore,代码行数:43,代码来源:mgnear.cpp


注:本文中的Box2d::set方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。