tbd 3.4.1 → 3.4.3

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.
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: []