Loading...
Searching...
No Matches
UsdValidationValidator Class Reference

UsdValidationValidator is a class describing a single test. More...

#include <validator.h>

Public Member Functions

USDVALIDATION_API UsdValidationValidator (const UsdValidationValidatorMetadata &metadata)
 Instantiate a UsdValidationValidator which has no validation logic implementation.
 
 UsdValidationValidator (const UsdValidationValidator &other)=delete
 
UsdValidationValidatoroperator= (const UsdValidationValidator &)=delete
 
 UsdValidationValidator (UsdValidationValidator &&other) noexcept=default
 
UsdValidationValidatoroperator= (UsdValidationValidator &&) noexcept=default
 
USDVALIDATION_API UsdValidationValidator (const UsdValidationValidatorMetadata &metadata, const UsdValidateLayerTaskFn &validateLayerTaskFn, std::vector< UsdValidationFixer > fixers={})
 Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidateLayerTaskFn.
 
USDVALIDATION_API UsdValidationValidator (const UsdValidationValidatorMetadata &metadata, const UsdValidateStageTaskFn &validateStageTaskFn, std::vector< UsdValidationFixer > fixers={})
 Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidateStageTaskFn.
 
USDVALIDATION_API UsdValidationValidator (const UsdValidationValidatorMetadata &metadata, const UsdValidatePrimTaskFn &validatePrimTaskFn, std::vector< UsdValidationFixer > fixers={})
 Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidatePrimTaskFn.
 
const UsdValidationValidatorMetadataGetMetadata () const &
 Return metadata associated with this Validator.
 
UsdValidationValidatorMetadata GetMetadata () &&
 Return metadata associated with this validator by-value.
 
USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixers () const
 Return a vector of immutable fixers associated with this Validator.
 
USDVALIDATION_API const UsdValidationFixerGetFixerByName (const TfToken &name) const
 Return an immutable fixer given its name if it exists, else return nullptr.
 
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 UsdValidationFixerGetFixerByNameAndErrorName (const TfToken &name, const TfToken &errorName) const
 Return an immutable fixer given its name and catering to a specific errorName if it exists, else return nullptr.
 
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 UsdValidationErrorVector Validate (const SdfLayerHandle &layer) const
 Run validation on the given layer by executing the contained validateTaskFn and returns UsdValidationErrorVector.
 
USDVALIDATION_API UsdValidationErrorVector Validate (const UsdStagePtr &usdStage, const UsdValidationTimeRange &timeRange={}) const
 Run validation on the given usdStage by executing the contained validateTaskFn and returns UsdValidationErrorVector.
 
USDVALIDATION_API UsdValidationErrorVector Validate (const UsdPrim &usdPrim, const UsdValidationTimeRange &timeRange={}) const
 Run validation on the given usdPrim by executing the contained validateTaskFn and returns UsdValidationErrorVector.
 

Friends

class UsdValidationRegistry
 
class UsdValidationContext
 

Detailed Description

UsdValidationValidator is a class describing a single test.

An instance of UsdValidationValidator is created when plugins are loaded and tests are registered and cached in the UsdValidationRegistry. UsdValidationValidator can consist of any one of the 3 testing tasks: LayerTestingTask, StageTestingTask or PrimTestingTask, which correspond to testing the given SdfLayer, an entire UsdStage or a UsdPrim respectively.

UsdValidationValidator instances are immutable and non-copyable. Note that all validators which are registered with the UsdValidationRegistry are immortal.

A UsdValidationValidator can optionally provide a list of fixers, which clients can use to fix specific errors reported by the validator. Note that these fixers must have unique names within the context of a validator. If not unique, a coding error is issued during the construction of the UsdValidationValidator instance.

See also
UsdValidationRegistry
UsdValidationFixer

Definition at line 137 of file validator.h.

Constructor & Destructor Documentation

◆ UsdValidationValidator() [1/4]

USDVALIDATION_API UsdValidationValidator ( const UsdValidationValidatorMetadata metadata)
explicit

Instantiate a UsdValidationValidator which has no validation logic implementation.

