Blender V5.0
CulledOccluderSource.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
11
12#include "OccluderSource.h"
13#include "ViewMap.h"
14
15namespace Freestyle {
16
17class CulledOccluderSource : public OccluderSource {
18 // Disallow copying and assignment
19 CulledOccluderSource(const CulledOccluderSource &other);
20 CulledOccluderSource &operator=(const CulledOccluderSource &other);
21
22 public:
23 CulledOccluderSource(const GridHelpers::Transform &transform,
24 WingedEdge &we,
25 ViewMap &viewMap,
26 bool extensiveFEdgeSearch = true);
27
28 void cullViewEdges(ViewMap &viewMap, bool extensiveFEdgeSearch);
29
30 bool next();
31
32 void getOccluderProscenium(real proscenium[4]);
33
34 private:
35 bool testCurrent();
36 void expandGridSpaceOccluderProscenium(FEdge *fe);
37
38 real occluderProscenium[4];
39 real gridSpaceOccluderProscenium[4];
40
41 ulong rejected;
42 bool gridSpaceOccluderProsceniumInitialized;
43};
44
45} /* namespace Freestyle */
unsigned long ulong
Class to define a cell grid surrounding the projected image of a scene.
Classes to define a View Map (ViewVertex, ViewEdge, etc.).
void getOccluderProscenium(real proscenium[4])
void cullViewEdges(ViewMap &viewMap, bool extensiveFEdgeSearch)
const GridHelpers::Transform & transform
inherits from class Rep
Definition AppCanvas.cpp:20
double real
Definition Precision.h:14