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

Class Parameters

python/pymesh/wires/Parameters.py:9–199  ·  view source on GitHub ↗

This class is a thin wrapper around PyMesh.ParameterManager class.

Source from the content-addressed store, hash-verified

7import PyMesh
8
9class Parameters(object):
10 """
11 This class is a thin wrapper around PyMesh.ParameterManager class.
12 """
13
14 def __init__(self, wire_network, default_thickness=0.5):
15 self.wire_network = wire_network
16 if wire_network.dim == 2:
17 self.raw_parameters = PyMesh.ParameterManager.create(
18 self.wire_network.raw_wires, default_thickness,
19 PyMesh.VERTEX)
20 else:
21 self.raw_parameters = PyMesh.ParameterManager.create_empty_manager(
22 self.wire_network.raw_wires, default_thickness)
23
24 def load_default_isotropic_parameters(self, thickness_type=PyMesh.VERTEX):
25 self.raw_parameters = PyMesh.ParameterManager.create_isotropic(
26 self.wire_network.raw_wires, self.default_thickness,
27 thickness_type)
28
29 def load_default_orthotropic_parameters(self, thickness_type=PyMesh.VERTEX):
30 self.raw_parameters = PyMesh.ParameterManager.create(
31 self.wire_network.raw_wires, self.default_thickness,
32 thickness_type)
33
34 def load_modifier_file(self, modifier_file):
35 modifier_setting = self.__load_json(modifier_file)
36 self.load_modifier(modifier_setting)
37
38 def load_modifier(self, setting):
39 self.__initialize_orbits(setting.get("orbit_type", "orthotropic"))
40
41 self.raw_parameters = PyMesh.ParameterManager.create_empty_manager(
42 self.wire_network.raw_wires, self.default_thickness)
43 if "thickness" in setting:
44 self.__load_thickness_modifier(setting["thickness"])
45 if "vertex_offset" in setting:
46 self.__load_offset_modifier(setting["vertex_offset"])
47
48 def load_dof_file(self, dof_file):
49 assert(os.path.exists(dof_file))
50 self.raw_parameters = PyMesh.ParameterManager.create_from_dof_file(
51 self.wire_network.raw_wires, self.default_thickness, dof_file)
52
53 def save_dof_file(self, dof_file):
54 self.raw_parameters.save_dofs(dof_file)
55
56 def __initialize_orbits(self, orbit_type):
57 self.wire_network.compute_symmetry_orbits()
58 if orbit_type == "isotropic":
59 vertex_orbit_ids = self.wire_network.get_attribute(
60 "vertex_cubic_symmetry_orbit").ravel().astype(int)
61 edge_orbit_ids = self.wire_network.get_attribute(
62 "edge_cubic_symmetry_orbit").ravel().astype(int)
63 elif orbit_type == "orthotropic":
64 vertex_orbit_ids = self.wire_network.get_attribute(
65 "vertex_symmetry_orbit").ravel().astype(int)
66 edge_orbit_ids = self.wire_network.get_attribute(

Callers 9

tile_with_guide_bboxMethod · 0.90
tile_with_guide_meshMethod · 0.90
test_tiledMethod · 0.90
test_periodicMethod · 0.90
test_profileMethod · 0.90
test_tile_with_bboxMethod · 0.90
load_parametersFunction · 0.90

Calls

no outgoing calls

Tested by 6

test_tiledMethod · 0.72
test_periodicMethod · 0.72
test_profileMethod · 0.72
test_tile_with_bboxMethod · 0.72