camcom 1.0.3
 
Loading...
Searching...
No Matches
camcom::genicam::GenICamEmulator::Impl Struct Reference

Public Member Functions

std::string resolveProfilePath (const std::string &address)
 
int64_t getIntNode (const std::string &name, int64_t default_val=0)
 Read an integer value from the node tree.
 
int64_t getIntNodeMax (const std::string &name, int64_t default_val=0)
 Read the max value of an integer node.
 
double getFloatNode (const std::string &name, double default_val=0.0)
 Read a float value from the node tree.
 
std::string getEnumNode (const std::string &name, const std::string &default_val="")
 Read an enumeration's current entry name.
 
std::string getStringNode (const std::string &name, const std::string &default_val="")
 Read a string value from the node tree.
 
void updatePayloadSize ()
 Update PayloadSize node based on current Width/Height/PixelFormat.
 
common::PatternConfig buildPatternConfig ()
 Build a PatternConfig from current node values.
 
void generateFrames ()
 Generate frames using the FrameGenerator.
 
void acquisitionLoop ()
 Acquisition loop (runs in acq_thread)
 

Public Attributes

bool connected {false}
 
bool acquiring {false}
 
std::atomic< bool > regenerate_needed {false}
 
std::atomic< bool > stop_requested {false}
 
std::thread acq_thread
 
std::mutex mutex
 
std::condition_variable cv
 
NodeMap nodes
 
common::FrameGenerator frame_gen
 
std::vector< uint8_t > frame_buffer
 
int32_t output_width {0}
 
int32_t output_height {0}
 
size_t frame_bytes {0}
 
int32_t n_planes {10}
 
uint32_t frame_count {0}
 
std::mutex frame_mutex
 
std::condition_variable frame_cv
 
bool frame_ready {false}
 
uint32_t last_frame_id {0}
 
double frame_rate {30.0}
 
double frame_period {1.0 / 30.0}
 
std::string acq_mode {"Continuous"}
 
int32_t acq_frame_count {10}
 
std::string xml_profile_path
 
std::mt19937 rng {std::random_device{}()}
 
std::chrono::steady_clock::time_point start_time {std::chrono::steady_clock::now()}
 

Member Function Documentation

◆ acquisitionLoop()

void camcom::genicam::GenICamEmulator::Impl::acquisitionLoop ( )
inline

Acquisition loop (runs in acq_thread)

◆ buildPatternConfig()

common::PatternConfig camcom::genicam::GenICamEmulator::Impl::buildPatternConfig ( )
inline

Build a PatternConfig from current node values.

◆ generateFrames()

void camcom::genicam::GenICamEmulator::Impl::generateFrames ( )
inline

Generate frames using the FrameGenerator.

◆ getEnumNode()

std::string camcom::genicam::GenICamEmulator::Impl::getEnumNode ( const std::string & name,
const std::string & default_val = "" )
inline

Read an enumeration's current entry name.

◆ getFloatNode()

double camcom::genicam::GenICamEmulator::Impl::getFloatNode ( const std::string & name,
double default_val = 0.0 )
inline

Read a float value from the node tree.

◆ getIntNode()

int64_t camcom::genicam::GenICamEmulator::Impl::getIntNode ( const std::string & name,
int64_t default_val = 0 )
inline

Read an integer value from the node tree.

◆ getIntNodeMax()

int64_t camcom::genicam::GenICamEmulator::Impl::getIntNodeMax ( const std::string & name,
int64_t default_val = 0 )
inline

Read the max value of an integer node.

◆ getStringNode()

std::string camcom::genicam::GenICamEmulator::Impl::getStringNode ( const std::string & name,
const std::string & default_val = "" )
inline

Read a string value from the node tree.

◆ resolveProfilePath()

std::string camcom::genicam::GenICamEmulator::Impl::resolveProfilePath ( const std::string & address)
inline

Resolve the XML profile path: check address (set via SetAddress), then xml_profile_path, or fall back to the default bundled XML.

◆ updatePayloadSize()

void camcom::genicam::GenICamEmulator::Impl::updatePayloadSize ( )
inline

Update PayloadSize node based on current Width/Height/PixelFormat.

Member Data Documentation

◆ acq_frame_count

int32_t camcom::genicam::GenICamEmulator::Impl::acq_frame_count {10}

◆ acq_mode

std::string camcom::genicam::GenICamEmulator::Impl::acq_mode {"Continuous"}

◆ acq_thread

std::thread camcom::genicam::GenICamEmulator::Impl::acq_thread

◆ acquiring

bool camcom::genicam::GenICamEmulator::Impl::acquiring {false}

◆ connected

bool camcom::genicam::GenICamEmulator::Impl::connected {false}

◆ cv

std::condition_variable camcom::genicam::GenICamEmulator::Impl::cv

◆ frame_buffer

std::vector<uint8_t> camcom::genicam::GenICamEmulator::Impl::frame_buffer

◆ frame_bytes

size_t camcom::genicam::GenICamEmulator::Impl::frame_bytes {0}

◆ frame_count

uint32_t camcom::genicam::GenICamEmulator::Impl::frame_count {0}

◆ frame_cv

std::condition_variable camcom::genicam::GenICamEmulator::Impl::frame_cv

◆ frame_gen

common::FrameGenerator camcom::genicam::GenICamEmulator::Impl::frame_gen

◆ frame_mutex

std::mutex camcom::genicam::GenICamEmulator::Impl::frame_mutex

◆ frame_period

double camcom::genicam::GenICamEmulator::Impl::frame_period {1.0 / 30.0}

◆ frame_rate

double camcom::genicam::GenICamEmulator::Impl::frame_rate {30.0}

◆ frame_ready

bool camcom::genicam::GenICamEmulator::Impl::frame_ready {false}

◆ last_frame_id

uint32_t camcom::genicam::GenICamEmulator::Impl::last_frame_id {0}

◆ mutex

std::mutex camcom::genicam::GenICamEmulator::Impl::mutex

◆ n_planes

int32_t camcom::genicam::GenICamEmulator::Impl::n_planes {10}

◆ nodes

NodeMap camcom::genicam::GenICamEmulator::Impl::nodes

◆ output_height

int32_t camcom::genicam::GenICamEmulator::Impl::output_height {0}

◆ output_width

int32_t camcom::genicam::GenICamEmulator::Impl::output_width {0}

◆ regenerate_needed

std::atomic<bool> camcom::genicam::GenICamEmulator::Impl::regenerate_needed {false}

◆ rng

std::mt19937 camcom::genicam::GenICamEmulator::Impl::rng {std::random_device{}()}

◆ start_time

std::chrono::steady_clock::time_point camcom::genicam::GenICamEmulator::Impl::start_time {std::chrono::steady_clock::now()}

◆ stop_requested

std::atomic<bool> camcom::genicam::GenICamEmulator::Impl::stop_requested {false}

◆ xml_profile_path

std::string camcom::genicam::GenICamEmulator::Impl::xml_profile_path

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