crystalcell 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES +6 -1
- data/VERSION +1 -1
- data/crystalcell.gemspec +5 -3
- data/lib/crystalcell/cell.rb +7 -7
- data/lib/crystalcell/periodiccell.rb +1 -3
- data/lib/crystalcell/povray.rb +1 -0
- data/lib/crystalcell/povray/camera.rb +57 -0
- data/test/povray/test_camera.rb +109 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ab1ca9023c434c254a2f47ef1daad5f5692399b
|
4
|
+
data.tar.gz: 81e12f4dea37190c62b377d1ffa01a4c79507872
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b69e9a69caaceb60f47e112fd371902436dda5b4af4c06beddb426b6b78b3fe746dcf23191ce11eec062f47977145a6451a0bbe8d4c50967ced6130b648d3a8
|
7
|
+
data.tar.gz: f3c9cfd9614fb65050c0c2ae04961e9a39ecaf50352f9ff5384473492dc8f9664190b534efa4c1e440a49c2ee89b329cb7447fb5bad0177144905866a30a83d3
|
data/CHANGES
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
= crystalcell Changelog
|
2
2
|
|
3
|
-
== Master (for 0.0.
|
3
|
+
== Master (for 0.0.6)
|
4
|
+
|
5
|
+
== Version 0.0.5 [2016-05-09] released
|
6
|
+
|
7
|
+
* Add CrystalCell::Povray::Camera
|
8
|
+
* Delete meaningless codes
|
4
9
|
|
5
10
|
== Version 0.0.4 [2016-03-11] released
|
6
11
|
* LatticeAxes.axes is added.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.5
|
data/crystalcell.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: crystalcell 0.0.
|
5
|
+
# stub: crystalcell 0.0.5 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "crystalcell"
|
9
|
-
s.version = "0.0.
|
9
|
+
s.version = "0.0.5"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["ippei94da"]
|
14
|
-
s.date = "2016-
|
14
|
+
s.date = "2016-05-09"
|
15
15
|
s.description = "This gem provides Cell, LatticeAxes, Atom classes, and so on.\n And this provides simple treatment of a periodic boundary condition.\n "
|
16
16
|
s.email = "ippei94da@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/crystalcell/latticeaxes.rb",
|
35
35
|
"lib/crystalcell/periodiccell.rb",
|
36
36
|
"lib/crystalcell/povray.rb",
|
37
|
+
"lib/crystalcell/povray/camera.rb",
|
37
38
|
"lib/crystalcell/povray/cell.rb",
|
38
39
|
"lib/crystalcell/povray/cylinder.rb",
|
39
40
|
"lib/crystalcell/povray/element.rb",
|
@@ -41,6 +42,7 @@ Gem::Specification.new do |s|
|
|
41
42
|
"lib/crystalcell/povray/triangle.rb",
|
42
43
|
"test/cif/ZrO2-25C.cif",
|
43
44
|
"test/helper.rb",
|
45
|
+
"test/povray/test_camera.rb",
|
44
46
|
"test/povray/test_cell.rb",
|
45
47
|
"test/povray/test_element.rb",
|
46
48
|
"test/test_atom.rb",
|
data/lib/crystalcell/cell.rb
CHANGED
@@ -336,7 +336,7 @@ class CrystalCell::Cell
|
|
336
336
|
end
|
337
337
|
@axes = CrystalCell::LatticeAxes.new( axes )
|
338
338
|
|
339
|
-
atoms = []
|
339
|
+
#atoms = []
|
340
340
|
@atoms.each do |atom|
|
341
341
|
position = []
|
342
342
|
3.times do |i|
|
@@ -476,12 +476,12 @@ class CrystalCell::Cell
|
|
476
476
|
|
477
477
|
#pp axes_t, poss, types, symprec, angle_tolerance
|
478
478
|
|
479
|
-
spgnum, spg, hallnum, hall_symbol, t_mat, o_shift,
|
480
|
-
rotations, translations, wyckoffs =
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
479
|
+
#spgnum, spg, hallnum, hall_symbol, t_mat, o_shift,
|
480
|
+
#rotations, translations, wyckoffs =
|
481
|
+
# get_dataset(axes_t, poss, types, symprec, angle_tolerance)
|
482
|
+
dataset = get_dataset(axes_t, poss, types, symprec, angle_tolerance)
|
483
|
+
rotations = dataset[6]
|
484
|
+
translations = dataset[7]
|
485
485
|
|
486
486
|
results = []
|
487
487
|
rotations.size.times do |index|
|
@@ -244,12 +244,10 @@ class CrystalCell::PeriodicCell < CrystalCell::Cell
|
|
244
244
|
return tmp
|
245
245
|
end
|
246
246
|
|
247
|
-
#undef center_of_atoms
|
248
|
-
|
249
247
|
# superclass の inverse_axis! を行ったあと、
|
250
248
|
# 原子の座標をセル内部に移す。
|
251
249
|
def inverse_axis!( axis_id )
|
252
|
-
result = Marshal.load( Marshal.dump( self ) )
|
250
|
+
#result = Marshal.load( Marshal.dump( self ) )
|
253
251
|
super( axis_id )
|
254
252
|
reset_positions_inside
|
255
253
|
end
|
data/lib/crystalcell/povray.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
#
|
5
|
+
#
|
6
|
+
#
|
7
|
+
class CrystalCell::Povray::Camera
|
8
|
+
#
|
9
|
+
#camera { orthographic
|
10
|
+
# // orthographic // これを入れる場合は location の前に。
|
11
|
+
# location < 3.0, 3.0, 3.0 > // camera location
|
12
|
+
# look_at < 0.0, 0.0, 0.0 > // 注視点
|
13
|
+
# sky < 0.0, 0.0, 1.0 >
|
14
|
+
# right <-1.00, 0.0, 0.0 >
|
15
|
+
# up < 0.0, 1.0, 0.0 >
|
16
|
+
# angle 68 // カメラの水平方向の画角。左右合計の角度。
|
17
|
+
#}
|
18
|
+
#@orthographic = true
|
19
|
+
#@location = [ 3.0, 3.0, 3.0 ]
|
20
|
+
#@look_at = [ 0.0, 0.0, 0.0 ]
|
21
|
+
#@sky = [ 0.0, 0.0, 1.0 ]
|
22
|
+
#@right = [ -1.00, 0.0, 0.0 ]
|
23
|
+
#@up = [ 0.0, 1.0, 0.0 ]
|
24
|
+
#@angle = 68
|
25
|
+
|
26
|
+
attr_accessor :orthographic, :location, :look_at, :sky, :right, :up, :angle
|
27
|
+
|
28
|
+
def initialize(orthographic:, location:, look_at:, sky:, right:, up:, angle:,
|
29
|
+
additions: [])
|
30
|
+
@orthographic = orthographic
|
31
|
+
@location = location
|
32
|
+
@look_at = look_at
|
33
|
+
@sky = sky
|
34
|
+
@right = right
|
35
|
+
@up = up
|
36
|
+
@angle = angle
|
37
|
+
@additions = additions
|
38
|
+
end
|
39
|
+
|
40
|
+
def dump(io)
|
41
|
+
io.puts "camera {"
|
42
|
+
io.puts " orthographic" if @orthographic
|
43
|
+
io.printf(" location <%f, %f, %f >\n", *@location)
|
44
|
+
io.printf(" look_at <%f, %f, %f >\n", *@look_at)
|
45
|
+
io.printf(" sky <%f, %f, %f >\n", *@sky)
|
46
|
+
io.printf(" right <%f, %f, %f >\n", *@right)
|
47
|
+
io.printf(" up <%f, %f, %f >\n", *@up)
|
48
|
+
io.printf(" angle %f\n" , @angle)
|
49
|
+
io.puts "}"
|
50
|
+
@additions.each do |i|
|
51
|
+
io.puts i
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
|
@@ -0,0 +1,109 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
require "pp"
|
5
|
+
require "helper"
|
6
|
+
#require "test/unit"
|
7
|
+
#require "pkg/klass.rb"
|
8
|
+
|
9
|
+
class TC_Camera < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@c00 = CrystalCell::Povray::Camera.new(
|
12
|
+
orthographic: true,
|
13
|
+
location: [ 3.0, 3.0, 3.0 ],
|
14
|
+
look_at: [ 0.0, 0.0, 0.0 ],
|
15
|
+
sky: [ 0.0, 0.0, 1.0 ],
|
16
|
+
right: [ -1.00, 0.0, 0.0 ],
|
17
|
+
up: [ 0.0, 1.0, 0.0 ],
|
18
|
+
angle: 68
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_initialize
|
23
|
+
hash = {
|
24
|
+
orthographic: true,
|
25
|
+
location: [ 3.0, 3.0, 3.0 ],
|
26
|
+
look_at: [ 0.0, 0.0, 0.0 ],
|
27
|
+
sky: [ 0.0, 0.0, 1.0 ],
|
28
|
+
right: [ -1.00, 0.0, 0.0 ],
|
29
|
+
up: [ 0.0, 1.0, 0.0 ],
|
30
|
+
angle: 68
|
31
|
+
}
|
32
|
+
@c01 = CrystalCell::Povray::Camera.new(hash)
|
33
|
+
assert_equal( true , @c01.orthographic)
|
34
|
+
assert_equal( [ 3.0, 3.0, 3.0 ], @c01.location )
|
35
|
+
assert_equal( [ 0.0, 0.0, 0.0 ], @c01.look_at )
|
36
|
+
assert_equal( [ 0.0, 0.0, 1.0 ], @c01.sky )
|
37
|
+
assert_equal( [ -1.00, 0.0, 0.0 ], @c01.right )
|
38
|
+
assert_equal( [ 0.0, 1.0, 0.0 ], @c01.up )
|
39
|
+
assert_equal( 68 , @c01.angle )
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_accessor
|
43
|
+
assert_equal( true , @c00.orthographic)
|
44
|
+
assert_equal( [ 3.0, 3.0, 3.0 ], @c00.location )
|
45
|
+
assert_equal( [ 0.0, 0.0, 0.0 ], @c00.look_at )
|
46
|
+
assert_equal( [ 0.0, 0.0, 1.0 ], @c00.sky )
|
47
|
+
assert_equal( [ -1.00, 0.0, 0.0 ], @c00.right )
|
48
|
+
assert_equal( [ 0.0, 1.0, 0.0 ], @c00.up )
|
49
|
+
assert_equal( 68 , @c00.angle )
|
50
|
+
|
51
|
+
@c00.orthographic = false
|
52
|
+
assert_equal( false , @c00.orthographic)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_additional
|
56
|
+
c10 = CrystalCell::Povray::Camera.new(
|
57
|
+
orthographic: true,
|
58
|
+
location: [ 3.0, 3.0, 3.0 ],
|
59
|
+
look_at: [ 0.0, 0.0, 0.0 ],
|
60
|
+
sky: [ 0.0, 0.0, 1.0 ],
|
61
|
+
right: [ -1.00, 0.0, 0.0 ],
|
62
|
+
up: [ 0.0, 1.0, 0.0 ],
|
63
|
+
angle: 68,
|
64
|
+
additions:[ "background {color rgb<1,1,1>}",
|
65
|
+
"light_source{ < 4, 1, 4 > color <1,1,1> parallel point_at 0 }",
|
66
|
+
"default{ texture{ finish{ ambient 0.4 phong 1.0 phong_size 10 } } }",
|
67
|
+
]
|
68
|
+
)
|
69
|
+
correct = <<HERE
|
70
|
+
camera {
|
71
|
+
orthographic
|
72
|
+
location <3.000000, 3.000000, 3.000000 >
|
73
|
+
look_at <0.000000, 0.000000, 0.000000 >
|
74
|
+
sky <0.000000, 0.000000, 1.000000 >
|
75
|
+
right <-1.000000, 0.000000, 0.000000 >
|
76
|
+
up <0.000000, 1.000000, 0.000000 >
|
77
|
+
angle 68.000000
|
78
|
+
}
|
79
|
+
background {color rgb<1,1,1>}
|
80
|
+
light_source{ < 4, 1, 4 > color <1,1,1> parallel point_at 0 }
|
81
|
+
default{ texture{ finish{ ambient 0.4 phong 1.0 phong_size 10 } } }
|
82
|
+
HERE
|
83
|
+
io = StringIO.new
|
84
|
+
c10.dump(io)
|
85
|
+
io.rewind
|
86
|
+
result = io.read
|
87
|
+
assert_equal(correct, result)
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_dump
|
91
|
+
correct = <<HERE
|
92
|
+
camera {
|
93
|
+
orthographic
|
94
|
+
location <3.000000, 3.000000, 3.000000 >
|
95
|
+
look_at <0.000000, 0.000000, 0.000000 >
|
96
|
+
sky <0.000000, 0.000000, 1.000000 >
|
97
|
+
right <-1.000000, 0.000000, 0.000000 >
|
98
|
+
up <0.000000, 1.000000, 0.000000 >
|
99
|
+
angle 68.000000
|
100
|
+
}
|
101
|
+
HERE
|
102
|
+
io = StringIO.new
|
103
|
+
@c00.dump(io)
|
104
|
+
io.rewind
|
105
|
+
result = io.read
|
106
|
+
assert_equal(correct, result)
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crystalcell
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ippei94da
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|
@@ -160,6 +160,7 @@ files:
|
|
160
160
|
- lib/crystalcell/latticeaxes.rb
|
161
161
|
- lib/crystalcell/periodiccell.rb
|
162
162
|
- lib/crystalcell/povray.rb
|
163
|
+
- lib/crystalcell/povray/camera.rb
|
163
164
|
- lib/crystalcell/povray/cell.rb
|
164
165
|
- lib/crystalcell/povray/cylinder.rb
|
165
166
|
- lib/crystalcell/povray/element.rb
|
@@ -167,6 +168,7 @@ files:
|
|
167
168
|
- lib/crystalcell/povray/triangle.rb
|
168
169
|
- test/cif/ZrO2-25C.cif
|
169
170
|
- test/helper.rb
|
171
|
+
- test/povray/test_camera.rb
|
170
172
|
- test/povray/test_cell.rb
|
171
173
|
- test/povray/test_element.rb
|
172
174
|
- test/test_atom.rb
|