20 #ifndef OMNI_MAPPING_INTERFACE_H_
21 #define OMNI_MAPPING_INTERFACE_H_
30 class QOpenGLShaderProgram;
56 public PropertyMapSerializer,
90 inline virtual bool isUVW()
const
104 virtual QWidget*
widget() = 0;
111 inline virtual void draw(
float _opacity)
const {}
117 AffineTransform
const&
transform()
const;
126 virtual QMatrix4x4
matrix()
const;
151 std::unique_ptr<QOpenGLShaderProgram>
shader_;
183 #define OMNI_MAPPING_INTERFACE_IID "org.omnidome.mapping.Interface"
187 #define OMNI_MAPPING_PLUGIN_DECL \
189 Q_PLUGIN_METADATA(IID OMNI_MAPPING_INTERFACE_IID) \
190 Q_INTERFACES(omni::mapping::Interface) \
191 OMNI_PLUGIN_TYPE("Mapping")
void initialize()
Initialized OpenGL shader.
Definition: Interface.cpp:40
visual::Scene const * scene_
Definition: Interface.h:170
#define OMNI_MAPPING_INTERFACE_IID
Definition: Interface.h:183
#define OMNI_DECL_ENUM_STREAM_OPERATORS(ENUM)
Definition: Interface.h:65
AffineTransform const & transform() const
Return const ref to affine transform.
Definition: Interface.cpp:160
bool flipVertical_
Definition: Interface.h:168
visual::Scene const * scene() const
The scene this canvas belongs to.
Definition: Interface.cpp:69
std::unique_ptr< QOpenGLShaderProgram > shader_
Definition: Interface.h:151
virtual void toPropertyMap(PropertyMap &) const
Write mapping to stream.
Definition: Interface.cpp:205
virtual QWidget * widget()=0
Return pointer to parameter widget.
bool boundToCanvas_
Definition: Interface.h:166
bool flipHorizontal_
Definition: Interface.h:167
void setFlipHorizontal(bool)
Flip horizontally.
Definition: Interface.cpp:116
virtual ~Interface()
Definition: Interface.cpp:37
std::set< Id > IdSet
Id set typedef.
Definition: Id.h:83
Basic visual interface.
Definition: Interface.h:28
mapping::Interface Mapping
Definition: Interface.h:177
void setScene(visual::Scene const *)
Set the scene this canvas belongs to. Is set automatically when a canvas is added to a session...
void setTransform(AffineTransform const &_transform)
Set new affine transform.
Definition: Interface.cpp:170
virtual QString fragmentShaderSourceCode() const
Returns fragment shader source code Is taken from file :/shaders/mapping/$MAPPING_TYPEID by default)...
Definition: Interface.cpp:195
virtual QMatrix4x4 matrix() const
Return matrix of transform.
Definition: Interface.cpp:186
OutputMode
Definition: Interface.h:42
AbstractFactory< Interface > Factory
Abstract mapping factory.
Definition: Interface.h:174
virtual void update()
Update mapping visualizer.
Definition: Interface.h:114
A class that holds settings and elements for session 3d visualization Belongs to a session...
Definition: Scene.h:63
mapping::Factory MappingFactory
Definition: Interface.h:178
virtual void fromPropertyMap(PropertyMap const &)
Read mapping from stream.
Definition: Interface.cpp:213
bool isBoundToCanvas() const
If true, mapping transform is attached to canvas transform Is true by default.
Definition: Interface.cpp:177
virtual void draw(float _opacity) const
Draw mapping with opacity.
Definition: Interface.h:111
static IdSet getUVWMappings()
Static function to retrieve all registered mappings that support UVW.
Definition: Interface.cpp:131
void draw() const
Abstract method for visualing.
Definition: Interface.h:106
void release()
Release shader.
Definition: Interface.cpp:106
Interface()
Definition: Interface.cpp:30
AffineTransform transform_
Definition: Interface.h:165
Abstract Interface with a single virtual member function which returns.
Definition: TypeIdInterface.h:28
static IdSet getPlanarMappings()
Static function to retrieve all registered mappings that dont.
Definition: Interface.cpp:145
virtual void bind()
Bind shaders and set uniforms.
Definition: Interface.cpp:51
void setFlipVertical(bool)
Flip vertically.
Definition: Interface.cpp:126
bool flipVertical() const
Flip vertically.
Definition: Interface.cpp:121
Mapping interface with one or several inputs and shader Holds inputs and shader. ...
Definition: Interface.h:54
The central factory class.
Definition: factory.hpp:38
virtual bool isUVW() const
Flag which tells if this mapping uses UVW texture coordinates (true by default) . ...
Definition: Interface.h:90
virtual QString vertexShaderSourceCode() const
Returns vertex shader source code Is taken from file :/shaders/mapping/common.vert by default) ...
Definition: Interface.cpp:190
void setBoundToCanvas(bool)
Set whether mapping transform is attached to canvas transform.
Definition: Interface.cpp:182
bool flipHorizontal() const
Flip horizontally.
Definition: Interface.cpp:111