Ocean
InitializerContourMappingI1.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_CV_SYNTHESIS_INITIALIZER_CONTOUR_MAPPING_I_1_H
9 #define META_OCEAN_CV_SYNTHESIS_INITIALIZER_CONTOUR_MAPPING_I_1_H
10 
17 
18 namespace Ocean
19 {
20 
21 namespace CV
22 {
23 
24 namespace Synthesis
25 {
26 
27 /**
28  * This class implements an initializer connecting the inpainting contour.
29  * @see InitializerAppearanceMappingI1, LayerI1, MappingI.
30  * @ingroup cvsynthesis
31  */
32 class OCEAN_CV_SYNTHESIS_EXPORT InitializerContourMappingI1 :
33  virtual public InitializerI,
34  virtual public InitializerRandomized,
35  virtual public Initializer1
36 {
37  public:
38 
39  /**
40  * Creates a new initializer object.
41  * @param layer The layer for that the initial mapping has to be provided
42  * @param randomGenerator Random number generator
43  * @param appearanceInitializer Appearance initializer to be applied afterwards
44  */
45  inline InitializerContourMappingI1(LayerI1& layer, RandomGenerator& randomGenerator, const InitializerAppearanceMapping& appearanceInitializer);
46 
47  /**
48  * Invokes the initialization process.
49  * @see Initializer::invoke().
50  */
51  bool invoke(Worker* worker) const override;
52 
53  private:
54 
55  /// Additional appearance mapping initializer.
57 };
58 
60  Initializer(layer),
61  InitializerI(layer),
62  InitializerRandomized(layer, randomGenerator),
63  Initializer1(layer),
64  appearanceInitializer_(appearanceInitializer)
65 {
66  // nothing to do here
67 }
68 
69 }
70 
71 }
72 
73 }
74 
75 #endif // META_OCEAN_CV_SYNTHESIS_INITIALIZER_CONTOUR_MAPPING_I_1_H
This class is the base class for all initializers that are provided for a single frame only.
Definition: Initializer1.h:29
This class implements the abstract base class for all appearance initializers.
Definition: InitializerAppearanceMapping.h:28
This class implements an initializer connecting the inpainting contour.
Definition: InitializerContourMappingI1.h:36
bool invoke(Worker *worker) const override
Invokes the initialization process.
const InitializerAppearanceMapping & appearanceInitializer_
Additional appearance mapping initializer.
Definition: InitializerContourMappingI1.h:56
InitializerContourMappingI1(LayerI1 &layer, RandomGenerator &randomGenerator, const InitializerAppearanceMapping &appearanceInitializer)
Creates a new initializer object.
Definition: InitializerContourMappingI1.h:59
This class implements the base class for all synthesis initializers.
Definition: Initializer.h:34
This class implements the base class for all initializer objects that are applied for mappings with i...
Definition: InitializerI.h:30
This class is the base class for all initializers that mainly initialize the synthesis mapping by a h...
Definition: InitializerRandomized.h:30
This class implements a single layer for pixel synthesis within one frame and pixel accuracy.
Definition: LayerI1.h:41
This class implements a generator for random numbers.
Definition: RandomGenerator.h:42
This class implements a worker able to distribute function calls over different threads.
Definition: Worker.h:33
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15