Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
freenect_camera::FreenectDevice Class Reference

#include <freenect_device.hpp>

Inheritance diagram for freenect_camera::FreenectDevice:
Inheritance graph
[legend]

Public Member Functions

bool findCompatibleDepthMode (const OutputMode &mode, OutputMode &compatible_mode) const
 
bool findCompatibleImageMode (const OutputMode &mode, OutputMode &compatible_mode) const
 
void flushDeviceStreams ()
 
 FreenectDevice (freenect_context *driver, std::string serial)
 
unsigned getAddress () const
 
float getBaseline () const
 
unsigned getBus () const
 
OutputMode getDefaultDepthMode () const
 
OutputMode getDefaultImageMode () const
 
OutputMode getDepthOutputMode ()
 
OutputMode getImageOutputMode ()
 
const char * getProductName () const
 
const char * getSerialNumber () const
 
bool hasDepthStream () const
 
bool hasImageStream () const
 
bool hasIRStream () const
 
bool isDepthRegistered ()
 
bool isDepthRegistrationSupported () const
 
bool isDepthStreamRunning ()
 
bool isImageStreamRunning ()
 
bool isIRStreamRunning ()
 
bool isSynchronizationSupported () const
 
bool isSynchronized () const
 
void openDevice (freenect_context *driver, std::string serial)
 
void publishersAreReady ()
 
template<typename T >
void registerDepthCallback (void(T::*callback)(const ImageBuffer &depth_image, void *cookie), T &instance, void *cookie=NULL)
 
template<typename T >
void registerImageCallback (void(T::*callback)(const ImageBuffer &image, void *cookie), T &instance, void *cookie=NULL)
 
template<typename T >
void registerIRCallback (void(T::*callback)(const ImageBuffer &ir_image, void *cookie), T &instance, void *cookie=NULL)
 
void setDepthOutputMode (OutputMode mode)
 
void setDepthRegistration (bool enable)
 
void setImageOutputMode (OutputMode mode)
 
bool setSynchronization (bool on_off) const
 
void shutdown ()
 
void startDepthStream ()
 
void startImageStream ()
 
void startIRStream ()
 
void stopDepthStream ()
 
void stopImageStream ()
 
void stopIRStream ()
 
 ~FreenectDevice ()
 

Static Public Member Functions

static void freenectDepthCallback (freenect_device *dev, void *depth, uint32_t timestamp)
 
static void freenectVideoCallback (freenect_device *dev, void *video, uint32_t timestamp)
 

Private Member Functions

bool _isImageModeEnabled ()
 
void depthCallback (void *depth)
 
void executeChanges ()
 
void videoCallback (void *video)
 

Private Attributes

ImageBuffer depth_buffer_
 
boost::function< void(const ImageBuffer &)> depth_callback_
 
freenect_device * device_
 
bool device_flush_enabled_
 
boost::posix_time::ptime device_flush_start_time_
 
std::string device_serial_
 
freenect_context * driver_
 
boost::function< void(const ImageBuffer &)> image_callback_
 
boost::function< void(const ImageBuffer &)> ir_callback_
 
boost::recursive_mutex m_settings_
 
freenect_depth_format new_depth_format_
 
freenect_resolution new_depth_resolution_
 
freenect_video_format new_video_format_
 
freenect_resolution new_video_resolution_
 
bool publishers_ready_
 
freenect_registration registration_
 
bool should_stream_depth_
 
bool should_stream_video_
 
bool streaming_depth_
 
bool streaming_video_
 
ImageBuffer video_buffer_
 

Friends

class FreenectDriver
 

Detailed Description

Definition at line 29 of file freenect_device.hpp.

Constructor & Destructor Documentation

freenect_camera::FreenectDevice::FreenectDevice ( freenect_context *  driver,
std::string  serial 
)
inline

Definition at line 33 of file freenect_device.hpp.

freenect_camera::FreenectDevice::~FreenectDevice ( )
inline

