Blender  V3.3
HeuristicGridDensityProviderFactory.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
9 
10 namespace Freestyle {
11 
13  unsigned numFaces)
14  : sizeFactor(sizeFactor), numFaces(numFaces)
15 {
16 }
17 
19  OccluderSource &source, const real proscenium[4])
20 {
22  new AverageAreaGridDensityProvider(source, proscenium, sizeFactor));
24  new Pow23GridDensityProvider(source, proscenium, numFaces));
25  if (avg->cellSize() > p23->cellSize()) {
26  return (AutoPtr<GridDensityProvider>)p23;
27  }
28 
29  return (AutoPtr<GridDensityProvider>)avg;
30 }
31 
33  OccluderSource &source, const BBox<Vec3r> &bbox, const GridHelpers::Transform &transform)
34 {
38  new Pow23GridDensityProvider(source, bbox, transform, numFaces));
39  if (avg->cellSize() > p23->cellSize()) {
40  return (AutoPtr<GridDensityProvider>)p23;
41  }
42 
43  return (AutoPtr<GridDensityProvider>)avg;
44 }
45 
47  OccluderSource &source)
48 {
49  real proscenium[4];
52  new AverageAreaGridDensityProvider(source, proscenium, sizeFactor));
54  new Pow23GridDensityProvider(source, proscenium, numFaces));
55  if (avg->cellSize() > p23->cellSize()) {
56  return (AutoPtr<GridDensityProvider>)p23;
57  }
58 
59  return (AutoPtr<GridDensityProvider>)avg;
60 }
61 
62 } /* namespace Freestyle */
Class to define a cell grid surrounding the projected image of a scene.
SIMD_FORCE_INLINE btVector3 transform(const btVector3 &point) const
static void calculateOptimalProscenium(OccluderSource &source, real proscenium[4])
AutoPtr< GridDensityProvider > newGridDensityProvider(OccluderSource &source, const real proscenium[4])
inherits from class Rep
Definition: AppCanvas.cpp:18
double real
Definition: Precision.h:12