BioDynaMo
v1.05.120-25dc9790
|
Go to the documentation of this file.
15 #ifndef CORE_ENVIRONMENT_OCTREE_ENVIRONMENT_
16 #define CORE_ENVIRONMENT_OCTREE_ENVIRONMENT_
59 void Clear()
override;
62 const Agent& query,
real_t squared_radius)
override;
65 void* criteria)
override;
69 const Agent* query_agent =
nullptr)
override;
76 std::unique_ptr<UnibnImpl>
impl_;
92 #endif // CORE_ENVIRONMENT_OCTREE_ENVIRONMENT_
AgentHandle GetAgentHandle(uint64_t idx) const
size_t GetNumAgents(int numa_node=-1) const
NeighborMutexBuilder * GetNeighborMutexBuilder() override
Agent * GetAgent(const AgentUid &uid)
std::unique_ptr< UnibnImpl > impl_
void UpdateImplementation() override
void RoundOffGridDimensions(const std::array< real_t, 6 > &grid_dimensions)
AgentContainer * container_
const Real3 & operator[](size_t idx) const
AgentFlatIdxMap flat_idx_map_
void ForEachNeighbor(Functor< void, Agent *, real_t > &lambda, const Agent &query, real_t squared_radius) override
Contains code required by all agents.
LoadBalanceInfo * GetLoadBalanceInfo() override
std::array< int32_t, 2 > threshold_dimensions_
std::array< int32_t, 2 > GetDimensionThresholds() const override
ResourceManager * GetResourceManager()
Returns the ResourceManager instance.
virtual const Real3 & GetPosition() const =0
static Simulation * GetActive()
This function returns the currently active Simulation simulation.
std::array< int32_t, 6 > grid_dimensions_
std::array< int32_t, 6 > GetDimensions() const override
~OctreeEnvironment() override