Class AgentVector_CAgent

Inheritance Relationships

Derived Type

Class Documentation

class AgentVector_CAgent

const view into AgentVector

Subclassed by flamegpu::AgentVector_Agent

Public Functions

virtual ~AgentVector_CAgent()
template<typename T>
T getVariable(const std::string &variable_name) const
template<typename T, unsigned int N>
std::array<T, N> getVariable(const std::string &variable_name) const
template<typename T, unsigned int N = 0>
T getVariable(const std::string &variable_name, unsigned int index) const
id_t getID() const
unsigned int getIndex() const

Protected Functions

AgentVector_CAgent(AgentVector *parent, const std::shared_ptr<const AgentData> &agent, const std::weak_ptr<AgentVector::AgentDataMap> &data, flamegpu::size_type pos)

Constructor, only ever called by AgentVector

Protected Attributes

const unsigned int index

Index within _data

const std::weak_ptr<AgentVector::AgentDataMap> _data

Data store

std::shared_ptr<const AgentData> _agent

Copy of agent definition

AgentVector *const _parent

Raw pointer to the parent AgentVector This should not be accessed unless _data can be locked!! It only exists here so that change tracking methods can be called