|
HDK
|
#include "pxr/pxr.h"#include "pxr/imaging/hd/api.h"#include "pxr/imaging/hd/dataSourceLocator.h"#include "pxr/base/tf/token.h"#include "pxr/base/vt/value.h"#include "pxr/base/vt/visitValue.h"#include <iosfwd>#include <memory>#include <vector>#include <atomic>
Include dependency graph for dataSource.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | HdDataSourceBase |
| class | HdContainerDataSource |
| class | HdVectorDataSource |
| class | HdSampledDataSource |
| class | HdTypedSampledDataSource< T > |
| class | HdBlockDataSource |
| class | Hd_SampledDataSourceDefaultValueAccessor |
| struct | Hd_CopySampledDataSourceTypeVisitor< T, DataSource, UntypedDataSource > |
Macros | |
| #define | HD_DECLARE_DATASOURCE_ABSTRACT(type) |
| #define | HD_DECLARE_DATASOURCE(type) |
| #define | HD_DECLARE_DATASOURCE_INITIALIZER_LIST_NEW(type, T) |
| #define | HD_DECLARE_DATASOURCE_HANDLES(type) |
Functions | |
| HD_DECLARE_DATASOURCE_HANDLES (HdDataSourceBase) | |
| HD_DECLARE_DATASOURCE_HANDLES (HdContainerDataSource) | |
| HD_DECLARE_DATASOURCE_HANDLES (HdVectorDataSource) | |
| HD_DECLARE_DATASOURCE_HANDLES (HdSampledDataSource) | |
| HD_DECLARE_DATASOURCE_HANDLES (HdBlockDataSource) | |
| template<template< class T, class...> class Visitor, typename... TypeArgs, typename... FnArgs> | |
| auto | HdVisitSampledDataSourceType (const HdSampledDataSourceHandle &dataSource, FnArgs &&...args) |
| template<template< class T, template< class...> class, class...> class Visitor, template< class...> class Tmpl, typename... TypeArgs, typename... FnArgs> | |
| auto | HdVisitSampledDataSourceType (const HdSampledDataSourceHandle &dataSource, FnArgs &&...args) |
| template<template< typename...> class DataSource, class UntypedDataSource = void, typename... Args> | |
| HdDataSourceBaseHandle | HdCopySampledDataSourceType (const HdSampledDataSourceHandle &dataSource, Args &&...args) |
| HD_API bool | HdGetMergedContributingSampleTimesForInterval (size_t count, const HdSampledDataSourceHandle *inputDataSources, HdSampledDataSource::Time startTime, HdSampledDataSource::Time endTime, std::vector< HdSampledDataSource::Time > *outSampleTimes) |
| Merges contributing sample times from several data sources. More... | |
| HD_API void | HdDebugPrintDataSource (std::ostream &, HdDataSourceBaseHandle, int indentLevel=0) |
| Print a datasource to a stream, for debugging/testing. More... | |
| HD_API void | HdDebugPrintDataSource (HdDataSourceBaseHandle, int indentLevel=0) |
| Print a datasource to stdout, for debugging/testing. More... | |
| #define HD_DECLARE_DATASOURCE | ( | type | ) |
HD_DECLARE_DATASOURCE Used for instantiable classes, this defines functions for manipulating and allocating handles to this type of datasource.
Use of this macro in derived classes is important to make sure that core and client code share the same handle type and allocator.
Definition at line 53 of file dataSource.h.
| #define HD_DECLARE_DATASOURCE_ABSTRACT | ( | type | ) |
HD_DECLARE_DATASOURCE_ABSTRACT Used for non-instantiable classes, this defines a set of functions for manipulating handles to this type of datasource.
Definition at line 29 of file dataSource.h.
| #define HD_DECLARE_DATASOURCE_HANDLES | ( | type | ) |
Definition at line 68 of file dataSource.h.
| #define HD_DECLARE_DATASOURCE_INITIALIZER_LIST_NEW | ( | type, | |
| T | |||
| ) |
HD_DECLARE_DATASOURCE_INITIALIZER_LIST_NEW Used for declaring a New function for datasource types that have a constructor that takes an initializer_list<T>.
Definition at line 63 of file dataSource.h.
| HD_DECLARE_DATASOURCE_HANDLES | ( | HdDataSourceBase | ) |
| HD_DECLARE_DATASOURCE_HANDLES | ( | HdContainerDataSource | ) |
| HD_DECLARE_DATASOURCE_HANDLES | ( | HdVectorDataSource | ) |
| HD_DECLARE_DATASOURCE_HANDLES | ( | HdSampledDataSource | ) |
| HD_DECLARE_DATASOURCE_HANDLES | ( | HdBlockDataSource | ) |
| HdDataSourceBaseHandle HdCopySampledDataSourceType | ( | const HdSampledDataSourceHandle & | dataSource, |
| Args &&... | args | ||
| ) |
Helper function to create a new typed data source with the same type as the input sampled data source. DataSource<T>::New will be returned using the provided args. For untyped input data sources nullptr or UntypedDataSource::New will be returned (if UntypedDataSource was provided).
Definition at line 330 of file dataSource.h.
| HD_API void HdDebugPrintDataSource | ( | std::ostream & | , |
| HdDataSourceBaseHandle | , | ||
| int | indentLevel = 0 |
||
| ) |
Print a datasource to a stream, for debugging/testing.
Print a datasource to stdout, for debugging/testing.
| HD_API bool HdGetMergedContributingSampleTimesForInterval | ( | size_t | count, |
| const HdSampledDataSourceHandle * | inputDataSources, | ||
| HdSampledDataSource::Time | startTime, | ||
| HdSampledDataSource::Time | endTime, | ||
| std::vector< HdSampledDataSource::Time > * | outSampleTimes | ||
| ) |
Merges contributing sample times from several data sources.
| auto HdVisitSampledDataSourceType | ( | const HdSampledDataSourceHandle & | dataSource, |
| FnArgs &&... | args | ||
| ) |
Helper function to determine the type of a TypeSampledDataSource and perform some operations. Takes a "SampledDataSource", a "Visitor" class (which has a static "Visit" function) and some arguments. The data source's type "T" will be determined and Visitor<T>::Visit will be called with your arguments. If the data source's type cannot be determined or it is an untyped SampledDataSource, Visitor<VtValue>::Visit will be called.
This is identical to VtVisitValueType<Visitor, TypeArgs...>(value, args...) except that instead of a VtValue value, the value type is determined by the passed dataSource.
Definition at line 265 of file dataSource.h.
| auto HdVisitSampledDataSourceType | ( | const HdSampledDataSourceHandle & | dataSource, |
| FnArgs &&... | args | ||
| ) |
Overload that accepts a leading class template argument that is passed to the visitor as the second template argument.
This is identical to VtVisitValueType<Visitor, Tmpl, TypeArgs...>(value, args...) except that instead of a VtValue value, the value type is determined by the passed dataSource.
Definition at line 286 of file dataSource.h.