Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Namespaces | Functions
WarpGrid.h File Reference
#include <array>
#include <set>
#include <QVector2D>
#include <omni/WarpPoint.h>
Include dependency graph for WarpGrid.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  omni::WarpGrid
 A warp grid is a 2D bezier grid with MxN points Default size 6x6 points. Selected points are also stored: More...
 

Namespaces

 omni
 Header to document namespaces.
 

Functions

QDataStream & operator<< (QDataStream &_os, const omni::WarpGrid &_p)
 Serialize omni::WarpGrid to stream. More...
 
QDataStream & operator>> (QDataStream &_is, omni::WarpGrid &_p)
 Deserialize omni::WarpGrid from stream. More...
 

Function Documentation

QDataStream& operator<< ( QDataStream &  _os,
const omni::WarpGrid _p 
)

Serialize omni::WarpGrid to stream.

270 {
272  _map
273  ("horizontal",_p.horizontal())
274  ("vertical",_p.vertical())
275  ("interpolation",omni::util::enumToInt(_p.interpolation()));
276  _os << _map;
277  for (auto& _point : _p.points()) _os << _point;
278 
279  return _os;
280 }
std::vector< WarpPoint > const & points() const
Return const reference to warp points.
Definition: WarpGrid.cpp:255
Interpolation interpolation() const
Return interpolation type (BICUBIC is default)
Definition: WarpGrid.cpp:74
int horizontal() const
Return horizontal resolution.
Definition: WarpGrid.cpp:68
int vertical() const
Return vertical resolution.
Definition: WarpGrid.cpp:63
Property map to store properties in a QBuffer with an id.
Definition: PropertyMap.h:96
auto enumToInt(ENUM const &_v) -> typename std::underlying_type< ENUM >::type
Converts an enum class to integer.
Definition: util.h:105
QDataStream& operator>> ( QDataStream &  _is,
omni::WarpGrid _p 
)

Deserialize omni::WarpGrid from stream.

283 {
284  using namespace omni;
285 
287  _is >> _map;
288  int _horizontal = _map.getValue<int>("horizontal");
289  int _vertical = _map.getValue<int>("vertical");
290  int _interpolation = _map.getValue<int>("interpolation",
292 
293  _p.resize(_horizontal, _vertical);
294  _p.setInterpolation(util::intToEnum<WarpGrid::Interpolation>(_interpolation));
295 
296  for (int y = 0; y < _p.vertical(); ++y)
297  for (int x = 0; x < _p.horizontal(); ++x) _is >> *_p.getPoint(x, y);
298 
299  return _is;
300 }
T getValue(QString const &_id, T const &_default=T()) const
Get value from id (with optional default value when id is not present)
Definition: PropertyMap.h:146
void resize(int _horz, int _vert)
Resize grid with given horizontal and vertical resolution.
Definition: WarpGrid.cpp:53
WarpPoint * getPoint(int x, int y)
Get point with x and y index.
Definition: WarpGrid.cpp:200
int horizontal() const
Return horizontal resolution.
Definition: WarpGrid.cpp:68
int vertical() const
Return vertical resolution.
Definition: WarpGrid.cpp:63
Property map to store properties in a QBuffer with an id.
Definition: PropertyMap.h:96
auto enumToInt(ENUM const &_v) -> typename std::underlying_type< ENUM >::type
Converts an enum class to integer.
Definition: util.h:105
void setInterpolation(Interpolation)
Interpolation value.
Definition: WarpGrid.cpp:79