Blender V4.3
hydra/curves.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2022 NVIDIA Corporation
2 * SPDX-FileCopyrightText: 2022 Blender Foundation
3 *
4 * SPDX-License-Identifier: Apache-2.0 */
5
6#pragma once
7
8#include "hydra/config.h"
9#include "hydra/geometry.h"
10
11#include <pxr/imaging/hd/basisCurves.h>
12
14
15class HdCyclesCurves final : public HdCyclesGeometry<PXR_NS::HdBasisCurves, CCL_NS::Hair> {
16 public:
17 HdCyclesCurves(const PXR_NS::SdfPath &rprimId
18#if PXR_VERSION < 2102
19 ,
20 const PXR_NS::SdfPath &instancerId = {}
21#endif
22 );
23 ~HdCyclesCurves() override;
24
25 PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override;
26
27 private:
28 PXR_NS::HdDirtyBits _PropagateDirtyBits(PXR_NS::HdDirtyBits bits) const override;
29
30 void Populate(PXR_NS::HdSceneDelegate *sceneDelegate,
31 PXR_NS::HdDirtyBits dirtyBits,
32 bool &rebuild) override;
33
34 void PopulatePoints(PXR_NS::HdSceneDelegate *sceneDelegate);
35 void PopulateWidths(PXR_NS::HdSceneDelegate *sceneDelegate);
36
37 void PopulatePrimvars(PXR_NS::HdSceneDelegate *sceneDelegate);
38
39 void PopulateTopology(PXR_NS::HdSceneDelegate *sceneDelegate);
40};
41
HdCyclesCurves(const PXR_NS::SdfPath &rprimId, const PXR_NS::SdfPath &instancerId={})
PXR_NS::HdDirtyBits GetInitialDirtyBitsMask() const override
~HdCyclesCurves() override
#define HDCYCLES_NAMESPACE_CLOSE_SCOPE