Class: VORuby::STC::V1_30::UCoord2VecIntervalType

Inherits:
CoordIntervalType show all
Defined in:
lib/voruby/stc/1.30/stc.rb

Overview

2-D coordinate interval type with units and frame_id.

Direct Known Subclasses

Coord2VecInterval

Instance Attribute Summary collapse

Attributes inherited from CoordIntervalType

#fill_factor, #frame_id, #hi_include, #lo_include

Attributes included from STCReference

#id, #idref, #ucd, #xlink_href, #xlink_type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CoordIntervalType

coord_interval_from_xml, #hi_include?, #lo_include?

Methods inherited from STCBaseType

stc_base_from_xml

Methods included from STCReference

#stc_reference_eq, stc_reference_from_xml, #stc_reference_to_xml

Methods included from SerializableToXml

#element

Constructor Details

#initialize(lo_limit, hi_limit, lo_include = true, hi_include = true, options = {}) ⇒ UCoord2VecIntervalType

Returns a new instance of UCoord2VecIntervalType.



4021
4022
4023
4024
4025
# File 'lib/voruby/stc/1.30/stc.rb', line 4021

def initialize(lo_limit, hi_limit, lo_include=true, hi_include=true, options={})
  self.lo_limit = lo_limit
  self.hi_limit = hi_limit
  super(lo_include, hi_include, options)
end

Instance Attribute Details

#hi_limitObject

Returns the value of attribute hi_limit.



4019
4020
4021
# File 'lib/voruby/stc/1.30/stc.rb', line 4019

def hi_limit
  @hi_limit
end

#lo_limitObject

Returns the value of attribute lo_limit.



4019
4020
4021
# File 'lib/voruby/stc/1.30/stc.rb', line 4019

def lo_limit
  @lo_limit
end

#unitObject

Returns the value of attribute unit.



4019
4020
4021
# File 'lib/voruby/stc/1.30/stc.rb', line 4019

def unit
  @unit
end

Class Method Details

.from_xml(xml) ⇒ Object



4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
# File 'lib/voruby/stc/1.30/stc.rb', line 4063

def self.from_xml(xml)
  root = element_from(xml)

  lo_include, hi_include, options = CoordIntervalType.coord_interval_from_xml(root)

  unit = root.attributes.get_attribute_ns(obj_ns.uri, 'unit')
  options[:unit] = UnitType.new(unit.value) if unit

  lo_limit = REXML::XPath.first(root, 'x:LoLimit2Vec', {'x' => obj_ns.uri})
  hi_limit = REXML::XPath.first(root, 'x:HiLimit2Vec', {'x' => obj_ns.uri})

  self.new(
    lo_limit ? Double2Type.from_xml(lo_limit) : nil,
    hi_limit ? Double2Type.from_xml(hi_limit) : nil,
    lo_include, hi_include, options
  )
end

Instance Method Details

#==(i) ⇒ Object



4045
4046
4047
4048
4049
4050
# File 'lib/voruby/stc/1.30/stc.rb', line 4045

def ==(i)
  super(i) and
  self.lo_limit == i.lo_limit and
  self.hi_limit == i.hi_limit and
  self.unit == i.unit
end

#to_xml(name = nil) ⇒ Object



4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
# File 'lib/voruby/stc/1.30/stc.rb', line 4052

def to_xml(name=nil)
  el = super(name)
  
  el.attributes["#{obj_ns.prefix}:unit"] = self.unit.to_s if self.unit
  el.add_element(self.lo_limit.to_xml('LoLimit2Vec')) if self.lo_limit
  el.add_element(self.hi_limit.to_xml('HiLimit2Vec')) if self.hi_limit
  
  collapse_namespaces(el)
  el
end