Virtual camera for Ladybug 3. More...
#include <LadybugVirtualCamera.h>
Virtual camera for Ladybug 3.
Renders a virtual single-lens camera view, using images captured from Ladybug 3. A camera can be initialized using a mesh data and alphamasks generated by Ladybug SDK.
Definition at line 26 of file LadybugVirtualCamera.h.
Definition at line 20 of file LadybugVirtualCamera.cpp.
Definition at line 42 of file LadybugVirtualCamera.cpp.
Clears current alphamasks and frees associated resources. Sets alphamaskAvailable to false.
Definition at line 344 of file LadybugVirtualCamera.cpp.
Clears frame and render buffers.
Definition at line 134 of file LadybugVirtualCamera.cpp.
Clears current mesh and frees associated resources.
Definition at line 308 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::deleteBuffers | ( | ) | [private] |
Frees GL frame and render buffers.
Definition at line 207 of file LadybugVirtualCamera.cpp.
Definition at line 256 of file LadybugVirtualCamera.cpp.
int nifti::ladybug::LadybugVirtualCamera::getMinimumPowerOfTwo | ( | int | n | ) | [private] |
Returns minimum power of 2 greater or equal to n.
Definition at line 453 of file LadybugVirtualCamera.cpp.
double nifti::ladybug::LadybugVirtualCamera::getPan | ( | ) |
Definition at line 244 of file LadybugVirtualCamera.cpp.
Definition at line 250 of file LadybugVirtualCamera.cpp.
Definition at line 262 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::getViewport | ( | int * | viewportWidth, |
int * | viewportHeight | ||
) |
Definition at line 227 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::initialize | ( | bool | offScreenRendering | ) |
Initializes GL context.
offScreenRendering | Enable off-screen rendering? |
Definition at line 86 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::initializeFramebuffers | ( | ) | [private] |
Initializes GL framebuffers.
Definition at line 55 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::initializeTextures | ( | ) | [private] |
Initializes GL textures.
Definition at line 47 of file LadybugVirtualCamera.cpp.
Is initialized.
void nifti::ladybug::LadybugVirtualCamera::loadAlphamask | ( | const std::string & | alphamaskFilePrefix | ) |
Loads alphamasks from files, as saved with Ladybug SDK. Sets alphamaskAvailable to true if alphamasks loads successfully.
Definition at line 316 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::loadMesh | ( | const std::string & | meshFile | ) |
Loads the mesh from file, as saved with Ladybug SDK.
Definition at line 269 of file LadybugVirtualCamera.cpp.
Renders the scene.
Definition at line 142 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::renderView | ( | cv::Mat & | image | ) |
Renders current view to the image matrix.
Definition at line 191 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setHorizontalFov | ( | double | horizontalFov | ) |
Definition at line 259 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setImage | ( | const int & | i, |
const cv::Mat & | image | ||
) |
Sets the i-th image.
Definition at line 355 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setImages | ( | const cv::Mat(&) | images[NUM_CAMERAS] | ) |
Sets all images.
Definition at line 438 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setImages | ( | const cv::Mat & | composite | ) |
Sets all images from the composite.
Definition at line 444 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setPan | ( | double | pan | ) |
Definition at line 247 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setTilt | ( | double | tilt | ) |
Definition at line 253 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setVerticalFov | ( | double | verticalFov | ) |
Definition at line 265 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::setViewport | ( | int | viewportWidth, |
int | viewportHeight | ||
) |
Definition at line 231 of file LadybugVirtualCamera.cpp.
void nifti::ladybug::LadybugVirtualCamera::updateBuffers | ( | ) | [private] |
Updates GL frame and render buffers according to current viewport size.
Definition at line 104 of file LadybugVirtualCamera.cpp.
Update model view transform based on current pan and tilt angles.
Definition at line 124 of file LadybugVirtualCamera.cpp.
Updates projection based on current horizontal and vertical field of view.
Definition at line 117 of file LadybugVirtualCamera.cpp.
Updates viewport transform based on current viewport width and height.
Definition at line 112 of file LadybugVirtualCamera.cpp.
bool nifti::ladybug::LadybugVirtualCamera::alphamaskAvailable [private] |
Is alphamask available and ready to use?
Definition at line 74 of file LadybugVirtualCamera.h.
Heights of individual alphamasks.
Definition at line 82 of file LadybugVirtualCamera.h.
unsigned char* nifti::ladybug::LadybugVirtualCamera::alphamasks[NUM_CAMERAS] [private] |
Pointers to alphamask buffers. NB: Allocated with malloc, e.g. when reading pgm files. Must be freed by free.
Definition at line 88 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::alphaMaskWidths[NUM_CAMERAS] [private] |
Widths of individual alphamasks.
Definition at line 78 of file LadybugVirtualCamera.h.
GLuint nifti::ladybug::LadybugVirtualCamera::colorRenderBuffer [private] |
Color render buffer.
Definition at line 126 of file LadybugVirtualCamera.h.
GLuint nifti::ladybug::LadybugVirtualCamera::depthRenderBuffer [private] |
Depth render buffer.
Definition at line 130 of file LadybugVirtualCamera.h.
GLuint nifti::ladybug::LadybugVirtualCamera::frameBuffer [private] |
Frame buffer.
Definition at line 122 of file LadybugVirtualCamera.h.
Image texture heights.
Definition at line 110 of file LadybugVirtualCamera.h.
GLuint nifti::ladybug::LadybugVirtualCamera::glTextures[NUM_CAMERAS] [private] |
Assigned GL texture IDs.
Definition at line 102 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::glTextureWidths[NUM_CAMERAS] [private] |
Image texture widths.
Definition at line 106 of file LadybugVirtualCamera.h.
double nifti::ladybug::LadybugVirtualCamera::horizontalFov [private] |
Horizontal field of view, in degrees.
Definition at line 50 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::imageHeights[NUM_CAMERAS] [private] |
Image heights.
Definition at line 97 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::imageWidths[NUM_CAMERAS] [private] |
Image widths.
Definition at line 93 of file LadybugVirtualCamera.h.
bool nifti::ladybug::LadybugVirtualCamera::initialized [private] |
Properly initialized?
Definition at line 114 of file LadybugVirtualCamera.h.
double* nifti::ladybug::LadybugVirtualCamera::mesh[NUM_CAMERAS] [private] |
Mesh buffer with points as (x, y, z) triples. NB: Allocated with new, e.g. before reading the mesh file. Must be freed by delete.
Definition at line 69 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::meshCols [private] |
Number of columns in the mesh.
Definition at line 59 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::meshRows [private] |
Number of rows in the mesh.
Definition at line 63 of file LadybugVirtualCamera.h.
const int nifti::ladybug::LadybugVirtualCamera::NUM_CAMERAS = 6 [static, private] |
Definition at line 28 of file LadybugVirtualCamera.h.
bool nifti::ladybug::LadybugVirtualCamera::offScreenRendering [private] |
Is off-screen rendering enabled, e.g. using framebuffers?
Definition at line 118 of file LadybugVirtualCamera.h.
double nifti::ladybug::LadybugVirtualCamera::pan [private] |
Horizontal pan, i.e. azimuth.
Definition at line 42 of file LadybugVirtualCamera.h.
double nifti::ladybug::LadybugVirtualCamera::tilt [private] |
Vertical tilt, i.e. elevation, altitude.
Definition at line 46 of file LadybugVirtualCamera.h.
double nifti::ladybug::LadybugVirtualCamera::verticalFov [private] |
Vertical field of view, in degrees.
Definition at line 54 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::viewportHeight [private] |
Rendered viewport height.
Definition at line 37 of file LadybugVirtualCamera.h.
int nifti::ladybug::LadybugVirtualCamera::viewportWidth [private] |
Rendered viewport width.
Definition at line 33 of file LadybugVirtualCamera.h.