File ManagedInferenceBoundingBox.h¶
File List > SpinnakerNET > ManagedInferenceBoundingBox.h
Go to the documentation of this file
//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================
#ifndef FLIR_SPINNAKER_NET_INFERENCE_BOUNDING_BOX_H
#define FLIR_SPINNAKER_NET_INFERENCE_BOUNDING_BOX_H
#include "ChunkDataInference.h"
#include "ManagedDefs.h"
using namespace ::System;
namespace SpinnakerNET
{
public ref struct ManagedInferenceBoundingBox
{
public:
~ManagedInferenceBoundingBox();
internal:
ManagedInferenceBoundingBox(const Spinnaker::InferenceBoundingBox* nativeBoundingBox);
public:
property InferenceBoundingBoxType BoxType
{
InferenceBoundingBoxType get()
{
return (InferenceBoundingBoxType)(m_nativeBoundingBox->boxType);
}
}
property __int16 ClassId
{
__int16 get()
{
return m_nativeBoundingBox->classId;
}
}
property float Confidence
{
float get()
{
return m_nativeBoundingBox->confidence;
}
}
// Rectangle
property __int16 RectangleTopLeftX
{
__int16 get()
{
return m_nativeBoundingBox->rect.topLeftXCoord;
}
}
property __int16 RectangleTopLeftY
{
__int16 get()
{
return m_nativeBoundingBox->rect.topLeftYCoord;
}
}
property __int16 RectangleBottomRightX
{
__int16 get()
{
return m_nativeBoundingBox->rect.bottomRightXCoord;
}
}
property __int16 RectangleBottomRightY
{
__int16 get()
{
return m_nativeBoundingBox->rect.bottomRightYCoord;
}
}
// Circle
property __int16 CircleCenterX
{
__int16 get()
{
return m_nativeBoundingBox->circle.centerXCoord;
}
}
property __int16 CircleCenterY
{
__int16 get()
{
return m_nativeBoundingBox->circle.centerYCoord;
}
}
property __int16 CircleRadius
{
__int16 get()
{
return m_nativeBoundingBox->circle.radius;
}
}
// Rotated rectangle
property __int16 RotatedRectangleTopLeftX
{
__int16 get()
{
return m_nativeBoundingBox->rotatedRect.topLeftXCoord;
}
}
property __int16 RotatedRectangleTopLeftY
{
__int16 get()
{
return m_nativeBoundingBox->rotatedRect.topLeftYCoord;
}
}
property __int16 RotatedRectangleBottomRightX
{
__int16 get()
{
return m_nativeBoundingBox->rotatedRect.bottomRightXCoord;
}
}
property __int16 RotatedRectangleBottomRightY
{
__int16 get()
{
return m_nativeBoundingBox->rotatedRect.bottomRightYCoord;
}
}
property __int16 RotatedRectangleRotationAngle
{
__int16 get()
{
return m_nativeBoundingBox->rotatedRect.rotationAngle;
}
}
private:
Spinnaker::InferenceBoundingBox* m_nativeBoundingBox;
};
public ref class ManagedInferenceBoundingBoxResult
{
public:
~ManagedInferenceBoundingBoxResult();
internal:
ManagedInferenceBoundingBoxResult(const Spinnaker::InferenceBoundingBoxResult* nativeResult);
public:
property __int8 Version
{
__int8 get()
{
return m_nativeResult->GetVersion();
}
}
property __int16 BoxCount
{
__int16 get()
{
return m_nativeResult->GetBoxCount();
}
}
property __int8 BoxSize
{
__int8 get()
{
return m_nativeResult->GetBoxSize();
}
}
property ManagedInferenceBoundingBox^ BoxAt[int]
{
ManagedInferenceBoundingBox^ get(int index)
{
Spinnaker::InferenceBoundingBox box = m_nativeResult->GetBoxAt(index);
return gcnew ManagedInferenceBoundingBox(&box);
}
}
private:
Spinnaker::InferenceBoundingBoxResult* m_nativeResult;
};
}
#endif // FLIR_SPINNAKER_NET_INFERENCE_BOUNDING_BOX_H