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


C++ OP_Context::getThread方法代码示例

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


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

示例1: readLock

OP_ERROR
GusdOBJ_usdcamera::_Cook(OP_Context& ctx)
{
    _LoadCamera(ctx.getTime(), ctx.getThread());
    
    /* XXX: There's a potential race condition here, between
            loading and stealing cached errors.
            Would be better to keep the camera cache locked
            until the error stealing is done.*/
    
    UT_AutoReadLock readLock(_lock);
    stealErrors(_errors, /*borrow*/ true);
    return error();
}
开发者ID:lvxejay,项目名称:USD,代码行数:14,代码来源:OBJ_usdcamera.cpp

示例2: ctm

int
GusdOBJ_usdcamera::applyInputIndependentTransform(OP_Context& ctx, UT_DMatrix4& mx)
{
    mx.identity();
    fpreal t = ctx.getTime();

    if(UsdGeomCamera cam = _LoadCamera(t, ctx.getThread()))
    {
        float frame = evalFloat(_frameIdx, 0, t);

        GfMatrix4d ctm(1.);
        bool stat = true;
        bool resetsXformStack = false;

        switch(evalInt("xformmode", 0, t))
        {
        case _POSTMULTCTM_TRANSFORM:
            stat = true;
            ctm = cam.ComputeLocalToWorldTransform(frame);
            break;
        case _CTM_TRANSFORM:
            stat = true;
            ctm = cam.ComputeParentToWorldTransform(frame);
            break;
        case _OBJ_TRANSFORM:
            // XXX: how do we reset xformStack here?
            // Is that (or should that
            // be) handled by the Compute calls above?
            stat = cam.GetLocalTransformation(&ctm, &resetsXformStack, frame);
            break;
        default: // _IGNORE_TRANSFORM:
            stat = true;
            ctm.SetIdentity();
            break;
        }
        if(!stat)
        {
            stealErrors(_errors, /*borrow*/ true);
            return 0;
        }

        mx = GusdUT_Gf::Cast(ctm);
    }
    return OBJ_Camera::applyInputIndependentTransform(ctx, mx);
}
开发者ID:lvxejay,项目名称:USD,代码行数:45,代码来源:OBJ_usdcamera.cpp


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