Loading...
Searching...
No Matches
coordSys.h
1//
2// Copyright 2019 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_COORD_SYS_H
8#define EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_COORD_SYS_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hd/coordSys.h"
12#include "pxr/imaging/hd/version.h"
13#include "Riley.h"
14
15PXR_NAMESPACE_OPEN_SCOPE
16
17class HdSceneDelegate;
18class HdPrman_RenderParam;
19
24class HdPrmanCoordSys final : public HdCoordSys
25{
26public:
27 HdPrmanCoordSys(SdfPath const& id);
28 ~HdPrmanCoordSys() override;
29
31 void Sync(HdSceneDelegate *sceneDelegate,
32 HdRenderParam *renderParam,
33 HdDirtyBits *dirtyBits) override;
34
35#if HD_API_VERSION < 53
39 HdDirtyBits GetInitialDirtyBitsMask() const override;
40#endif
41
42 riley::CoordinateSystemId GetCoordSysId() const { return _coordSysId; }
43
45 bool IsValid() const;
46
47 void Finalize(HdRenderParam *renderParam) override;
48
49private:
50 void _ResetCoordSys(HdPrman_RenderParam *renderParam);
51
52 riley::CoordinateSystemId _coordSysId;
53};
54
55
56PXR_NAMESPACE_CLOSE_SCOPE
57
58#endif // EXT_RMANPKG_PLUGIN_RENDERMAN_PLUGIN_HD_PRMAN_COORD_SYS_H
HdCoordSys representes a coordinate system as a Hydra state prim.
Definition: coordSys.h:40
A representation for coordinate systems.
Definition: coordSys.h:25
void Sync(HdSceneDelegate *sceneDelegate, HdRenderParam *renderParam, HdDirtyBits *dirtyBits) override
Synchronizes state from the delegate to this object.
void Finalize(HdRenderParam *renderParam) override
Finalizes object resources.
bool IsValid() const
Return true if this material is valid.
HdDirtyBits GetInitialDirtyBitsMask() const override
Returns the minimal set of dirty bits to place in the change tracker for use in the first sync of thi...
The HdRenderParam is an opaque (to core Hydra) handle, to an object that is obtained from the render ...
Adapter class providing data exchange with the client scene graph.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274