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_tags(&block) click to toggle source
# File lib/microstation/scan_trait.rb, line 38
def scan_tags(&block)
  self.scan_model(tags_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
tags_criteria() click to toggle source
# File lib/microstation/scan_trait.rb, line 18
def tags_criteria
  app.scanners[:tags] || app.create_scanner(:tags){ include_tags}
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