Spinnaker SDK C++
4.3.0.189
 
 

 
Loading...
Searching...
No Matches

The producer object is used to retrieve the list of interfaces and cameras available. More...

#include <Producer.h>

Inheritance diagram for Producer:
IProducer

Public Member Functions

virtual ~Producer (void)
 Default destructor.
 
virtual GenICam::gcstring GetProducerFilePath () const
 Get file path to the producer CTI file.
 
virtual InterfaceList GetInterfaces (bool updateInterface=true)
 Returns a list of interfaces available on the producer.
 
virtual bool UpdateInterfaceList ()
 Updates the list of interfaces on the producer.
 
virtual CameraList GetCameras (bool updateInterfaces=true, bool updateCameras=true)
 Returns a list of cameras that are available on the producer.
 
virtual bool UpdateCameras (bool updateInterfaces=true)
 Updates the list of cameras on the producer.
 
virtual GenApi::INodeMapGetTLNodeMap () const
 Gets a nodeMap that is generated from a GenICam XML file for the producer.
 
void RegisterEventHandler (EventHandler &evtHandlerToRegister, bool updateInterface=false)
 Registers an event handler for the producer.
 
void UnregisterEventHandler (EventHandler &evtHandlerToUnregister)
 Unregisters an event handler for the producer.
 
virtual void RegisterLoggingEventHandler (LoggingEventHandler &handler)
 Registers a logging event.
 
virtual void UnregisterAllLoggingEventHandlers ()
 Unregisters all previously registered logging events.
 
virtual void UnregisterLoggingEventHandler (LoggingEventHandler &handler)
 Unregisters a logging event.
 
virtual void SetLoggingCallbackPriorityLevel (SpinnakerLogLevel level)
 Sets a threshold priority level for logging event.
 
virtual SpinnakerLogLevel GetLoggingCallbackPriorityLevel ()
 Retrieves the current logging event priority level.
 
virtual bool IsInterfaceInUse ()
 Checks if the producer is in use by any interface objects.
 
virtual bool IsCameraInUse ()
 Checks if the producer is in use by any camera objects.
 
virtual void SendActionCommand (unsigned int deviceKey, unsigned int groupKey, unsigned int groupMask, unsigned long long actionTime=0, bool requestAck=false, unsigned int *pResultSize=0, ActionCommandResult results[]=NULL)
 Broadcast an Action Command to all devices on producer.
 
- Public Member Functions inherited from IProducer
virtual ~IProducer ()
 
virtual GenICam::gcstring GetProducerFilePath () const =0
 
virtual InterfaceList GetInterfaces (bool updateInterface=true)=0
 
virtual CameraList GetCameras (bool updateInterface=true, bool updateCameras=true)=0
 
virtual bool UpdateCameras (bool updateInterface=true)=0
 
virtual bool UpdateInterfaceList ()=0
 
virtual GenApi::INodeMapGetTLNodeMap () const =0
 
virtual void RegisterEventHandler (EventHandler &evtHandlerToRegister, bool updateInterface=false)=0
 
virtual void UnregisterEventHandler (EventHandler &evtHandlerToUnregister)=0
 
virtual void RegisterLoggingEventHandler (LoggingEventHandler &handler)=0
 
virtual void UnregisterAllLoggingEventHandlers ()=0
 
virtual void UnregisterLoggingEventHandler (LoggingEventHandler &handler)=0
 
virtual void SetLoggingCallbackPriorityLevel (SpinnakerLogLevel level)=0
 
virtual SpinnakerLogLevel GetLoggingCallbackPriorityLevel ()=0
 
virtual bool IsInterfaceInUse ()=0
 
virtual bool IsCameraInUse ()=0
 
virtual void SendActionCommand (unsigned int deviceKey, unsigned int groupKey, unsigned int groupMask, unsigned long long actionTime, bool requestAck, unsigned int *pResultSize, ActionCommandResult results[]=NULL)=0
 

Protected Member Functions

 Producer ()
 Default constructor.
 
virtual void StopInternalEventHandler ()
 Stops the internal event handler for the system.
 
void ReleaseInstance ()
 Releases the interfaces that are enumerated from this producer.
 
- Protected Member Functions inherited from IProducer
 IProducer ()
 
 IProducer (const IProducer &)
 
IProduceroperator= (const IProducer &)
 
virtual void StopInternalEventHandler ()=0
 
virtual void ReleaseInstance ()=0
 

Friends

class SystemImpl
 
class InterfaceImpl
 

Additional Inherited Members

- Public Attributes inherited from IProducer
TransportLayerSystem TLSystem
 
- Protected Attributes inherited from IProducer
ProducerData * m_pProducerData
 

Detailed Description

The producer object is used to retrieve the list of interfaces and cameras available.

Constructor & Destructor Documentation

◆ ~Producer()

virtual ~Producer ( void  )
virtual

Default destructor.

◆ Producer()

Producer ( )
protected

Default constructor.

Member Function Documentation

◆ GetCameras()

virtual CameraList GetCameras ( bool  updateInterfaces = true,
bool  updateCameras = true 
)
virtual

Returns a list of cameras that are available on the producer.

This call returns both GigE Vision and Usb3 Vision cameras from all interfaces. The camera list object will reference count the cameras it returns. It is important that the camera list is destroyed or is cleared before calling system->ReleaseInstance() or else the call to system->ReleaseInstance() will result in an error message thrown that a reference to the camera is still held.

See also
ReleaseInstance()
CameraList::Clear()
Parameters
updateInterfacesDetermines whether or not updateInterfaceList() is called before getting cameras from available interfaces on the producer
updateCamerasDetermines whether or not UpdateCameras() is called before getting cameras from available interfaces on the producer
Returns
An CameraList object that contains a list of all cameras.

Implements IProducer.

◆ GetInterfaces()

virtual InterfaceList GetInterfaces ( bool  updateInterface = true)
virtual

Returns a list of interfaces available on the producer.

This call returns GigE and Usb2 and Usb3 interfaces. Note that on MacOS only active GigE interfaces will be stored in the returned InterfaceList.

See also
UpdateInterfaceList()
Parameters
updateInterfaceDetermines whether or not UpdateInterfaceList() is called before getting available interfaces
Returns
An InterfaceList object that contains a list of all interfaces.

Implements IProducer.

◆ GetLoggingCallbackPriorityLevel()

virtual SpinnakerLogLevel GetLoggingCallbackPriorityLevel ( )
virtual

Retrieves the current logging event priority level.

Spinnaker uses multiple levels of logging:

  • Fatal - failures that are non-recoverable without user intervention.
  • Error - failures that may or may not be recoverable without user intervention (use case dependent).
  • Warning - failures that are recoverable without user intervention.
  • Notice - information about events such as camera arrival and removal, initialization and deinitialization, starting and stopping image acquisition, and feature modification.
  • Info - information about recurring events that are generated regularly such as information on individual images.
  • Debug - information that can be used to troubleshoot the producer.
See also
SpinnakerLogLevel
Returns
Level The threshold level

Implements IProducer.

◆ GetProducerFilePath()

virtual GenICam::gcstring GetProducerFilePath ( ) const
virtual

Get file path to the producer CTI file.

Returns
std::string that represents the producer CTI file path.

Implements IProducer.

◆ GetTLNodeMap()

virtual GenApi::INodeMap & GetTLNodeMap ( ) const
virtual

Gets a nodeMap that is generated from a GenICam XML file for the producer.

Returns
A reference to a INodeMap object.

Implements IProducer.

◆ IsCameraInUse()

virtual bool IsCameraInUse ( )
virtual

Checks if the producer is in use by any camera objects.

Returns
Returns true if the producer is in use and false otherwise.

Implements IProducer.

◆ IsInterfaceInUse()

virtual bool IsInterfaceInUse ( )
virtual

Checks if the producer is in use by any interface objects.

Returns
Returns true if the producer is in use and false otherwise.

Implements IProducer.

◆ RegisterEventHandler()

void RegisterEventHandler ( EventHandler evtHandlerToRegister,
bool  updateInterface = false 
)
virtual

Registers an event handler for the producer.

See also
SystemEventHandler
InterfaceEventHandler
Parameters
evtHandlerToRegisterThe event handler to register for the producer
updateInterfaceDetermines whether or not UpdateInterfaceList() is called before registering event for available interfaces on the producer

Implements IProducer.

◆ RegisterLoggingEventHandler()

virtual void RegisterLoggingEventHandler ( LoggingEventHandler handler)
virtual

