Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::sim::ProbeReference Class Reference

#include <probe_sim.h>

Collaboration diagram for bicameral::sim::ProbeReference:
[legend]

Public Member Functions

 ProbeReference (const BakedReactionTable &table, std::span< const reaction::RxCell > initialWorld={})
void Advance (uint64_t tick, std::span< const ProbeCommand > commands, const BakedReactionTable *newTable=nullptr)
std::span< const reaction::RxCell > State (uint64_t tick) const
std::span< const reaction::HcThermalCache > Caches (uint64_t tick) const
uint64_t SourceEnergy () const
uint32_t ScheduledBlocks () const
uint32_t WokenBlocks () const
std::span< const uint8_t > BlockFlags () const
std::span< const uint64_t > ChangedMarks () const

Private Attributes

const BakedReactionTable * m_table
std::vector< reaction::RxCell > m_cells
std::vector< reaction::HcThermalCache > m_caches
std::vector< uint8_t > m_blockFlags
std::vector< uint64_t > m_changedMarks
std::vector< uint8_t > m_scheduled
uint64_t m_sourceEnergy = 0
uint32_t m_scheduledBlocks = 0
uint32_t m_wokenBlocks = 0

Detailed Description

Definition at line 452 of file probe_sim.h.

Constructor & Destructor Documentation

◆ ProbeReference()

bicameral::sim::ProbeReference::ProbeReference ( const BakedReactionTable & table,
std::span< const reaction::RxCell > initialWorld = {} )
explicit

Definition at line 1156 of file probe_sim.cpp.

References m_blockFlags, m_caches, m_cells, m_changedMarks, m_scheduled, m_table, bicameral::sim::MakeProbeInitialWorld(), bicameral::sim::ProbeInitialBlockWakes(), and bicameral::sim::BakedReactionTable::View().

Here is the call graph for this function:

Member Function Documentation

◆ Advance()

void bicameral::sim::ProbeReference::Advance ( uint64_t tick,
std::span< const ProbeCommand > commands,
const BakedReactionTable * newTable = nullptr )

◆ BlockFlags()

std::span< const uint8_t > bicameral::sim::ProbeReference::BlockFlags ( ) const
inlinenodiscard

Definition at line 479 of file probe_sim.h.

References m_blockFlags.

◆ Caches()

std::span< const reaction::HcThermalCache > bicameral::sim::ProbeReference::Caches ( uint64_t tick) const
nodiscard

Definition at line 1247 of file probe_sim.cpp.

References m_caches.

◆ ChangedMarks()

std::span< const uint64_t > bicameral::sim::ProbeReference::ChangedMarks ( ) const
inlinenodiscard

Definition at line 483 of file probe_sim.h.

References m_changedMarks.

◆ ScheduledBlocks()

uint32_t bicameral::sim::ProbeReference::ScheduledBlocks ( ) const
inlinenodiscard

Definition at line 472 of file probe_sim.h.

References m_scheduledBlocks.

◆ SourceEnergy()

uint64_t bicameral::sim::ProbeReference::SourceEnergy ( ) const
inlinenodiscard

Definition at line 469 of file probe_sim.h.

References m_sourceEnergy.

◆ State()

std::span< const reaction::RxCell > bicameral::sim::ProbeReference::State ( uint64_t tick) const
nodiscard

Definition at line 1235 of file probe_sim.cpp.

References m_cells.

◆ WokenBlocks()

uint32_t bicameral::sim::ProbeReference::WokenBlocks ( ) const
inlinenodiscard

Definition at line 475 of file probe_sim.h.

References m_wokenBlocks.

Member Data Documentation

◆ m_blockFlags

std::vector<uint8_t> bicameral::sim::ProbeReference::m_blockFlags
private

Definition at line 489 of file probe_sim.h.

Referenced by Advance(), BlockFlags(), and ProbeReference().

◆ m_caches

std::vector<reaction::HcThermalCache> bicameral::sim::ProbeReference::m_caches
private

Definition at line 488 of file probe_sim.h.

Referenced by Advance(), Caches(), and ProbeReference().

◆ m_cells

std::vector<reaction::RxCell> bicameral::sim::ProbeReference::m_cells
private

Definition at line 487 of file probe_sim.h.

Referenced by Advance(), ProbeReference(), and State().

◆ m_changedMarks

std::vector<uint64_t> bicameral::sim::ProbeReference::m_changedMarks
private

Definition at line 490 of file probe_sim.h.

Referenced by Advance(), ChangedMarks(), and ProbeReference().

◆ m_scheduled

std::vector<uint8_t> bicameral::sim::ProbeReference::m_scheduled
private

Definition at line 491 of file probe_sim.h.

Referenced by Advance(), and ProbeReference().

◆ m_scheduledBlocks

uint32_t bicameral::sim::ProbeReference::m_scheduledBlocks = 0
private

Definition at line 493 of file probe_sim.h.

Referenced by Advance(), and ScheduledBlocks().

◆ m_sourceEnergy

uint64_t bicameral::sim::ProbeReference::m_sourceEnergy = 0
private

Definition at line 492 of file probe_sim.h.

Referenced by Advance(), and SourceEnergy().

◆ m_table

const BakedReactionTable* bicameral::sim::ProbeReference::m_table
private

Definition at line 486 of file probe_sim.h.

Referenced by Advance(), and ProbeReference().

◆ m_wokenBlocks

uint32_t bicameral::sim::ProbeReference::m_wokenBlocks = 0
private

Definition at line 494 of file probe_sim.h.

Referenced by Advance(), and WokenBlocks().


The documentation for this class was generated from the following files: