#include "pxr/pxr.h"
#include "pxr/usd/pcp/api.h"
#include "pxr/usd/pcp/cache.h"
#include "pxr/usd/sdf/path.h"
#include "pxr/usd/sdf/declareHandles.h"
#include "pxr/base/tf/hash.h"
#include "pxr/base/tf/token.h"
#include "pxr/base/vt/value.h"
#include <string>
#include <unordered_map>
#include <vector>
 
Go to the source code of this file.
      
        
          | PCP_API PcpDependentNamespaceEdits PcpGatherDependentNamespaceEdits  | 
          ( | 
          const SdfPath &  | 
          oldPrimPath,  | 
        
        
           | 
           | 
          const SdfPath &  | 
          newPrimPath,  | 
        
        
           | 
           | 
          const SdfLayerHandleVector &  | 
          affectedLayers,  | 
        
        
           | 
           | 
          const PcpLayerStackRefPtr &  | 
          addRelocatesToLayerStack,  | 
        
        
           | 
           | 
          const SdfLayerHandle &  | 
          addRelocatesToLayerStackEditLayer,  | 
        
        
           | 
           | 
          const std::vector< const PcpCache * > &  | 
          dependentCaches  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Given a prim spec move edit from oldPrimPath to newPrimPath and the affectedLayers on which this spec move will be performed, this function finds all prim indexes already cached in each PcpCache in dependentCaches that would be affected by these edits and computes a full set of edits that would be required to maintain these dependent prim indexes' composed prim stacks, possibly moving the prim index to a new prim path if necessary. If addRelocatesToLayerStack is provided, this will also add a new relocates edit to the necessary layers in the layer stack that moves oldPrimPath to newPrimPath. The layer addRelocatesToLayerStackEditLayer provided is only relevant when the relocates layer stack is also provided as it determines which specific layer in the layer stack will have a new relocates entry added to it (see PcpLayerRelocatesEditBuilder). 
 
 
      
        
          | PCP_API SdfLayerHandleVector PcpGatherLayersToEditForSpecMove  | 
          ( | 
          const PcpLayerStackRefPtr &  | 
          layerStack,  | 
        
        
           | 
           | 
          const SdfPath &  | 
          oldSpecPath,  | 
        
        
           | 
           | 
          const SdfPath &  | 
          newSpecPath,  | 
        
        
           | 
           | 
          std::vector< std::string > *  | 
          errors  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Gathers the list of layers that need to be edited to perform the spec move from oldSpecPath to newSpecPath on the given layerStack.
If any errors are encountered where the spec would not be able to performed on a layer that needs to be edited, those errors will be added to errors. Layers with errors are still included in the returned result regardless.