CandidateLaneRecipe.cpp
//------------------------------------------------------------------------------
/// @file
/// @author ハル研究所プログラミングコンテスト実行委員会
///
/// @copyright Copyright (c) 2018 HAL Laboratory, Inc.
/// @attention このファイルの利用は、同梱のREADMEにある
/// 利用条件に従ってください。
//------------------------------------------------------------------------------
#pragma once
#include "CandidateLaneRecipe.hpp"
//------------------------------------------------------------------------------
#include "Assert.hpp"
#include "Print.hpp"
//------------------------------------------------------------------------------
namespace hpc {
//------------------------------------------------------------------------------
CandidateLaneRecipe::CandidateLaneRecipe()
: mMinSampleEdgeLength()
, mMaxSampleEdgeLength()
, mFoldPosRatioMin()
, mFoldPosRatioTerm()
, mMinPrimalScore()
, mMaxPrimalScore()
, mScoreCoeffMin()
, mScoreCoeffTerm()
, mVisiblePieceCount()
{
}
//------------------------------------------------------------------------------
CandidateLaneRecipe::CandidateLaneRecipe(
int aMinSampleEdgeLength,
int aMaxSampleEdgeLength,
float aFoldPosRatioMin,
float aFoldPosRatioTerm,
int aMinPrimalScore,
int aMaxPrimalScore,
float aScoreCoeffMin,
float aScoreCoeffTerm,
int aVisiblePieceCount
)
: mMinSampleEdgeLength(aMinSampleEdgeLength)
, mMaxSampleEdgeLength(aMaxSampleEdgeLength)
, mFoldPosRatioMin(aFoldPosRatioMin)
, mFoldPosRatioTerm(aFoldPosRatioTerm)
, mMinPrimalScore(aMinPrimalScore)
, mMaxPrimalScore(aMaxPrimalScore)
, mScoreCoeffMin(aScoreCoeffMin)
, mScoreCoeffTerm(aScoreCoeffTerm)
, mVisiblePieceCount(aVisiblePieceCount)
{
HPC_ASSERT_GREATER_EQUAL_I(aMinSampleEdgeLength, 1);
HPC_ASSERT_GREATER_EQUAL_I(aMaxSampleEdgeLength, 1);
}
//------------------------------------------------------------------------------
int CandidateLaneRecipe::minSampleEdgeLength() const
{
return mMinSampleEdgeLength;
}
//------------------------------------------------------------------------------
int CandidateLaneRecipe::maxSampleEdgeLength() const
{
return mMaxSampleEdgeLength;
}
//------------------------------------------------------------------------------
float CandidateLaneRecipe::foldPosRatioMin() const
{
return mFoldPosRatioMin;
}
//------------------------------------------------------------------------------
float CandidateLaneRecipe::foldPosRatioTerm() const
{
return mFoldPosRatioTerm;
}
//------------------------------------------------------------------------------
int CandidateLaneRecipe::minPrimalScore() const
{
return mMinPrimalScore;
}
//------------------------------------------------------------------------------
int CandidateLaneRecipe::maxPrimalScore() const
{
return mMaxPrimalScore;
}
//------------------------------------------------------------------------------
float CandidateLaneRecipe::scoreCoeffMin() const
{
return mScoreCoeffMin;
}
//------------------------------------------------------------------------------
float CandidateLaneRecipe::scoreCoeffTerm() const
{
return mScoreCoeffTerm;
}
//------------------------------------------------------------------------------
int CandidateLaneRecipe::visiblePieceCount() const
{
return mVisiblePieceCount;
}
} // namespace
// EOF