tbd 3.4.1 → 3.4.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/tbd/psi.rb CHANGED
@@ -1717,49 +1717,26 @@ module TBD
1717
1717
  t_model.wires.each do |wire|
1718
1718
  next unless surface[:wire] == wire.id # should be a unique match
1719
1719
 
1720
- normal = tbd[:surfaces][id][:n] if tbd[:surfaces].key?(id)
1721
- normal = holes[id].attributes[:n] if holes.key?(id)
1722
- normal = shades[id][:n] if shades.key?(id)
1723
- farthest = Topolys::Point3D.new(origin.x, origin.y, origin.z)
1724
- farthest_V = farthest - origin # zero magnitude, initially
1725
- inverted = false
1726
- i_origin = wire.points.index(origin)
1727
- i_terminal = wire.points.index(terminal)
1728
- i_last = wire.points.size - 1
1729
-
1730
- if i_terminal == 0
1731
- inverted = true unless i_origin == i_last
1732
- elsif i_origin == i_last
1733
- inverted = true unless i_terminal == 0
1734
- else
1735
- inverted = true unless i_terminal - i_origin == 1
1736
- end
1720
+ normal = tbd[:surfaces][id][:n] if tbd[:surfaces].key?(id)
1721
+ normal = holes[id].attributes[:n] if holes.key?(id)
1722
+ normal = shades[id][:n] if shades.key?(id)
1723
+ farthest = Topolys::Point3D.new(origin.x, origin.y, origin.z)
1724
+ farthest_V = farthest - origin # zero magnitude, initially
1725
+ farthest_mag = 0
1737
1726
 
1738
1727
  wire.points.each do |point|
1739
1728
  next if point == origin
1740
1729
  next if point == terminal
1741
1730
 
1742
- point_on_plane = edge_plane.project(point)
1743
- origin_point_V = point_on_plane - origin
1744
- point_V_magnitude = origin_point_V.magnitude
1745
- next unless point_V_magnitude > TOL
1746
-
1747
- # Generate a plane between origin, terminal & point. Only consider
1748
- # planes that share the same normal as wire.
1749
- if inverted
1750
- plane = Topolys::Plane3D.from_points(terminal, origin, point)
1751
- else
1752
- plane = Topolys::Plane3D.from_points(origin, terminal, point)
1753
- end
1754
-
1755
- dnx = (normal.x - plane.normal.x).abs
1756
- dny = (normal.y - plane.normal.y).abs
1757
- dnz = (normal.z - plane.normal.z).abs
1758
- next unless dnx < TOL && dny < TOL && dnz < TOL
1731
+ point_on_plane = edge_plane.project(point)
1732
+ origin_point_V = point_on_plane - origin
1733
+ point_V_mag = origin_point_V.magnitude
1734
+ next unless point_V_mag > TOL
1735
+ next unless point_V_mag > farthest_mag
1759
1736
 
1760
- farther = point_V_magnitude > farthest_V.magnitude
1761
- farthest = point if farther
1762
- farthest_V = origin_point_V if farther
1737
+ farthest = point
1738
+ farthest_V = origin_point_V
1739
+ fathest_mag = point_V_mag
1763
1740
  end
1764
1741
 
1765
1742
  angle = reference_V.angle(farthest_V)
@@ -2125,7 +2102,7 @@ module TBD
2125
2102
  end
2126
2103
 
2127
2104
  # Label edge as :ceiling if linked to:
2128
- # +1 deratable surfaces
2105
+ # +1 deratable surface(s)
2129
2106
  # 1x underatable CONDITIONED floor linked to an unoccupied space
2130
2107
  # 1x adjacent CONDITIONED ceiling linked to an occupied space
2131
2108
  edge[:surfaces].keys.each do |i|
@@ -2139,9 +2116,9 @@ module TBD
2139
2116
  next if floors[i][:occupied ]
2140
2117
 
2141
2118
  ceiling = floors[i][:boundary]
2142
- next unless ceilings.key?(ceiling)
2143
- next unless ceilings[ceiling][:conditioned]
2144
- next unless ceilings[ceiling][:occupied ]
2119
+ next unless ceilings.key?(ceiling)
2120
+ next unless ceilings[ceiling][:conditioned]
2121
+ next unless ceilings[ceiling][:occupied ]
2145
2122
 
2146
2123
  other = deratables.first unless deratables.first == id
2147
2124
  other = deratables.last unless deratables.last == id
@@ -3308,9 +3285,9 @@ module TBD
3308
3285
  match2 = /files/.match(file_paths[1].to_s.strip)
3309
3286
  match = match1 || match2
3310
3287
 
3311
- if file_paths.size >= 2 && File.exists?(file_paths[1].to_s.strip) && match
3288
+ if file_paths.size >= 2 && File.exist?(file_paths[1].to_s.strip) && match
3312
3289
  out_dir = file_paths[1].to_s.strip
3313
- elsif !file_paths.empty? && File.exists?(file_paths.first.to_s.strip)
3290
+ elsif !file_paths.empty? && File.exist?(file_paths.first.to_s.strip)
3314
3291
  out_dir = file_paths.first.to_s.strip
3315
3292
  end
3316
3293
 
data/lib/tbd/ua.rb CHANGED
@@ -799,8 +799,8 @@ module TBD
799
799
  blc.each do |b|
800
800
  bloc = b1
801
801
  bloc = b2 if b == :b2
802
- pro_sum = bloc[:pro].values.reduce(:+)
803
- ref_sum = bloc[:ref].values.reduce(:+)
802
+ pro_sum = bloc[:pro].values.sum
803
+ ref_sum = bloc[:ref].values.sum
804
804
 
805
805
  if pro_sum > TOL || ref_sum > TOL
806
806
  ratio = nil
@@ -1000,7 +1000,7 @@ module TBD
1000
1000
  model = "* modèle : #{ua[:file]}" if ua.key?(:file) && lang == :fr
1001
1001
  model += " (v#{ua[:version]})" if ua.key?(:version)
1002
1002
  report << model unless model.empty?
1003
- report << "* TBD : v3.4.0"
1003
+ report << "* TBD : v3.4.3"
1004
1004
  report << "* date : #{ua[:date]}"
1005
1005
 
1006
1006
  if lang == :en
data/lib/tbd/version.rb CHANGED
@@ -21,5 +21,5 @@
21
21
  # SOFTWARE.
22
22
 
23
23
  module TBD
24
- VERSION = "3.4.1".freeze # TBD release version
24
+ VERSION = "3.4.3".freeze # TBD release version
25
25
  end
data/lib/tbd.rb CHANGED
@@ -31,21 +31,21 @@ rescue LoadError
31
31
  require_relative "topolys/version"
32
32
  end
33
33
 
34
- begin # try to load from the Topolys gem
34
+ begin # try to load from the OSlg gem
35
35
  require "oslg"
36
36
  rescue LoadError
37
37
  require_relative "oslg/oslog"
38
- require_relative "osut/version"
38
+ require_relative "oslg/version"
39
39
  end
40
40
 
41
- begin # try to load from the Topolys gem
41
+ begin # try to load from the OSut gem
42
42
  require "osut"
43
43
  rescue LoadError
44
44
  require_relative "osut/utils"
45
45
  require_relative "osut/version"
46
46
  end
47
47
 
48
- begin # try to load from the Topolys gem
48
+ begin # try to load from the TBD gem
49
49
  require "tbd/psi"
50
50
  require "tbd/geo"
51
51
  require "tbd/ua"
@@ -58,16 +58,16 @@ rescue LoadError
58
58
  end
59
59
 
60
60
  module TBD
61
- extend OSut # OpenStudio utilities
61
+ extend OSut # OpenStudio utilities
62
62
 
63
- TOL = OSut::TOL # default distance tolerance (m)
64
- TOL2 = OSut::TOL2 # default area tolerance (m2)
65
- DBG = OSut::DEBUG # github.com/rd2/oslg
66
- INF = OSut::INFO # github.com/rd2/oslg
67
- WRN = OSut::WARN # github.com/rd2/oslg
68
- ERR = OSut::ERR # github.com/rd2/oslg
69
- FTL = OSut::FATAL # github.com/rd2/oslg
70
- NS = "nameString" # OpenStudio IdfObject nameString method
63
+ TOL = OSut::TOL.dup # default distance tolerance (m)
64
+ TOL2 = OSut::TOL2.dup # default area tolerance (m2)
65
+ DBG = OSut::DEBUG.dup # github.com/rd2/oslg
66
+ INF = OSut::INFO.dup # github.com/rd2/oslg
67
+ WRN = OSut::WARN.dup # github.com/rd2/oslg
68
+ ERR = OSut::ERR.dup # github.com/rd2/oslg
69
+ FTL = OSut::FATAL.dup # github.com/rd2/oslg
70
+ NS = OSut::NS.dup # OpenStudio IdfObject nameString method
71
71
 
72
72
  extend TBD
73
73
  end
data/tbd.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
 
31
31
  s.add_dependency "topolys", "~> 0"
32
32
  s.add_dependency "osut", "~> 0"
33
- s.add_dependency "json-schema", "~> 2.7.0"
33
+ s.add_dependency "json-schema", "~> 4"
34
34
 
35
35
  s.add_development_dependency "bundler", "~> 2.1"
36
36
  s.add_development_dependency "rake", "~> 13.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tbd
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Bourgeois & Dan Macumber
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-17 00:00:00.000000000 Z
11
+ date: 2024-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: topolys
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.7.0
47
+ version: '4'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.7.0
54
+ version: '4'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -166,7 +166,7 @@ licenses:
166
166
  - MIT
167
167
  metadata:
168
168
  homepage_uri: https://github.com/rd2/tbd
169
- source_code_uri: https://github.com/rd2/tbd/tree/v3.4.1
169
+ source_code_uri: https://github.com/rd2/tbd/tree/v3.4.3
170
170
  bug_tracker_uri: https://github.com/rd2/tbd/issues
171
171
  post_install_message:
172
172
  rdoc_options: []