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

Method __load_offset_modifier

python/pymesh/wires/Parameters.py:102–128  ·  view source on GitHub ↗

syntax: "vertex_offset": { "type": "vertex_orbit", "effective_orbits": [#, #, ...], "offset_percentages": [ [#, #, #], [#, #, #], ... ] }

(self, offset_setting)

Source from the content-addressed store, hash-verified

100 orbits[orbit_id], formula, value)
101
102 def __load_offset_modifier(self, offset_setting):
103 """ syntax:
104 "vertex_offset": {
105 "type": "vertex_orbit",
106 "effective_orbits": [#, #, ...],
107 "offset_percentages": [
108 [#, #, #],
109 [#, #, #],
110 ...
111 ]
112 }
113 """
114 if self.orbit_type == "isotropic":
115 raise NotImplementedError(
116 "Modifier file format does not support isotropic offset parameters")
117
118 orbits = self.vertex_orbits
119 orbit_ids = offset_setting["effective_orbits"]
120 offset_percentages = offset_setting["offset_percentages"]
121 assert(len(orbit_ids) == len(offset_percentages))
122
123 for orbit_id, data in zip(orbit_ids, offset_percentages):
124 assert(len(data) == self.wire_network.dim)
125 for axis, component in enumerate(data):
126 formula, value = self.__split_formula_and_value(component)
127 self.raw_parameters.add_offset_parameter(
128 orbits[orbit_id], formula, value, axis)
129
130 def __set_thickness_type(self, thickness_type):
131 if thickness_type == "vertex_orbit":

Callers 1

load_modifierMethod · 0.95

Calls 4

NotImplementedErrorClass · 0.85
enumerateFunction · 0.85
add_offset_parameterMethod · 0.80

Tested by

no test coverage detected