Describes parameters for aether::octree. More...
#include <octree_params.hh>
Public Types | |
using | morton_type = typename T::morton_type |
using | octree_traits = aether::octree_traits< morton_type > |
using | aether_state_type = aether::cell_state< octree_traits > |
using | user_state_builder_type = closure< std::unique_ptr< user_cell_state_interface< octree_traits >>(const aether_state_type &state)> |
using | global_state_builder_type = closure< std::unique_ptr< global_state_base< octree_traits >>()> |
Public Member Functions | |
octree_params_default () | |
template<typename SD > | |
void | serde_visit (SD &sd) |
Serialization definition for sending over the wire. More... | |
template<typename UserState , typename... Args> | |
void | configure_user_state (Args &&...args) |
Allows specifying the type that will be used to provide the functionality of the user-defined cell state. More... | |
template<typename GlobalState , typename... Args> | |
void | configure_global_state (Args &&...args) |
Allows specifying the type that will be used to provide the functionality of the global state process. More... | |
Public Attributes | |
Octree | |
There parameters are used by aether::octree | |
uint64_t | ticks_per_second |
Controls the number of ticks per second that the simulation runs at. More... | |
user_state_builder_type | build_user_state |
A structure. More... | |
global_state_builder_type | build_global_state |
uint32_t | initial_cell_level |
This controls the size of the initial worker. More... | |
hadean::log::level | log_level |
This controls the simulation log level. More... | |
uint32_t | feature_flags |
aether::feature_flags More... | |
int | spawn_cell_level_offset |
float | split_at |
threshold for splitting the worker cells as returned from aether::user_cell_state_interface::estimate_load More... | |
float | merge_at |
threshold for merging the worker cells as returned from aether::user_cell_state_interface::estimate_load More... | |
run_id | run_id |
Describes parameters for aether::octree.
using aether::octree_params_default< T >::aether_state_type = aether::cell_state<octree_traits> |
using aether::octree_params_default< T >::global_state_builder_type = closure<std::unique_ptr<global_state_base<octree_traits>>()> |
using aether::octree_params_default< T >::morton_type = typename T::morton_type |
using aether::octree_params_default< T >::octree_traits = aether::octree_traits<morton_type> |
using aether::octree_params_default< T >::user_state_builder_type = closure<std::unique_ptr<user_cell_state_interface<octree_traits>>(const aether_state_type &state)> |
aether::octree_params_default< T >::octree_params_default | ( | ) |
|
inline |
Allows specifying the type that will be used to provide the functionality of the global state process.
The specified type is supplied as the template parameter GlobalState
and must extend global_state_base.
args | Multiple arguments may be passed here. These arguments will be forwarded to the constructor of the type specified by GlobalState . These arguments must be capable of being serialized by Aether's serialization framework. |
|
inline |
Allows specifying the type that will be used to provide the functionality of the user-defined cell state.
The specified type is supplied as the template parameter UserState
and must extend user_cell_state_interface.
args | Multiple additional arguments may be passed here. These arguments will be forwarded to the constructor of the type specified by UserState . These arguments must be capable of being serialized by Aether's serialization framework. Note that the first argument supplied to the constuctor of UserState will be an instance of cell_state, followed by the forwarded arguments. |
|
inline |
Serialization definition for sending over the wire.
global_state_builder_type aether::octree_params_default< T >::build_global_state |
user_state_builder_type aether::octree_params_default< T >::build_user_state |
A structure.
uint32_t aether::octree_params_default< T >::feature_flags |
uint32_t aether::octree_params_default< T >::initial_cell_level |
This controls the size of the initial worker.
The side length is 2^cell_level.
hadean::log::level aether::octree_params_default< T >::log_level |
This controls the simulation log level.
float aether::octree_params_default< T >::merge_at |
threshold for merging the worker cells as returned from aether::user_cell_state_interface::estimate_load
run_id aether::octree_params_default< T >::run_id |
int aether::octree_params_default< T >::spawn_cell_level_offset |
float aether::octree_params_default< T >::split_at |
threshold for splitting the worker cells as returned from aether::user_cell_state_interface::estimate_load
uint64_t aether::octree_params_default< T >::ticks_per_second |
Controls the number of ticks per second that the simulation runs at.