pylon/GrabResultData.h#
Namespaces#
Name |
---|
Pylon Contains definitions of pylon types. |
Classes#
Name | |
---|---|
class | Pylon::CGrabResultData Makes the data for one grabbed buffer available. |
Source code#
//-----------------------------------------------------------------------------
// Basler pylon SDK
// Copyright (c) 2010-2022 Basler AG
// http://www.baslerweb.com
// Author: Andreas Gau
//-----------------------------------------------------------------------------
#ifndef INCLUDED_GRABRESULTDATA_H_1758952
#define INCLUDED_GRABRESULTDATA_H_1758952
#include <pylon/Platform.h>
#ifdef _MSC_VER
# pragma pack(push, PYLON_PACKING)
#endif /* _MSC_VER */
#include <pylon/PylonBase.h>
#include <pylon/PixelType.h>
#include <pylon/PayloadType.h>
#include <GenApi/GenApiDll.h> // [temporary] namespace alias
#include <GenICamFwd.h>
namespace Pylon
{
// Forward declaration
class CPylonDataContainer;
class CPylonDataComponent;
class PYLONBASE_API CGrabResultData
{
public:
bool GrabSucceeded() const;
String_t GetErrorDescription() const;
uint32_t GetErrorCode() const;
EPayloadType GetPayloadType() const;
EPixelType GetPixelType() const;
uint32_t GetWidth() const;
uint32_t GetHeight() const;
uint32_t GetOffsetX() const;
uint32_t GetOffsetY() const;
uint32_t GetPaddingX() const;
uint32_t GetPaddingY() const;
void* GetBuffer() const;
size_t GetPayloadSize() const;
size_t GetBufferSize() const;
uint64_t GetBlockID() const;
uint64_t GetTimeStamp() const;
/*
Uses Pylon::ComputeStride to compute the stride from the result data.
\return The stride in byte.
\pre The preconditions of Pylon::ComputeStride must be met.
\error
Throws an exception if the stride value cannot be computed from the result data.
*/
bool GetStride( size_t& strideBytes ) const;
/*
Uses Pylon::ComputeBufferSize to compute the stride from the result data.
PaddingY is not taken into account.
\return The buffer size in byte.
\pre The preconditions of Pylon::ComputeBufferSize must be met.
\error
Throws an exception if the buffer size cannot be computed from the result data.
*/
size_t GetImageSize() const;
intptr_t GetCameraContext() const;
int64_t GetID() const;
int64_t GetImageNumber() const;
int64_t GetNumberOfSkippedImages() const;
bool IsChunkDataAvailable() const;
GenApi::INodeMap& GetChunkDataNodeMap() const;
/* The chunk feature must be supported and activated, otherwise false is returned. */
bool HasCRC() const;
/*
\error
Throws an exception if GetHasCRC() is false and chunks are activated.
*/
bool CheckCRC() const;
intptr_t GetBufferContext() const;
CPylonDataContainer GetDataContainer() const;
size_t GetDataComponentCount() const;
CPylonDataComponent GetDataComponent( size_t index );
class CGrabResultDataImpl;
CGrabResultDataImpl* GetGrabResultDataImpl();
virtual ~CGrabResultData();
private:
CGrabResultData( const CGrabResultData& );
void operator = ( const CGrabResultData& );
protected:
friend class CInstantCamera;
CGrabResultData();
private:
virtual void Destroy();
virtual void Initialize();
// Internal use only. Subject to change without notice.
friend class CGrabResultDataFactory;
CGrabResultDataImpl* m_pImpl;
// The grab result data
const void*& m_pBuffer;
size_t& m_bufferSize;
bool& m_grabSucceeded;
EPayloadType& m_payloadType;
EPixelType& m_pixelType;
uint64_t& m_timeStamp;
uint32_t& m_width;
uint32_t& m_height;
uint32_t& m_offsetX;
uint32_t& m_offsetY;
uint32_t& m_paddingX;
uint32_t& m_paddingY;
uint64_t& m_payloadSize;
uint32_t& m_errorCode;
String_t& m_errorDescription;
intptr_t& m_cameraContext;
int64_t& m_ID;
int64_t& m_imageNumber;
int64_t& m_skippedImageCount;
intptr_t& m_bufferContext;
uint64_t& m_blockId;
};
}
#ifdef _MSC_VER
# pragma pack(pop)
#endif /* _MSC_VER */
#endif /* INCLUDED_GRABRESULTDATA_H_1758952 */
Updated on 5 July 2022 at 15:30:01