Definition at line 54 of file freenect_device.hpp.

Member Function Documentation

bool freenect_camera::FreenectDevice::_isImageModeEnabled ( )
inlineprivate

Definition at line 432 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::depthCallback ( void *  depth)
inlineprivate

Definition at line 437 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::executeChanges ( )
inlineprivate

ROS_INFO("change video called %i", should_stream_video_);

Definition at line 327 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::findCompatibleDepthMode ( const OutputMode mode,
OutputMode compatible_mode 
) const
inline

Definition at line 239 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::findCompatibleImageMode ( const OutputMode mode,
OutputMode compatible_mode 
) const
inline

Definition at line 176 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::flushDeviceStreams ( )
inline

Definition at line 58 of file freenect_device.hpp.

static void freenect_camera::FreenectDevice::freenectDepthCallback ( freenect_device *  dev,
void *  depth,
uint32_t  timestamp 
)
inlinestatic

Definition at line 278 of file freenect_device.hpp.

static void freenect_camera::FreenectDevice::freenectVideoCallback ( freenect_device *  dev,
void *  video,
uint32_t  timestamp 
)
inlinestatic

Definition at line 286 of file freenect_device.hpp.

unsigned freenect_camera::FreenectDevice::getAddress ( ) const
inline

Unsupported

Definition at line 89 of file freenect_device.hpp.

float freenect_camera::FreenectDevice::getBaseline ( ) const
inline

Get the baseline (distance between rgb/depth sensor)

Definition at line 132 of file freenect_device.hpp.

unsigned freenect_camera::FreenectDevice::getBus ( ) const
inline

Unsupported

Definition at line 84 of file freenect_device.hpp.

OutputMode freenect_camera::FreenectDevice::getDefaultDepthMode ( ) const
inline

Definition at line 235 of file freenect_device.hpp.

OutputMode freenect_camera::FreenectDevice::getDefaultImageMode ( ) const
inline

Definition at line 172 of file freenect_device.hpp.

OutputMode freenect_camera::FreenectDevice::getDepthOutputMode ( )
inline

Definition at line 225 of file freenect_device.hpp.

OutputMode freenect_camera::FreenectDevice::getImageOutputMode ( )
inline

Definition at line 162 of file freenect_device.hpp.

const char* freenect_camera::FreenectDevice::getProductName ( ) const
inline

Definition at line 93 of file freenect_device.hpp.

const char* freenect_camera::FreenectDevice::getSerialNumber ( ) const
inline

Definition at line 97 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::hasDepthStream ( ) const
inline

Definition at line 105 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::hasImageStream ( ) const
inline

Definition at line 101 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::hasIRStream ( ) const
inline

Definition at line 109 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isDepthRegistered ( )
inline

Definition at line 250 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isDepthRegistrationSupported ( ) const
inline

Definition at line 113 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isDepthStreamRunning ( )
inline

Definition at line 271 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isImageStreamRunning ( )
inline

Definition at line 201 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isIRStreamRunning ( )
inline

Definition at line 218 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isSynchronizationSupported ( ) const
inline

Definition at line 117 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::isSynchronized ( ) const
inline

Definition at line 121 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::openDevice ( freenect_context *  driver,
std::string  serial 
)
inline

Definition at line 64 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::publishersAreReady ( )
inline

Definition at line 156 of file freenect_device.hpp.

template<typename T >
void freenect_camera::FreenectDevice::registerDepthCallback ( void(T::*)(const ImageBuffer &depth_image, void *cookie)  callback,
T &  instance,
void *  cookie = NULL 
)
inline

Definition at line 144 of file freenect_device.hpp.

template<typename T >
void freenect_camera::FreenectDevice::registerImageCallback ( void(T::*)(const ImageBuffer &image, void *cookie)  callback,
T &  instance,
void *  cookie = NULL 
)
inline

Definition at line 138 of file freenect_device.hpp.