This is primarily used by UsdValidationValidatorSuite.

◆ UsdValidationValidator() [2/4]

USDVALIDATION_API UsdValidationValidator ( const UsdValidationValidatorMetadata metadata,
const UsdValidateLayerTaskFn validateLayerTaskFn,
std::vector< UsdValidationFixer fixers = {} 
)

Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidateLayerTaskFn.

◆ UsdValidationValidator() [3/4]

USDVALIDATION_API UsdValidationValidator ( const UsdValidationValidatorMetadata metadata,
const UsdValidateStageTaskFn validateStageTaskFn,
std::vector< UsdValidationFixer fixers = {} 
)

Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidateStageTaskFn.

◆ UsdValidationValidator() [4/4]

USDVALIDATION_API UsdValidationValidator ( const UsdValidationValidatorMetadata metadata,
const UsdValidatePrimTaskFn validatePrimTaskFn,
std::vector< UsdValidationFixer fixers = {} 
)

Instantiate a UsdValidationValidator which has its validation logic implemented by a UsdValidatePrimTaskFn.

Member Function Documentation

◆ GetFixerByName()

USDVALIDATION_API const UsdValidationFixer * GetFixerByName ( const TfToken name) const

Return an immutable fixer given its name if it exists, else return nullptr.

◆ GetFixerByNameAndErrorName()

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, else return nullptr.

◆ GetFixers()

USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixers ( ) const

Return a vector of immutable fixers associated with this Validator.

◆ GetFixersByErrorName()

USDVALIDATION_API const std::vector< const UsdValidationFixer * > GetFixersByErrorName ( const TfToken errorName) const

Return a vector of immutable fixers catering to a specific errorName.

◆ GetFixersByKeywords()

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.

Fixers can be associated with keywords, like show, department, etc. which can be used to filter fixers based on the context in which they are being queried.

Note that the returned list contains fixers which have any of the provided keywords, the fixers do not have to have all of the keywords to be returned.

◆ GetMetadata() [1/2]

UsdValidationValidatorMetadata GetMetadata ( ) &&
inline

Return metadata associated with this validator by-value.

Definition at line 183 of file validator.h.

◆ GetMetadata() [2/2]

const UsdValidationValidatorMetadata & GetMetadata ( ) const &
inline

Return metadata associated with this Validator.

Definition at line 177 of file validator.h.

◆ Validate() [1/3]

USDVALIDATION_API UsdValidationErrorVector Validate ( const SdfLayerHandle &  layer) const

Run validation on the given layer by executing the contained validateTaskFn and returns UsdValidationErrorVector.

If this Validator doesn't provide a UsdValidateLayerTaskFn, then an empty vector is returned, which signifies no error.

◆ Validate() [2/3]

USDVALIDATION_API UsdValidationErrorVector Validate ( const UsdPrim usdPrim,
const UsdValidationTimeRange timeRange = {} 
) const

Run validation on the given usdPrim by executing the contained validateTaskFn and returns UsdValidationErrorVector.

timeRange is used to evaluate the prims and their properties in the stage at a specific time or interval. If no timeRange is provided, then full time interval is used by validation callback's implementation.

If this Validator doesn't provide a UsdValidatePrimTaskFn, then an empty vector is returned, which signifies no error.

◆ Validate() [3/3]

USDVALIDATION_API UsdValidationErrorVector Validate ( const UsdStagePtr &  usdStage,
const UsdValidationTimeRange timeRange = {} 
) const

Run validation on the given usdStage by executing the contained validateTaskFn and returns UsdValidationErrorVector.

timeRange is used to evaluate the prims and their properties in the stage at a specific time or interval. If no timeRange is provided, then full time interval is used by validation callback's implementation.

If this Validator doesn't provide a UsdValidateStageTaskFn, then an empty vector is returned, which signifies no error.

Friends And Related Function Documentation

◆ UsdValidationContext

friend class UsdValidationContext
friend

Definition at line 274 of file validator.h.

◆ UsdValidationRegistry

friend class UsdValidationRegistry
friend

Definition at line 270 of file validator.h.


The documentation for this class was generated from the following file: