8 from __future__
import print_function
11 tfn = RMF._get_temporary_file_path(
"alternatives.rmf3")
15 f.add_frame(
"frame", RMF.FRAME)
18 rh = f.get_root_node()
20 pf = RMF.ParticleFactory(f)
21 gpf = RMF.GaussianParticleFactory(f)
22 rff = RMF.ReferenceFrameFactory(f)
25 def frange(x, y, jump):
31 def create_hierarchy(radius):
32 root = f.add_node(str(radius), RMF.REPRESENTATION)
33 for i
in frange(0., 8, radius):
34 for j
in frange(0., 8, radius):
35 for k
in frange(0., 8, radius):
41 str(i) +
"-" + str(j) +
"-" + str(k),
44 d.set_static_radius(radius)
45 d.set_frame_coordinates(center)
46 d.set_static_mass(radius ** 3)
50 def create_gmm(radius=1.):
51 root = f.add_node(
"gmm" + str(radius), RMF.REPRESENTATION)
52 for i
in frange(0., 8, radius):
53 for j
in frange(0., 8, radius):
60 str(i) +
"-" + str(j),
63 d.set_variances(
RMF.Vector3(radius / 2, radius / 2, 4))
64 d.set_static_mass(radius ** 3)
67 rf.set_translation(center)
70 n = create_hierarchy(4)
73 af = RMF.AlternativesFactory(f)
75 da.add_alternative(create_hierarchy(1), RMF.PARTICLE)
76 da.add_alternative(create_hierarchy(2), RMF.PARTICLE)
77 da.add_alternative(create_hierarchy(4), RMF.PARTICLE)
78 da.add_alternative(create_gmm(), RMF.GAUSSIAN_PARTICLE)
82 print(
"particles", RMF.get_resolutions(n, RMF.PARTICLE))
83 print(
"gaussian particles", RMF.get_resolutions(n, RMF.GAUSSIAN_PARTICLE))
void show_hierarchy(NodeConstHandle root)
FileHandle create_rmf_file(std::string path)
Create an RMF from a file system path.