Example #1
0
PXR_NAMESPACE_OPEN_SCOPE


PXRUSDMAYA_DEFINE_READER(UsdGeomMesh, args, context)
{
    const UsdPrim& usdPrim = args.GetUsdPrim();
    MObject parentNode = context->GetMayaNode(usdPrim.GetPath().GetParentPath(), true);
    return UsdMayaTranslatorMesh::Create(
            UsdGeomMesh(usdPrim),
            parentNode,
            args,
            context);
}
Example #2
0
void
UsdImagingMeshAdapter::_GetSubdivTags(UsdPrim const& prim,
                                       SubdivTags* tags,
                                       UsdTimeCode time)
{
    HD_TRACE_FUNCTION();
    HF_MALLOC_TAG_FUNCTION();

    if(!prim.IsA<UsdGeomMesh>())
        return;

    TfToken token; VtIntArray iarray; VtFloatArray farray;

    _GetPtr(prim, UsdGeomTokens->interpolateBoundary, time, &token);
    tags->SetVertexInterpolationRule(token);

    auto meshPrim = UsdGeomMesh(prim);
    token = meshPrim.GetFaceVaryingLinearInterpolation(time);
    tags->SetFaceVaryingInterpolationRule(token);

    // XXX uncomment after fixing USD schema

    //_GetPtr(prim, UsdGeomTokens->creaseMethod, time, &token);
    //tags->SetCreaseMethod(token);

    _GetPtr(prim, UsdGeomTokens->triangleSubdivisionRule, time, &token);
    tags->SetTriangleSubdivision(token);

    _GetPtr(prim, UsdGeomTokens->creaseIndices, time, &iarray);
    tags->SetCreaseIndices(iarray);

    _GetPtr(prim, UsdGeomTokens->creaseLengths, time, &iarray);
    tags->SetCreaseLengths(iarray);

    _GetPtr(prim, UsdGeomTokens->creaseSharpnesses, time, &farray);
    tags->SetCreaseWeights(farray);

    _GetPtr(prim, UsdGeomTokens->cornerIndices, time, &iarray);
    tags->SetCornerIndices(iarray);

    _GetPtr(prim, UsdGeomTokens->cornerSharpnesses, time, &farray);
    tags->SetCornerWeights(farray);

    _GetPtr(prim, UsdGeomTokens->holeIndices, time, &iarray);
    tags->SetHoleIndices(iarray);
}
Example #3
0
File: mesh.cpp Project: mplanck/USD
PXRUSDKATANA_USDIN_PLUGIN_DEFINE(PxrUsdInCore_MeshOp, privateData, interface)
{
    PxrUsdKatanaAttrMap attrs;

    const UsdPrim& prim = privateData.GetUsdPrim();

    PxrUsdKatanaReadMesh(
        UsdGeomMesh(prim), privateData, attrs);

    attrs.toInterface(interface);

    if (TfGetEnvSetting(USD_KATANA_IMPORT_FACESET_API) and 
        UsdShadeMaterial::HasMaterialFaceSet(prim)) 
    {
        _CreateFaceSetsFromFaceSetAPI(prim, privateData, interface);
    }
}