module Microstation::ScanTrait
Public Instance Methods
cells_criteria()
click to toggle source
# File lib/microstation/scan_trait.rb, line 22 def cells_criteria app.scanners[:cells] || app.create_scanner(:cells){ include_cells} end
create_scanner(&block)
click to toggle source
# File lib/microstation/scan/scan_trait.rb, line 6 def create_scanner(&block) app.create_scanner(&block) end
graphics_criteria()
click to toggle source
# File lib/microstation/scan_trait.rb, line 14 def graphics_criteria app.scanners[:graphical] || app.create_scanner(:graphical){ ExcludeNonGraphical} end
lines_criteria()
click to toggle source
# File lib/microstation/scan_trait.rb, line 26 def lines_criteria app.scanners[:lines] || app.create_scanner(:lines){ include_lines} end
scan(criteria) { |item| ... }
click to toggle source
# File lib/microstation/scan/scan_trait.rb, line 23 def scan(criteria) scan_result = ole_run_scan(criteria) return [] unless scan_result scan_enum = Microstation::Enumerator.new(scan_result) result = [] if block_given? scan_enum.each do |item| yield item end else scan_enum.each do |item| result << item end end return result unless block_given? end
scan_cell_with_name(name, &block)
click to toggle source
# File lib/microstation/scan_trait.rb, line 51 def scan_cell_with_name(name, &block) sc = create_scanner sc.IncludeOnlyCell(name) sc.include_cell self.scan_model(sc,&block) end
scan_cells(&block)
click to toggle source
# File lib/microstation/scan_trait.rb, line 42 def scan_cells(&block) self.scan_model(cells_criteria,&block) end
scan_graphical(&block)
click to toggle source
# File lib/microstation/scan/scan_trait.rb, line 10 def scan_graphical(&block) sc = create_scanner sc.ExcludeNonGraphical self.scan(sc,&block) end
scan_lines(&block)
click to toggle source
# File lib/microstation/scan_trait.rb, line 46 def scan_lines(&block) self.scan_model(lines_criteria, &block) end
scan_text(&block)
click to toggle source
# File lib/microstation/scan/scan_trait.rb, line 16 def scan_text(&block) sc = create_scanner do include_textual end self.scan(sc,&block) end
text_criteria()
click to toggle source
# File lib/microstation/scan_trait.rb, line 10 def text_criteria app.scanners[:textual] || app.create_scanner(:textual){ include_textual} end
Private Instance Methods
ole_run_scan(criteria)
click to toggle source
# File lib/microstation/scan/scan_trait.rb, line 43 def ole_run_scan(criteria) criteria.resolve scan_result = self.ole_obj.Scan(criteria.ole_obj) rescue nil end