template<typename T >
void freenect_camera::FreenectDevice::registerIRCallback ( void(T::*)(const ImageBuffer &ir_image, void *cookie)  callback,
T &  instance,
void *  cookie = NULL 
)
inline

Definition at line 150 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::setDepthOutputMode ( OutputMode  mode)
inline

Definition at line 230 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::setDepthRegistration ( bool  enable)
inline

Definition at line 255 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::setImageOutputMode ( OutputMode  mode)
inline

Definition at line 167 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::setSynchronization ( bool  on_off) const
inline

Definition at line 125 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::shutdown ( )
inline

Definition at line 76 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::startDepthStream ( )
inline

Definition at line 266 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::startImageStream ( )
inline

Definition at line 194 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::startIRStream ( )
inline

Definition at line 212 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::stopDepthStream ( )
inline

Definition at line 261 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::stopImageStream ( )
inline

Definition at line 187 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::stopIRStream ( )
inline

Definition at line 206 of file freenect_device.hpp.

void freenect_camera::FreenectDevice::videoCallback ( void *  video)
inlineprivate

Definition at line 445 of file freenect_device.hpp.

Friends And Related Function Documentation

friend class FreenectDriver
friend

Definition at line 296 of file freenect_device.hpp.

Member Data Documentation

ImageBuffer freenect_camera::FreenectDevice::depth_buffer_
private

Definition at line 313 of file freenect_device.hpp.

boost::function<void(const ImageBuffer&)> freenect_camera::FreenectDevice::depth_callback_
private

Definition at line 304 of file freenect_device.hpp.

freenect_device* freenect_camera::FreenectDevice::device_
private

Definition at line 299 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::device_flush_enabled_
private

Definition at line 324 of file freenect_device.hpp.

boost::posix_time::ptime freenect_camera::FreenectDevice::device_flush_start_time_
private

Definition at line 323 of file freenect_device.hpp.

std::string freenect_camera::FreenectDevice::device_serial_
private

Definition at line 300 of file freenect_device.hpp.

freenect_context* freenect_camera::FreenectDevice::driver_
private

Definition at line 298 of file freenect_device.hpp.

boost::function<void(const ImageBuffer&)> freenect_camera::FreenectDevice::image_callback_
private

Definition at line 303 of file freenect_device.hpp.

boost::function<void(const ImageBuffer&)> freenect_camera::FreenectDevice::ir_callback_
private

Definition at line 305 of file freenect_device.hpp.

boost::recursive_mutex freenect_camera::FreenectDevice::m_settings_
private

Definition at line 321 of file freenect_device.hpp.

freenect_depth_format freenect_camera::FreenectDevice::new_depth_format_
private

Definition at line 317 of file freenect_device.hpp.

freenect_resolution freenect_camera::FreenectDevice::new_depth_resolution_
private

Definition at line 316 of file freenect_device.hpp.

freenect_video_format freenect_camera::FreenectDevice::new_video_format_
private

Definition at line 311 of file freenect_device.hpp.

freenect_resolution freenect_camera::FreenectDevice::new_video_resolution_
private

Definition at line 310 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::publishers_ready_
private

Definition at line 325 of file freenect_device.hpp.

freenect_registration freenect_camera::FreenectDevice::registration_
private

Definition at line 301 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::should_stream_depth_
private

Definition at line 315 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::should_stream_video_
private

Definition at line 309 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::streaming_depth_
private

Definition at line 314 of file freenect_device.hpp.

bool freenect_camera::FreenectDevice::streaming_video_
private

Definition at line 308 of file freenect_device.hpp.

ImageBuffer freenect_camera::FreenectDevice::video_buffer_
private

Definition at line 307 of file freenect_device.hpp.


The documentation for this class was generated from the following file:


freenect_camera
Author(s): Patrick Mihelich, Suat Gedikli, Radu Bogdan Rusu (original openni_camera driver)., Piyush Khandelwal (libfreenect port).
autogenerated on Fri Mar 20 2020 03:22:26