7 #ifndef PXR_USD_VALIDATION_USD_VALIDATION_VALIDATOR_H 8 #define PXR_USD_VALIDATION_USD_VALIDATION_VALIDATOR_H 16 #include "pxr/usd/usd/timeCode.h" 17 #include "pxr/usdValidation/usdValidation/api.h" 19 #include "pxr/usdValidation/usdValidation/fixer.h" 26 PXR_NAMESPACE_OPEN_SCOPE
29 using UsdValidationErrorVector = std::vector<UsdValidationError>;
91 using UsdValidationValidatorMetadataVector
92 = std::vector<UsdValidationValidatorMetadata>;
105 const SdfLayerHandle &)>;
160 std::vector<UsdValidationFixer> fixers = {});
167 std::vector<UsdValidationFixer> fixers = {});
174 std::vector<UsdValidationFixer> fixers = {});
185 return std::move(_metadata);
191 const std::vector<const UsdValidationFixer *>
GetFixers()
const;
204 const TfToken &errorName)
const;
233 UsdValidationErrorVector
Validate(
const SdfLayerHandle &layer)
const;
247 const UsdStagePtr &usdStage,
281 std::vector<UsdValidationFixer> _fixers;
297 void _ValidateFixerNames()
const;
325 const std::vector<const UsdValidationValidator *> &validators);
339 const std::vector<const UsdValidationValidator *> &
342 return _containedValidators;
352 return std::move(_containedValidators);
364 return std::move(_metadata);
369 std::vector<const UsdValidationValidator *> _containedValidators;
372 PXR_NAMESPACE_CLOSE_SCOPE
374 #endif // PXR_USD_VALIDATION_USD_VALIDATION_VALIDATOR_H bool isTimeDependent
whether this test is time dependent or not.
const UsdValidationValidatorMetadata & GetMetadata() const &
Return metadata associated with this Validator.
USDVALIDATION_API const UsdValidationFixer * GetFixerByNameAndErrorName(const TfToken &name, const TfToken &errorName) const
Return an immutable fixer given its name and catering to a specific errorName if it exists,...
USDVALIDATION_API UsdValidationValidatorSuite(const UsdValidationValidatorMetadata &metadata, const std::vector< const UsdValidationValidator * > &validators)
Instantiate UsdValidationValidatorSuite using metadata and a vector of validators.
USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixersByKeywords(const TfTokenVector &keywords) const
Return a vector of immutable fixers catering to any of the given keywords.
USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixersByErrorName(const TfToken &errorName) const
Return a vector of immutable fixers catering to a specific errorName.
USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixers() const
Return a vector of immutable fixers associated with this Validator.
A class which describes the interval at which validation is to be performed.
A UsdValidationFixer represents a fix that can be applied to fix a specific validation error.
UsdValidationValidator is a class describing a single test.
USDVALIDATION_API UsdValidationErrorVector Validate(const SdfLayerHandle &layer) const
Run validation on the given layer by executing the contained validateTaskFn and returns UsdValidation...
std::function< UsdValidationErrorVector(const UsdStagePtr &, const UsdValidationTimeRange)> UsdValidateStageTaskFn
UsdValidateStageTaskFn: Validation logic operating on a given UsdStage.
UsdValidationError is an entity returned by a validation task, which is associated with a UsdValidati...
UsdValidationValidatorSuite acts like a suite for a collection of tests, which clients can use to bun...
TfToken name
Name of the validator.
TfTokenVector schemaTypes
list of schemaTypes names this test applies to, extracted from plugInfo.json
std::function< UsdValidationErrorVector(const SdfLayerHandle &)> UsdValidateLayerTaskFn
UsdValidateLayerTaskFn: Validation logic operating on a given SdfLayerHandle.
Token for efficient comparison, assignment, and hashing of known strings.
UsdValidationValidatorMetadata GetMetadata() &&
Return metadata associated with this validator by-value.
USDVALIDATION_API UsdValidationValidator(const UsdValidationValidatorMetadata &metadata)
Instantiate a UsdValidationValidator which has no validation logic implementation.
const std::vector< const UsdValidationValidator * > & GetContainedValidators() const &
Returns a vector of const UsdValidationValidator pointers, which make this UsdValidationValidatorSuit...
const UsdValidationValidatorMetadata & GetMetadata() const &
Return metadata associated with this validator.
std::vector< const UsdValidationValidator * > GetContainedValidators() &&
Returns a vector of const UsdValidationValidator pointers, which make this UsdValidationValidatorSuit...
std::string doc
doc string extracted from plugInfo.json This is a mandatory field for a ValidatorMetadata.
TfTokenVector keywords
list of keywords extracted for this test from the plugInfo.json
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
std::vector< TfToken > TfTokenVector
Convenience types.
UsdValidationRegistry manages and provides access to UsdValidationValidator / UsdValidationValidatorS...
PlugPluginPtr pluginPtr
Pointer to the plugin to which a plugin based validator belongs.
std::function< UsdValidationErrorVector(const UsdPrim &, const UsdValidationTimeRange)> UsdValidatePrimTaskFn
UsdValidatePrimTaskFn: Validation logic operating on a given UsdPrim.
USDVALIDATION_API const UsdValidationFixer * GetFixerByName(const TfToken &name) const
Return an immutable fixer given its name if it exists, else return nullptr.
UsdValidationValidatorMetadata GetMetadata() &&
Return metadata associated with this validator.
bool isSuite
whether this test represents a test suite or not, default is false.
UsdValidationContext provides an interface for managing and running validators on USD layers,...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...