MCPcopy Create free account
hub / github.com/PyMesh/PyMesh / evaluate_thickness_parameters

Method evaluate_thickness_parameters

tools/Wires/Tiler/MeshTiler.cpp:79–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

77}
78
79void MeshTiler::evaluate_thickness_parameters(WireNetwork& wire_network,
80 const MeshTiler::FuncList& funcs) {
81 const size_t num_vertices = wire_network.get_num_vertices();
82 const size_t num_edges = wire_network.get_num_edges();
83 const size_t num_unit_vertices = m_unit_wire_network->get_num_vertices();
84 const size_t num_unit_edges = m_unit_wire_network->get_num_edges();
85
86 size_t num_thickness_entries, thickness_index_stride;
87 if (m_params->get_thickness_type() == ParameterCommon::VERTEX) {
88 thickness_index_stride = num_unit_vertices;
89 num_thickness_entries = num_vertices;
90 wire_network.add_attribute("thickness", true);
91 } else {
92 thickness_index_stride = num_unit_edges;
93 num_thickness_entries = num_edges;
94 wire_network.add_attribute("thickness", false);
95 }
96 MatrixFr thickness(num_thickness_entries, 1);
97
98 auto vars_array = extract_attributes(m_mesh);
99 assert(vars_array.size() == funcs.size());
100 size_t count=0;
101 auto vars_itr = vars_array.begin();
102 for (auto f : funcs) {
103 assert(vars_itr != vars_array.end());
104 VectorF local_thickness = m_params->evaluate_thickness(*vars_itr);
105 thickness.block(count * thickness_index_stride, 0,
106 thickness_index_stride, 1) = local_thickness;
107 count++;
108 vars_itr++;
109 }
110 wire_network.set_attribute("thickness", thickness);
111}
112
113void MeshTiler::evaluate_offset_parameters(WireNetwork& wire_network,
114 const MeshTiler::FuncList& funcs) {

Callers

nothing calls this directly

Calls 9

evaluate_thicknessMethod · 0.80
get_num_verticesMethod · 0.45
get_num_edgesMethod · 0.45
get_thickness_typeMethod · 0.45
add_attributeMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
set_attributeMethod · 0.45

Tested by

no test coverage detected