Module: Microstation::ScanTrait
- Included in:
- Drawing, ModelTrait
- Defined in:
- lib/microstation/scan_trait.rb,
lib/microstation/scan/scan_trait.rb
Instance Method Summary collapse
- #cells_criteria ⇒ Object
- #create_scanner(&block) ⇒ Object
- #graphics_criteria ⇒ Object
- #lines_criteria ⇒ Object
- #scan(criteria) ⇒ Object
- #scan_cell_with_name(name, &block) ⇒ Object
- #scan_cells(&block) ⇒ Object
- #scan_graphical(&block) ⇒ Object
- #scan_lines(&block) ⇒ Object
- #scan_tags(&block) ⇒ Object
- #scan_text(&block) ⇒ Object
- #tags_criteria ⇒ Object
- #text_criteria ⇒ Object
Instance Method Details
#cells_criteria ⇒ Object
22 23 24 |
# File 'lib/microstation/scan_trait.rb', line 22 def cells_criteria app.scanners[:cells] || app.create_scanner(:cells){ include_cells} end |
#create_scanner(&block) ⇒ Object
6 7 8 |
# File 'lib/microstation/scan_trait.rb', line 6 def create_scanner(name,&block) app.create_scanner(name, &block) end |
#graphics_criteria ⇒ Object
14 15 16 |
# File 'lib/microstation/scan_trait.rb', line 14 def graphics_criteria app.scanners[:graphical] || app.create_scanner(:graphical){ ExcludeNonGraphical} end |
#lines_criteria ⇒ Object
26 27 28 |
# File 'lib/microstation/scan_trait.rb', line 26 def lines_criteria app.scanners[:lines] || app.create_scanner(:lines){ include_lines} end |
#scan(criteria) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# 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) ⇒ Object
51 52 53 54 55 56 |
# 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) ⇒ Object
42 43 44 |
# File 'lib/microstation/scan_trait.rb', line 42 def scan_cells(&block) self.scan_model(cells_criteria,&block) end |
#scan_graphical(&block) ⇒ Object
30 31 32 |
# File 'lib/microstation/scan_trait.rb', line 30 def scan_graphical(&block) self.scan_model(graphic_criteria, &block) end |
#scan_lines(&block) ⇒ Object
46 47 48 |
# File 'lib/microstation/scan_trait.rb', line 46 def scan_lines(&block) self.scan_model(lines_criteria, &block) end |
#scan_tags(&block) ⇒ Object
38 39 40 |
# File 'lib/microstation/scan_trait.rb', line 38 def (&block) self.scan_model(,&block) end |
#scan_text(&block) ⇒ Object
34 35 36 |
# File 'lib/microstation/scan_trait.rb', line 34 def scan_text(&block) self.scan_model(text_criteria,&block) end |
#tags_criteria ⇒ Object
18 19 20 |
# File 'lib/microstation/scan_trait.rb', line 18 def app.scanners[:tags] || app.create_scanner(:tags){ } end |
#text_criteria ⇒ Object
10 11 12 |
# File 'lib/microstation/scan_trait.rb', line 10 def text_criteria app.scanners[:textual] || app.create_scanner(:textual){ include_textual} end |