OpenSiv3D
OpenSiv3D copied to clipboard
LineString::calculateRoundBuffer() でサイズが1のときに円を返す提案
サイズが1の LineString
に対して .calculateRoundBuffer()
を呼んだとき、現在は空のポリゴンが返りますが、円のポリゴンを返すようにすることを提案します。
この方がより自然な挙動だと思います。
# include <Siv3D.hpp>
void Main()
{
const LineString lineString
{
Vec2{ 400, 300 },
};
// 円ができるほうが自然ではないか?
const auto polygon = lineString.calculateRoundBuffer(10);
while (System::Update())
{
polygon.draw();
}
}
実装は、以下のコードの条件を points.size() < 1
に変更するだけです。
https://github.com/Siv3D/OpenSiv3D/blob/a5a6d7bf1e0399a53607eebd956472fd15026c55/Siv3D/src/Siv3D/Polygon/PolygonDetail.cpp?ts=4#L1293-L1296