|
Blender
V2.93
|
#include <typeinfo>#include "FN_multi_function_builder.hh"#include "FN_multi_function_network_evaluation.hh"#include "FN_multi_function_network_optimization.hh"#include "BLI_disjoint_set.hh"#include "BLI_ghash.h"#include "BLI_map.hh"#include "BLI_multi_value_map.hh"#include "BLI_rand.h"#include "BLI_stack.hh"Go to the source code of this file.
Classes | |
| class | blender::fn::mf_network_optimization::MyClass |
Namespaces | |
| blender | |
| blender::fn | |
| blender::fn::mf_network_optimization | |
Functions | |
Utility functions to find nodes in a network. | |
| static bool | blender::fn::mf_network_optimization::set_tag_and_check_if_modified (bool &tag, bool new_value) |
| static Array< bool > | blender::fn::mf_network_optimization::mask_nodes_to_the_left (MFNetwork &network, Span< MFNode * > nodes) |
| static Array< bool > | blender::fn::mf_network_optimization::mask_nodes_to_the_right (MFNetwork &network, Span< MFNode * > nodes) |
| static Vector< MFNode * > | blender::fn::mf_network_optimization::find_nodes_based_on_mask (MFNetwork &network, Span< bool > id_mask, bool mask_value) |
Dead Node Removal | |
| void | blender::fn::mf_network_optimization::dead_node_removal (MFNetwork &network) |
Constant Folding | |
| static bool | blender::fn::mf_network_optimization::function_node_can_be_constant (MFFunctionNode *node) |
| static Vector< MFNode * > | blender::fn::mf_network_optimization::find_non_constant_nodes (MFNetwork &network) |
| static bool | blender::fn::mf_network_optimization::output_has_non_constant_target_node (MFOutputSocket *output_socket, Span< bool > is_not_constant_mask) |
| static MFInputSocket * | blender::fn::mf_network_optimization::try_find_dummy_target_socket (MFOutputSocket *output_socket) |
| static Vector< MFInputSocket * > | blender::fn::mf_network_optimization::find_constant_inputs_to_fold (MFNetwork &network, Vector< MFDummyNode * > &r_temporary_nodes) |
| static void | blender::fn::mf_network_optimization::prepare_params_for_constant_folding (const MultiFunction &network_fn, MFParamsBuilder ¶ms, ResourceScope &scope) |
| static Array< MFOutputSocket * > | blender::fn::mf_network_optimization::add_constant_folded_sockets (const MultiFunction &network_fn, MFParamsBuilder ¶ms, ResourceScope &scope, MFNetwork &network) |
| static Array< MFOutputSocket * > | blender::fn::mf_network_optimization::compute_constant_sockets_and_add_folded_nodes (MFNetwork &network, Span< const MFInputSocket * > sockets_to_compute, ResourceScope &scope) |
| void | blender::fn::mf_network_optimization::constant_folding (MFNetwork &network, ResourceScope &scope) |
Common Sub-network Elimination | |
| static uint64_t | blender::fn::mf_network_optimization::compute_node_hash (MFFunctionNode &node, RNG *rng, Span< uint64_t > node_hashes) |
| static Array< uint64_t > | blender::fn::mf_network_optimization::compute_node_hashes (MFNetwork &network) |
| static MultiValueMap< uint64_t, MFNode * > | blender::fn::mf_network_optimization::group_nodes_by_hash (MFNetwork &network, Span< uint64_t > node_hashes) |
| static bool | blender::fn::mf_network_optimization::functions_are_equal (const MultiFunction &a, const MultiFunction &b) |
| static bool | blender::fn::mf_network_optimization::nodes_output_same_values (DisjointSet &cache, const MFNode &a, const MFNode &b) |
| static void | blender::fn::mf_network_optimization::relink_duplicate_nodes (MFNetwork &network, MultiValueMap< uint64_t, MFNode * > &nodes_by_hash) |
| void | blender::fn::mf_network_optimization::common_subnetwork_elimination (MFNetwork &network) |