ストーンの挙動を再現する物理シミュレータを扱うためのインターフェイス
More...
#include <i_simulator.hpp>
|
static constexpr std::uint8_t | kStoneMax = 16 |
| シミュレータ上に配置可能なストーンの最大数
|
|
static constexpr float | kStoneRadius = 0.145f |
| ストーンの半径(m)
|
|
ストーンの挙動を再現する物理シミュレータを扱うためのインターフェイス
ISimulator のインスタンスは ISimulatorFactory の派生クラスの ISimulatorFactory::CreateInstance() でのみ生成されます.
このシミュレータではカーリングのルールやアイスシートの大きさ制限は記述されません. それらについては ApplyMove() で記述されます.
ISimulatorStorage を用いてシミュレーション中の状態を保存/復元することができます. この機能は木探索などで使用されることが想定されます. 状態の保存には ISimulator::CreateStorage() または ISimulator::Save() を, 状態の復元には ISimulatorStorage::CreateSimulator() または ISimulator::Load() を使用します.
- See also
- ISimulatorFactory, ApplyMove()
◆ AllStones
全ストーンの位置と速度
盤面に存在しないストーンは std::nullopt
として表されます.
◆ AreAllStonesStopped()
virtual bool digitalcurling3::ISimulator::AreAllStonesStopped |
( |
| ) |
const |
|
pure virtual |
全ストーンが停止しているかをチェックする.
- Returns
- 全ストーンが停止していれば
true
,一つでも停止していないストーンがあれば false
◆ CreateStorage()
virtual std::unique_ptr<ISimulatorStorage> digitalcurling3::ISimulator::CreateStorage |
( |
| ) |
const |
|
pure virtual |
ストレージを生成し,現在の状態を保存する
- Returns
- 新たに生成されたストレージ (シミュレーション状態のセーブ済み)
◆ GetCollisions()
virtual std::vector<Collision> const& digitalcurling3::ISimulator::GetCollisions |
( |
| ) |
const |
|
pure virtual |
直前の Step() の呼出しで発生したすべての衝突の情報を得る.
- Note
- このメンバ関数の返り値として得られた参照は他のconstでないメンバ関数を呼び出した時点で無効になります. 無効になった参照へアクセスした場合の動作は規定されません. 他のconstでないメンバ関数を呼び出した後も返り値の値を保持したい場合はコピーしてください.
- Returns
- 直前の Step() の呼出しで発生したすべての衝突
◆ GetFactory()
◆ GetSecondsPerFrame()
virtual float digitalcurling3::ISimulator::GetSecondsPerFrame |
( |
| ) |
const |
|
pure virtual |
◆ GetSimulatorId()
virtual std::string digitalcurling3::ISimulator::GetSimulatorId |
( |
| ) |
const |
|
pure virtual |
シミュレータIDを得る.
シミュレータIDはシミュレータの種類ごとに異なる.
- Returns
- シミュレータID
◆ GetStones()
virtual AllStones const& digitalcurling3::ISimulator::GetStones |
( |
| ) |
const |
|
pure virtual |
全ストーンの情報を取得する.
- Note
- このメンバ関数の返り値として得られた参照は他のconstでないメンバ関数を呼び出した時点で無効になります. 無効になった参照へアクセスした場合の動作は規定されません. 他のconstでないメンバ関数を呼び出した後も返り値の値を保持したい場合はコピーしてください.
- Returns
- 全ストーンの情報(位置,角度,速度,角速度)
◆ Load()
ストレージから状態を復元する
- Parameters
-
◆ Save()
ストレージに現在の状態を保存する
- Parameters
-
◆ SetStones()
virtual void digitalcurling3::ISimulator::SetStones |
( |
AllStones const & |
stones | ) |
|
|
pure virtual |
全ストーンの情報を設定する.
- Parameters
-
[in] | stones | 全ストーンの情報(位置,角度,速度,角速度) |
◆ Step()
virtual void digitalcurling3::ISimulator::Step |
( |
| ) |
|
|
pure virtual |
The documentation for this class was generated from the following file:
- /home/runner/work/DigitalCurling3/DigitalCurling3/include/digitalcurling3/detail/i_simulator.hpp