6#ifndef PXR_IMAGING_HDSI_PARTICLE_FIELD_CONVERSION_SCENE_INDEX_H
7#define PXR_IMAGING_HDSI_PARTICLE_FIELD_CONVERSION_SCENE_INDEX_H
10#include "pxr/imaging/hd/filteringSceneIndex.h"
11#include "pxr/imaging/hdsi/api.h"
13PXR_NAMESPACE_OPEN_SCOPE
15#define HDSI_PARTICLE_FIELD_CONVERSION_TOKENS \
17 ((radianceSphericalHarmonicsCoefficients00, "radiance:sphericalHarmonicsCoefficients00")) \
19 ((radianceSphericalHarmonicsCoefficients10, "radiance:sphericalHarmonicsCoefficients10")) \
20 ((radianceSphericalHarmonicsCoefficients11, "radiance:sphericalHarmonicsCoefficients11")) \
21 ((radianceSphericalHarmonicsCoefficients12, "radiance:sphericalHarmonicsCoefficients12")) \
23 ((radianceSphericalHarmonicsCoefficients20, "radiance:sphericalHarmonicsCoefficients20")) \
24 ((radianceSphericalHarmonicsCoefficients21, "radiance:sphericalHarmonicsCoefficients21")) \
25 ((radianceSphericalHarmonicsCoefficients22, "radiance:sphericalHarmonicsCoefficients22")) \
26 ((radianceSphericalHarmonicsCoefficients23, "radiance:sphericalHarmonicsCoefficients23")) \
27 ((radianceSphericalHarmonicsCoefficients24, "radiance:sphericalHarmonicsCoefficients24")) \
29 ((radianceSphericalHarmonicsCoefficients30, "radiance:sphericalHarmonicsCoefficients30")) \
30 ((radianceSphericalHarmonicsCoefficients31, "radiance:sphericalHarmonicsCoefficients31")) \
31 ((radianceSphericalHarmonicsCoefficients32, "radiance:sphericalHarmonicsCoefficients32")) \
32 ((radianceSphericalHarmonicsCoefficients33, "radiance:sphericalHarmonicsCoefficients33")) \
33 ((radianceSphericalHarmonicsCoefficients34, "radiance:sphericalHarmonicsCoefficients34")) \
34 ((radianceSphericalHarmonicsCoefficients35, "radiance:sphericalHarmonicsCoefficients35")) \
35 ((radianceSphericalHarmonicsCoefficients36, "radiance:sphericalHarmonicsCoefficients36")) \
58 static HdsiParticleFieldConversionSceneIndexRefPtr
59 New(
const HdSceneIndexBaseRefPtr& inputSceneIndex,
60 const HdSampledDataSourceHandle constantWidth,
61 const HdContainerDataSourceHandle geometryOverlay,
62 const HdContainerDataSourceHandle materialOverlay);
71 HdSampledDataSourceHandle _constantWidth;
72 HdContainerDataSourceHandle _geometryOverlay, _materialOverlay;
74 HdsiParticleFieldConversionSceneIndex(
75 const HdSceneIndexBaseRefPtr& inputSceneIndex,
76 const HdSampledDataSourceHandle constantWidth,
77 const HdContainerDataSourceHandle geometryOverlay,
78 const HdContainerDataSourceHandle materialOverlay);
80 virtual void _PrimsAdded(
84 virtual void _PrimsRemoved(
88 virtual void _PrimsDirtied(
93PXR_NAMESPACE_CLOSE_SCOPE
Abstract interface to scene data.
virtual SdfPathVector GetChildPrimPaths(const SdfPath &primPath) const =0
Returns the paths of all scene index prims located immediately below primPath.
virtual HdSceneIndexPrim GetPrim(const SdfPath &primPath) const =0
Returns a pair of (prim type, datasource).
A path value used to locate objects in layers or scenegraphs.
#define TF_DECLARE_REF_PTRS(type)
Define standard ref pointer types.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.
Small struct representing a 'prim' in the Hydra scene index.