Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
Public Member Functions | Protected Member Functions | Friends | List of all members
rs2::frame Class Reference

#include <rs_frame.hpp>

Inheritance diagram for rs2::frame:
rs2::frameset rs2::gl::gpu_frame rs2::motion_frame rs2::points rs2::pose_frame rs2::video_frame rs2::depth_frame rs2::disparity_frame

Public Member Functions

 frame ()
 
 frame (rs2_frame *ref)
 
 frame (frame &&other) noexcept
 
frameoperator= (frame other)
 
 frame (const frame &other)
 
void swap (frame &other)
 
 ~frame ()
 
void keep ()
 
 operator bool () const
 
rs2_sensorget_sensor ()
 
double get_timestamp () const
 
rs2_timestamp_domain get_frame_timestamp_domain () const
 
rs2_metadata_type get_frame_metadata (rs2_frame_metadata_value frame_metadata) const
 
bool supports_frame_metadata (rs2_frame_metadata_value frame_metadata) const
 
unsigned long long get_frame_number () const
 
const void * get_data () const
 
stream_profile get_profile () const
 
template<class T >
bool is () const
 
template<class T >
as () const
 
rs2_frameget () const
 
 operator rs2_frame * ()
 
frame apply_filter (filter_interface &filter)
 

Protected Member Functions

void add_ref () const
 
void reset ()
 

Friends

class rs2::frame_source
 
class rs2::frame_queue
 
class rs2::syncer
 
class rs2::processing_block
 
class rs2::pointcloud
 
class rs2::points
 

Constructor & Destructor Documentation

◆ frame() [1/4]

rs2::frame::frame ( )
inline

Base class for multiple frame extensions

◆ frame() [2/4]

rs2::frame::frame ( rs2_frame ref)
inline

Base class for multiple frame extensions with internal frame handle

Parameters
[in]rs2_frameframe_ref - internal frame instance

◆ frame() [3/4]

rs2::frame::frame ( frame &&  other)
inlinenoexcept

Change the internal frame handle to the one in parameter, then put the other frame internal frame handle to nullptr

Parameters
[in]frameother - another frame instance to be pointed to

◆ frame() [4/4]

rs2::frame::frame ( const frame other)
inline

Set the internal frame handle to the one in parameter, the function create additional reference if internal reference exist.

Parameters
[in]frameother - another frame instance to be pointed to

◆ ~frame()

rs2::frame::~frame ( )
inline

releases the frame handle

Member Function Documentation

◆ add_ref()

void rs2::frame::add_ref ( ) const
inlineprotected

add additional reference to a frame without duplicating frame data

Parameters
[out]resultnew frame reference, release by destructor
Returns
true if cloning was successful

◆ apply_filter()

frame rs2::frame::apply_filter ( filter_interface filter)
inline

◆ as()

template<class T >
T rs2::frame::as ( ) const
inline

Template function, cast current instance as the type of another class

Returns
class instance.

◆ get()

rs2_frame* rs2::frame::get ( ) const
inline

Retrieve back the internal frame handle

Returns
rs2_frame - internal frame handle.

◆ get_data()

const void* rs2::frame::get_data ( ) const
inline

retrieve data from frame handle

Returns
the pointer to the start of the frame data

◆ get_frame_metadata()

rs2_metadata_type rs2::frame::get_frame_metadata ( rs2_frame_metadata_value  frame_metadata) const
inline

retrieve the current value of a single frame_metadata

Parameters
[in]frame_metadatathe frame_metadata whose value should be retrieved
Returns
the value of the frame_metadata

◆ get_frame_number()

unsigned long long rs2::frame::get_frame_number ( ) const
inline

retrieve frame number (from frame handle)

Returns
the frame number of the frame, in milliseconds since the device was started

◆ get_frame_timestamp_domain()

rs2_timestamp_domain rs2::frame::get_frame_timestamp_domain ( ) const
inline

retrieve the timestamp domain

Returns
timestamp domain (clock name) for timestamp values

◆ get_profile()

stream_profile rs2::frame::get_profile ( ) const
inline

retrieve stream profile from frame handle

Returns
stream_profile - the pointer to the stream profile

◆ get_sensor()

rs2_sensor* rs2::frame::get_sensor ( )
inline

retrieve the time at which the frame was captured

Returns
the timestamp of the frame, in milliseconds since the device was started

◆ get_timestamp()

double rs2::frame::get_timestamp ( ) const
inline

◆ is()

template<class T >
bool rs2::frame::is ( ) const
inline

Template function, checking if current instance is the type of another class

Returns
bool - true or false.

◆ keep()

void rs2::frame::keep ( )
inline

keep the frame, otherwise if no refernce to the frame, the frame will be released.

◆ operator bool()

rs2::frame::operator bool ( ) const
inline

Parenthesis operator check if internal frame handle is valid.

Returns
bool - true or false.

◆ operator rs2_frame *()

rs2::frame::operator rs2_frame * ( )
inlineexplicit

◆ operator=()

frame& rs2::frame::operator= ( frame  other)
inline

Change the internal frame handle to the one in parameter, the function exchange the internal frame handle.

Parameters
[in]frameother - another frame instance to be pointed to

◆ reset()

void rs2::frame::reset ( )
inlineprotected

◆ supports_frame_metadata()

bool rs2::frame::supports_frame_metadata ( rs2_frame_metadata_value  frame_metadata) const
inline

determine if the device allows a specific metadata to be queried

Parameters
[in]frame_metadatathe frame_metadata to check for support
Returns
true if the frame_metadata can be queried

◆ swap()

void rs2::frame::swap ( frame other)
inline

Swap the internal frame handle with the one in parameter

Parameters
[in]frameother - another frame instance to be swaped

Friends And Related Function Documentation

◆ rs2::frame_queue

friend class rs2::frame_queue
friend

◆ rs2::frame_source

friend class rs2::frame_source
friend

◆ rs2::pointcloud

friend class rs2::pointcloud
friend

◆ rs2::points

friend class rs2::points
friend

◆ rs2::processing_block

friend class rs2::processing_block
friend

◆ rs2::syncer

friend class rs2::syncer
friend

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