Loading...
Searching...
No Matches
unitTestHelper.h
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the Apache License, Version 2.0 (the "Apache License")
5// with the following modification; you may not use this file except in
6// compliance with the Apache License and the following modification to it:
7// Section 6. Trademarks. is deleted and replaced with:
8//
9// 6. Trademarks. This License does not grant permission to use the trade
10// names, trademarks, service marks, or product names of the Licensor
11// and its affiliates, except as required to comply with Section 4(c) of
12// the License and to reproduce the content of the NOTICE file.
13//
14// You may obtain a copy of the Apache License at
15//
16// http://www.apache.org/licenses/LICENSE-2.0
17//
18// Unless required by applicable law or agreed to in writing, software
19// distributed under the Apache License with the above modification is
20// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21// KIND, either express or implied. See the Apache License for the specific
22// language governing permissions and limitations under the Apache License.
23//
24#ifndef PXR_IMAGING_HD_UNIT_TEST_HELPER_H
25#define PXR_IMAGING_HD_UNIT_TEST_HELPER_H
26
27#include "pxr/pxr.h"
28#include "pxr/imaging/hd/api.h"
29#include "pxr/imaging/hd/engine.h"
30#include "pxr/imaging/hd/renderPass.h"
31#include "pxr/imaging/hd/renderPassState.h"
32#include "pxr/imaging/hd/unitTestDelegate.h"
33#include "pxr/imaging/hd/unitTestNullRenderDelegate.h"
34
35#include "pxr/base/gf/vec4d.h"
37
38#include <vector>
39
40PXR_NAMESPACE_OPEN_SCOPE
41
42
51class Hd_TestDriver final
52{
53public:
54 HD_API
55 Hd_TestDriver();
56 HD_API
57 Hd_TestDriver(HdReprSelector const &reprToken);
58 HD_API
59 ~Hd_TestDriver();
60
62 HD_API
63 void Draw(bool withGuides=false);
64
66 HD_API
67 void Draw(HdRenderPassSharedPtr const &renderPass, bool withGuides);
68
70 HD_API
71 void SetCamera(GfMatrix4d const &viewMatrix,
72 GfMatrix4d const &projectionMatrix,
73 CameraUtilFraming const &framing);
74
76 HD_API
77 void SetCullStyle(HdCullStyle cullStyle);
78
80 HD_API
81 HdRenderPassSharedPtr const &GetRenderPass();
82
84 HdRenderPassStateSharedPtr const &GetRenderPassState() const {
85 return _renderPassState;
86 }
87
89 HdUnitTestDelegate& GetDelegate() { return *_sceneDelegate; }
90
92 HD_API
93 void SetRepr(HdReprSelector const &reprSelector);
94
95private:
96
97 void _Init(HdReprSelector const &reprSelector);
98
99 HdEngine _engine;
100 Hd_UnitTestNullRenderDelegate _renderDelegate;
101 HdRenderIndex *_renderIndex;
102 HdUnitTestDelegate *_sceneDelegate;
103 SdfPath _cameraId;
104 HdRenderPassSharedPtr _renderPass;
105 HdRenderPassStateSharedPtr _renderPassState;
106 HdRprimCollection _collection;
107};
108
109PXR_NAMESPACE_CLOSE_SCOPE
110
111#endif // PXR_IMAGING_HD_UNIT_TEST_HELPER_H
Framing information.
Definition: framing.h:80
Stores a 4x4 matrix of double elements.
Definition: matrix4d.h:88
The application-facing entry point top-level entry point for accessing Hydra.
Definition: engine.h:48
The Hydra render index is a flattened representation of the client scene graph, which may be composed...
Definition: renderIndex.h:121
Describes one or more authored display representations for an rprim.
Definition: repr.h:49
A named, semantic collection of objects.
A simple delegate class for unit test driver.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:290