Registers a logging event.

See also
LoggingEventHandler
Parameters
handlerThe logging event handler to register

Implements IProducer.

◆ ReleaseInstance()

void ReleaseInstance ( )
protectedvirtual

Releases the interfaces that are enumerated from this producer.

Implements IProducer.

◆ SendActionCommand()

virtual void SendActionCommand ( unsigned int  deviceKey,
unsigned int  groupKey,
unsigned int  groupMask,
unsigned long long  actionTime = 0,
bool  requestAck = false,
unsigned int *  pResultSize = 0,
ActionCommandResult  results[] = NULL 
)
virtual

Broadcast an Action Command to all devices on producer.

Parameters
deviceKeyThe Action Command's device key
groupKeyThe Action Command's group key
groupMaskThe Action Command's group mask
actionTime(Optional) Time when to assert a future action. Zero means immediate action.
pResultSize(Optional) The number of results in the results array. The value passed should be equal to the expected number of devices that acknowledge the command. Returns the number of received results. If this parameter is 0 or NULL, the function will return as soon as the command has been broadcasted.
results(Optional) An Array with *pResultSize elements to hold the action command result status. The buffer is filled starting from index 0. If received results are less than expected number of devices that acknowledge the command, remaining results are not changed. If received results are more than expected number of devices that acknowledge the command, extra results are ignored and not appended to array. This parameter is ignored if pResultSize is 0. Thus this parameter can be NULL if pResultSize is 0 or NULL.

Implements IProducer.

◆ SetLoggingCallbackPriorityLevel()

virtual void SetLoggingCallbackPriorityLevel ( SpinnakerLogLevel  level)
virtual

Sets a threshold priority level for logging event.

Logging events below such level will not trigger callbacks.

Spinnaker uses multiple levels of logging:

  • Fatal - failures that are non-recoverable without user intervention.
  • Error - failures that may or may not be recoverable without user intervention (use case dependent).
  • Warning - failures that are recoverable without user intervention.
  • Notice - information about events such as camera arrival and removal, initialization and deinitialization, starting and stopping image acquisition, and feature modification.
  • Info - information about recurring events that are generated regularly such as information on individual images.
  • Debug - information that can be used to troubleshoot the producer.
See also
SpinnakerLogLevel
Parameters
levelThe threshold level

Implements IProducer.

◆ StopInternalEventHandler()

virtual void StopInternalEventHandler ( )
protectedvirtual

Stops the internal event handler for the system.

Implements IProducer.

◆ UnregisterAllLoggingEventHandlers()

virtual void UnregisterAllLoggingEventHandlers ( )
virtual

Unregisters all previously registered logging events.

Implements IProducer.

◆ UnregisterEventHandler()

void UnregisterEventHandler ( EventHandler evtHandlerToUnregister)
virtual

Unregisters an event handler for the producer.

See also
SystemEventHandler
InterfaceEventHandler
Parameters
evtHandlerToUnregisterThe interface event handler to unregister from the producer

Implements IProducer.

◆ UnregisterLoggingEventHandler()

virtual void UnregisterLoggingEventHandler ( LoggingEventHandler handler)
virtual

Unregisters a logging event.

See also
LoggingEventHandler
Parameters
handlerThe logging event handler to unregister

Implements IProducer.

◆ UpdateCameras()

virtual bool UpdateCameras ( bool  updateInterfaces = true)
virtual

Updates the list of cameras on the producer.

Note that Producer::GetCameras() internally calls UpdateCameras() for each interface it enumerates. If the list changed between this call and the last time UpdateCameras was called then the return value will be true, otherwise it is false.

See also
GetCameras()
Parameters
updateInterfacesDetermines whether or not UpdateInterfaceList() is called before updating cameras for available interfaces on the producer
Returns
True if cameras changed on interface and false otherwise.

Implements IProducer.

◆ UpdateInterfaceList()

virtual bool UpdateInterfaceList ( )
virtual

Updates the list of interfaces on the producer.

If desired, local copies of InterfaceList should be updated by calling GetInterfaces.

See also
GetInterfaces()

Implements IProducer.

Friends And Related Symbol Documentation

◆ InterfaceImpl

friend class InterfaceImpl
friend

◆ SystemImpl

friend class SystemImpl
friend

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