All Classes Namespaces Files Functions Variables Typedefs Defines
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
nifti::ladybug::LadybugVirtualCamera Class Reference

Virtual camera for Ladybug 3. More...

#include <LadybugVirtualCamera.h>

List of all members.

Public Member Functions

void clearAlphamask ()
void clearBuffers ()
void clearMesh ()
double getHorizontalFov ()
double getPan ()
double getTilt ()
double getVerticalFov ()
void getViewport (int *viewportWidth, int *viewportHeight)
void initialize (bool offScreenRendering)
bool isInitialized ()
 LadybugVirtualCamera ()
void loadAlphamask (const std::string &alphamaskFilePrefix)
void loadMesh (const std::string &meshFile)
void render ()
void renderView (cv::Mat &image)
void setHorizontalFov (double horizontalFov)
void setImage (const int &i, const cv::Mat &image)
void setImages (const cv::Mat(&images)[NUM_CAMERAS])
void setImages (const cv::Mat &composite)
void setPan (double pan)
void setTilt (double tilt)
void setVerticalFov (double verticalFov)
void setViewport (int viewportWidth, int viewportHeight)
void updateModelView ()
void updateProjection ()
void updateViewport ()
virtual ~LadybugVirtualCamera ()

Private Member Functions

void deleteBuffers ()
int getMinimumPowerOfTwo (int n)
void initializeFramebuffers ()
void initializeTextures ()
void updateBuffers ()

Private Attributes

bool alphamaskAvailable
int alphaMaskHeights [NUM_CAMERAS]
unsigned char * alphamasks [NUM_CAMERAS]
int alphaMaskWidths [NUM_CAMERAS]
GLuint colorRenderBuffer
GLuint depthRenderBuffer
GLuint frameBuffer
int glTextureHeights [NUM_CAMERAS]
GLuint glTextures [NUM_CAMERAS]
int glTextureWidths [NUM_CAMERAS]
double horizontalFov
int imageHeights [NUM_CAMERAS]
int imageWidths [NUM_CAMERAS]
bool initialized
double * mesh [NUM_CAMERAS]
int meshCols
int meshRows
bool offScreenRendering
double pan
double tilt
double verticalFov
int viewportHeight
int viewportWidth

Static Private Attributes

static const int NUM_CAMERAS = 6

Detailed Description

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.


Constructor & Destructor Documentation

Definition at line 20 of file LadybugVirtualCamera.cpp.

Definition at line 42 of file LadybugVirtualCamera.cpp.


Member Function Documentation

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.

Frees GL frame and render buffers.

Definition at line 207 of file LadybugVirtualCamera.cpp.

Definition at line 256 of file LadybugVirtualCamera.cpp.

Returns minimum power of 2 greater or equal to n.

Definition at line 453 of file LadybugVirtualCamera.cpp.

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.

Parameters:
offScreenRenderingEnable off-screen rendering?

Definition at line 86 of file LadybugVirtualCamera.cpp.

Initializes GL framebuffers.

Definition at line 55 of file LadybugVirtualCamera.cpp.

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.

Renders current view to the image matrix.

Definition at line 191 of file LadybugVirtualCamera.cpp.

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.

Definition at line 247 of file LadybugVirtualCamera.cpp.

Definition at line 253 of file LadybugVirtualCamera.cpp.

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.

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.


Member Data Documentation

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.

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.

Widths of individual alphamasks.

Definition at line 78 of file LadybugVirtualCamera.h.

Color render buffer.

Definition at line 126 of file LadybugVirtualCamera.h.

Depth render buffer.

Definition at line 130 of file LadybugVirtualCamera.h.

Frame buffer.

Definition at line 122 of file LadybugVirtualCamera.h.

Image texture heights.

Definition at line 110 of file LadybugVirtualCamera.h.

Assigned GL texture IDs.

Definition at line 102 of file LadybugVirtualCamera.h.

Image texture widths.

Definition at line 106 of file LadybugVirtualCamera.h.

Horizontal field of view, in degrees.

Definition at line 50 of file LadybugVirtualCamera.h.

Image heights.

Definition at line 97 of file LadybugVirtualCamera.h.

Image widths.

Definition at line 93 of file LadybugVirtualCamera.h.

Properly initialized?

Definition at line 114 of file LadybugVirtualCamera.h.

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.

Number of columns in the mesh.

Definition at line 59 of file LadybugVirtualCamera.h.

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.

Is off-screen rendering enabled, e.g. using framebuffers?

Definition at line 118 of file LadybugVirtualCamera.h.

Horizontal pan, i.e. azimuth.

Definition at line 42 of file LadybugVirtualCamera.h.

Vertical tilt, i.e. elevation, altitude.

Definition at line 46 of file LadybugVirtualCamera.h.

Vertical field of view, in degrees.

Definition at line 54 of file LadybugVirtualCamera.h.

Rendered viewport height.

Definition at line 37 of file LadybugVirtualCamera.h.

Rendered viewport width.

Definition at line 33 of file LadybugVirtualCamera.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Defines


omnicamera
Author(s): Tomas Petricek / petrito1@cmp.felk.cvut.cz
autogenerated on Tue Dec 10 2013 14:26:53