MCPcopy Create free account
hub / github.com/NanoComp/meep / copy_from

Method copy_from

src/material_data.cpp:52–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50 material_grid_kinds{U_DEFAULT} {}
51
52void material_data::copy_from(const material_data &from) {
53 which_subclass = from.which_subclass;
54 medium = from.medium;
55
56 user_func = from.user_func;
57 // NOTE: the user_data field here opaque/void - so this is the best we can do.
58 user_data = from.user_data;
59 do_averaging = from.do_averaging;
60
61 std::copy(std::begin(from.epsilon_dims), std::end(from.epsilon_dims), std::begin(epsilon_dims));
62 if (from.epsilon_data) {
63 size_t N = from.epsilon_dims[0] * from.epsilon_dims[1] * from.epsilon_dims[2];
64 epsilon_data = new double[N];
65 std::copy_n(from.epsilon_data, N, epsilon_data);
66 }
67
68 grid_size = from.grid_size;
69 if (from.weights) {
70 size_t N = from.grid_size.x * from.grid_size.y * from.grid_size.z;
71 weights = new double[N];
72 std::copy_n(from.weights, N, weights);
73 }
74
75 medium_1 = from.medium_1;
76 medium_2 = from.medium_2;
77 beta = from.beta;
78 eta = from.eta;
79 damping = from.damping;
80 material_grid_kinds = from.material_grid_kinds;
81}
82
83material_type_list::material_type_list() : items(NULL), num_items(0) {}
84

Callers 2

set_default_materialFunction · 0.80
geom_epsilonMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected