7#ifndef PXR_USD_USD_PRIM_COMPOSITION_QUERY_H
8#define PXR_USD_USD_PRIM_COMPOSITION_QUERY_H
13#include "pxr/usd/usd/api.h"
16#include "pxr/usd/pcp/node.h"
17#include "pxr/usd/pcp/primIndex.h"
21PXR_NAMESPACE_OPEN_SCOPE
98 const SdfLayerHandle &subLayer =
nullptr)
const;
111 const SdfLayerHandle &subLayer =
nullptr)
const;
191 std::string *name)
const;
245 std::shared_ptr<PcpPrimIndex> _primIndex;
280 NotReferenceOrPayload,
281 NotInheritOrSpecialize,
304 IntroducedInRootLayerStack,
308 IntroducedInRootLayerPrimSpec
339 bool operator==(
const Filter &rhs) {
346 bool operator!=(
const Filter &rhs) {
347 return !(*
this == rhs);
392 std::shared_ptr<PcpPrimIndex> _expandedPrimIndex;
393 std::vector<UsdPrimCompositionQueryArc> _unfilteredArcs;
397PXR_NAMESPACE_CLOSE_SCOPE
PcpNode represents a node in an expression tree for compositing scene description.
Represents a set of list editing operations.
A path value used to locate objects in layers or scenegraphs.
Represents a payload and all its meta data.
Represents a reference and all its meta data.
This represents a composition arc that is returned by a UsdPrimCompositionQuery.
USD_API SdfLayerHandle GetIntroducingLayer() const
Returns the specific layer in the layer stack that adds this arc to the composition graph.
USD_API PcpNodeRef GetIntroducingNode() const
Returns the node that introduces this arc into composition graph.
USD_API bool IsAncestral() const
Returns whether this arc is ancestral, i.e.
USD_API bool IsImplicit() const
Returns whether this arc was implicitly added to this prim meaning it exists because of the introduct...
USD_API bool GetIntroducingListEditor(SdfReferenceEditorProxy *editor, SdfReference *ref) const
Gets the list editor and authored SdfReference value that introduces this arc to the composition grap...
USD_API SdfPath GetIntroducingPrimPath() const
Returns the path of the prim that introduces this arc to the composition graph within the layer in wh...
USD_API SdfPath GetTargetPrimPath() const
Returns the path of the prim spec that is targeted by this composition arc in the target layer stack.
USD_API bool GetIntroducingListEditor(SdfNameEditorProxy *editor, std::string *name) const
Gets the list editor and authored string value that introduces this arc to the composition graph for ...
USD_API bool IsIntroducedInRootLayerPrimSpec() const
Returns whether the composition opinion that introduces this arc is authored directly on the prim's p...
USD_API SdfLayerHandle GetTargetLayer() const
Returns the root layer of the layer stack that holds the prim spec targeted by this composition arc.
USD_API bool HasSpecs() const
Returns whether the target node of this arc contributes any local spec opinions that are composed for...
USD_API bool IsIntroducedInRootLayerStack() const
Returns whether the composition opinion that introduces this arc is authored in the root layer stack.
USD_API bool GetIntroducingListEditor(SdfPathEditorProxy *editor, SdfPath *path) const
Gets the list editor and authored SdfPath value that introduced this arc to the composition graph for...
USD_API PcpArcType GetArcType() const
Returns the arc type.
USD_API UsdResolveTarget MakeResolveTargetUpTo(const SdfLayerHandle &subLayer=nullptr) const
Creates and returns a resolve target that, when passed to a UsdAttributeQuery for one of this prim's ...
USD_API UsdResolveTarget MakeResolveTargetStrongerThan(const SdfLayerHandle &subLayer=nullptr) const
Creates and returns a resolve target that, when passed to a UsdAttributeQuery for one of this prim's ...
USD_API PcpNodeRef GetTargetNode() const
Returns the targeted node of this composition arc.
USD_API bool GetIntroducingListEditor(SdfPayloadEditorProxy *editor, SdfPayload *payload) const
Gets the list editor and authored SdfPayload value that introduces this arc to the composition graph ...
Object for making optionally filtered composition queries about a prim.
static USD_API UsdPrimCompositionQuery GetDirectInherits(const UsdPrim &prim)
Returns a prim composition query for the given prim with a preset filter that only returns inherit ar...
USD_API std::vector< UsdPrimCompositionQueryArc > GetCompositionArcs()
Return a list of composition arcs for this query's prim using the current query filter.
static USD_API UsdPrimCompositionQuery GetDirectRootLayerArcs(const UsdPrim &prim)
Returns a prim composition query for the given prim with a preset filter that only returns direct arc...
ArcTypeFilter
Choices for filtering composition arcs based on arc type.
HasSpecsFilter
Choices for filtering composition arcs on whether the node contributes specs to the prim.
USD_API Filter GetFilter() const
Return a copy of the current filter parameters.
static USD_API UsdPrimCompositionQuery GetDirectReferences(const UsdPrim &prim)
Returns a prim composition query for the given prim with a preset filter that only returns reference ...
USD_API UsdPrimCompositionQuery(const UsdPrim &prim, const Filter &filter=Filter())
Create a prim composition query for the with the given option filter.
DependencyTypeFilter
Choices for filtering composition arcs on dependency type.
USD_API void SetFilter(const Filter &filter)
Change the filter for this query.
ArcIntroducedFilter
Choices for filtering composition arcs based on where the arc is introduced.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Defines a subrange of nodes and layers within a prim's prim index to consider when performing value r...
Aggregate filter for filtering composition arcs by the previously defined criteria.
DependencyTypeFilter dependencyTypeFilter
Filters by dependency type, direct or ancestral.
ArcTypeFilter arcTypeFilter
Filters by arc type.
ArcIntroducedFilter arcIntroducedFilter
Filters by where the arc is introduced.
HasSpecsFilter hasSpecsFilter
Filters by whether the arc provides specs for the prim.
PcpArcType
Describes the type of arc connecting two nodes in the prim index.