BioDynaMo
v1.05.120-25dc9790
|
Go to the documentation of this file.
15 #ifndef CORE_ENVIRONMENT_KD_TREE_ENVIRONMENT_
16 #define CORE_ENVIRONMENT_KD_TREE_ENVIRONMENT_
86 void Clear()
override;
89 const Agent& query,
real_t squared_radius)
override;
92 void* criteria)
override;
96 const Agent* query_agent =
nullptr)
override;
103 std::unique_ptr<NanoflannImpl>
impl_;
119 #endif // CORE_ENVIRONMENT_KD_TREE_ENVIRONMENT_
std::array< int32_t, 6 > grid_dimensions_
AgentHandle GetAgentHandle(uint64_t idx) const
size_t GetNumAgents(int numa_node=-1) const
LoadBalanceInfo * GetLoadBalanceInfo() override
Agent * GetAgent(const AgentUid &uid)
void UpdateImplementation() override
std::array< int32_t, 2 > threshold_dimensions_
AgentFlatIdxMap flat_idx_map_
std::array< int32_t, 2 > GetDimensionThresholds() const override
Contains code required by all agents.
std::array< int32_t, 6 > GetDimensions() const override
ResourceManager * GetResourceManager()
Returns the ResourceManager instance.
std::unique_ptr< NanoflannImpl > impl_
NeighborMutexBuilder * GetNeighborMutexBuilder() override
size_t kdtree_get_point_count() const
Must return the number of data points.
real_t kdtree_get_pt(const idx_t idx, int dim) const
real_t kdtree_distance(const coord_t &p1, const idx_t idx_p2, size_t) const
void ForEachNeighbor(Functor< void, Agent *, real_t > &lambda, const Agent &query, real_t squared_radius) override
MathArray< real_t, 3 > Real3
Aliases for a size 3 MathArray.
~KDTreeEnvironment() override
bool kdtree_get_bbox(BBOX &) const
virtual const Real3 & GetPosition() const =0
static Simulation * GetActive()
This function returns the currently active Simulation simulation.
void RoundOffGridDimensions(const std::array< real_t, 6 > &grid_dimensions)
NanoFlannAdapter * nf_adapter_