7#ifndef PXR_USD_USD_STAGE_POPULATION_MASK_H
8#define PXR_USD_USD_STAGE_POPULATION_MASK_H
11#include "pxr/usd/usd/api.h"
12#include "pxr/usd/sdf/path.h"
17PXR_NAMESPACE_OPEN_SCOPE
66 _ValidateAndNormalize();
133 return _paths.empty();
143 std::vector<TfToken> *childNames)
const;
165 return _paths == other._paths;
170 return !(*
this == other);
175 _paths.swap(other._paths);
181 USD_API
void _ValidateAndNormalize();
183 std::vector<SdfPath> _paths;
199PXR_NAMESPACE_CLOSE_SCOPE
A path value used to locate objects in layers or scenegraphs.
static SDF_API const SdfPath & AbsoluteRootPath()
The absolute path representing the top of the namespace hierarchy.
This class represents a mask that may be applied to a UsdStage to limit the set of UsdPrim s it popul...
USD_API bool IncludesSubtree(SdfPath const &path) const
Return true if this mask includes path and all paths descendant to path.
UsdStagePopulationMask & Add(SdfPath const &path)
Assign this mask to be its union with path and return a reference to this mask.
USD_API bool GetIncludedChildNames(SdfPath const &path, std::vector< TfToken > *childNames) const
Return true if this mask includes any child prims beneath path, false otherwise.
USD_API bool Includes(UsdStagePopulationMask const &other) const
Return true if this mask is a superset of other.
UsdStagePopulationMask()=default
Construct an empty mask that includes no paths.
static UsdStagePopulationMask All()
Return a mask that includes all paths.
static USD_API UsdStagePopulationMask Union(UsdStagePopulationMask const &l, UsdStagePopulationMask const &r)
Return a mask that is the union of l and r.
USD_API UsdStagePopulationMask GetIntersection(UsdStagePopulationMask const &other) const
Return a mask that is the intersection of this and other.
UsdStagePopulationMask(Iter f, Iter l)
Construct a mask from the range of paths [f, l).
bool IsEmpty() const
Return true if this mask contains no paths.
UsdStagePopulationMask & Add(UsdStagePopulationMask const &other)
Assign this mask to be its union with other and return a reference to this mask.
static USD_API UsdStagePopulationMask Intersection(UsdStagePopulationMask const &l, UsdStagePopulationMask const &r)
Return a mask that is the intersection of l and r.
UsdStagePopulationMask(std::vector< SdfPath > const &paths)
Construct a mask from paths.
USD_API bool Includes(SdfPath const &path) const
Return true if this mask includes path.
USD_API UsdStagePopulationMask(std::vector< SdfPath > &&paths)
Construct a mask from paths.
bool operator==(UsdStagePopulationMask const &other) const
Return true if this mask is equivalent to other.
USD_API std::vector< SdfPath > GetPaths() const
Return the set of paths that define this mask.
void swap(UsdStagePopulationMask &other)
Swap the content of this mask with other.
USD_API UsdStagePopulationMask GetUnion(UsdStagePopulationMask const &other) const
Return a mask that is the union of this and other.
bool operator!=(UsdStagePopulationMask const &other) const
Return true if this mask is not equivalent to other.
USD_API UsdStagePopulationMask GetUnion(SdfPath const &path) const
Return a mask that is the union of this and a mask containing the single path.
GF_API std::ostream & operator<<(std::ostream &, const GfBBox3d &)
Output a GfBBox3d using the format [(range) matrix zeroArea].
size_t hash_value(const half h)
Overload hash_value for half.