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"
25PXR_NAMESPACE_OPEN_SCOPE
28using UsdValidationErrorVector = std::vector<UsdValidationError>;
90using UsdValidationValidatorMetadataVector
91 = std::vector<UsdValidationValidatorMetadata>;
104 const SdfLayerHandle &)>;
174 return std::move(_metadata);
183 UsdValidationErrorVector
Validate(
const SdfLayerHandle &layer)
const;
197 const UsdStagePtr &usdStage,
269 const std::vector<const UsdValidationValidator *> &validators);
286 return _containedValidators;
296 return std::move(_containedValidators);
308 return std::move(_metadata);
313 std::vector<const UsdValidationValidator *> _containedValidators;
316PXR_NAMESPACE_CLOSE_SCOPE
Token for efficient comparison, assignment, and hashing of known strings.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
UsdValidationContext provides an interface for managing and running validators on USD layers,...
UsdValidationError is an entity returned by a validation task, which is associated with a UsdValidati...
UsdValidationRegistry manages and provides access to UsdValidationValidator / UsdValidationValidatorS...
A class which describes the interval at which validation is to be performed.
UsdValidationValidator is a class describing a single test.
USDVALIDATION_API UsdValidationErrorVector Validate(const UsdPrim &usdPrim, const UsdValidationTimeRange &timeRange={}) const
Run validation on the given usdPrim by executing the contained validateTaskFn and returns UsdValidati...
USDVALIDATION_API UsdValidationErrorVector Validate(const SdfLayerHandle &layer) const
Run validation on the given layer by executing the contained validateTaskFn and returns UsdValidation...
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 UsdValidationValidatorMetadata & GetMetadata() const &
Return metadata associated with this Validator.
USDVALIDATION_API UsdValidationErrorVector Validate(const UsdStagePtr &usdStage, const UsdValidationTimeRange &timeRange={}) const
Run validation on the given usdStage by executing the contained validateTaskFn and returns UsdValidat...
UsdValidationValidatorSuite acts like a suite for a collection of tests, which clients can use to bun...
USDVALIDATION_API UsdValidationValidatorSuite(const UsdValidationValidatorMetadata &metadata, const std::vector< const UsdValidationValidator * > &validators)
Instantiate UsdValidationValidatorSuite using metadata and a vector of validators.
UsdValidationValidatorMetadata GetMetadata() &&
Return metadata associated with this validator.
std::vector< const UsdValidationValidator * > GetContainedValidators() &&
Returns a vector of const UsdValidationValidator pointers, which make this UsdValidationValidatorSuit...
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::function< UsdValidationErrorVector(const UsdPrim &, const UsdValidationTimeRange)> UsdValidatePrimTaskFn
UsdValidatePrimTaskFn: Validation logic operating on a given UsdPrim.
std::function< UsdValidationErrorVector(const SdfLayerHandle &)> UsdValidateLayerTaskFn
UsdValidateLayerTaskFn: Validation logic operating on a given SdfLayerHandle.
std::function< UsdValidationErrorVector(const UsdStagePtr &, const UsdValidationTimeRange)> UsdValidateStageTaskFn
UsdValidateStageTaskFn: Validation logic operating on a given UsdStage.
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.
bool isTimeDependent
whether this test is time dependent or not.
PlugPluginPtr pluginPtr
Pointer to the plugin to which a plugin based validator belongs.
bool isSuite
whether this test represents a test suite or not
TfTokenVector schemaTypes
list of schemaTypes names this test applies to, extracted from plugInfo.json
TfTokenVector keywords
list of keywords extracted for this test from the plugInfo.json
std::string doc
doc string extracted from plugInfo.json This is a mandatory field for a ValidatorMetadata.
TfToken name
Name of the validator.