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

Method evaluate_thickness_parameters

tools/Wires/Tiler/AABBTiler.cpp:112–141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

110}
111
112void AABBTiler::evaluate_thickness_parameters(WireNetwork& wire_network,
113 const AABBTiler::FuncList& funcs) {
114 assert(m_params);
115 const size_t num_vertices = wire_network.get_num_vertices();
116 const size_t num_edges = wire_network.get_num_edges();
117 const size_t num_unit_vertices = m_unit_wire_network->get_num_vertices();
118 const size_t num_unit_edges = m_unit_wire_network->get_num_edges();
119
120 size_t num_thickness_entries, thickness_index_stride;
121 if (m_params->get_thickness_type() == ParameterCommon::VERTEX) {
122 thickness_index_stride = num_unit_vertices;
123 num_thickness_entries = num_vertices;
124 wire_network.add_attribute("thickness", true);
125 } else {
126 thickness_index_stride = num_unit_edges;
127 num_thickness_entries = num_edges;
128 wire_network.add_attribute("thickness", false);
129 }
130 MatrixFr thickness(num_thickness_entries, 1);
131
132 ParameterCommon::Variables vars;
133 size_t count=0;
134 for (auto f : funcs) {
135 VectorF local_thickness = m_params->evaluate_thickness(vars);
136 thickness.block(count * thickness_index_stride, 0,
137 thickness_index_stride, 1) = local_thickness;
138 count++;
139 }
140 wire_network.set_attribute("thickness", thickness);
141}
142
143void AABBTiler::evaluate_offset_parameters(WireNetwork& wire_network,
144 const AABBTiler::FuncList& funcs) {

Callers

nothing calls this directly

Calls 6

evaluate_thicknessMethod · 0.80
get_num_verticesMethod · 0.45
get_num_edgesMethod · 0.45
get_thickness_typeMethod · 0.45
add_attributeMethod · 0.45
set_attributeMethod · 0.45

Tested by

no test coverage detected