Class: VORuby::STC::V1_30::UCoordScalarIntervalType

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

Overview

Scalar coordinate interval type with units and frame_id.

Direct Known Subclasses

CoordScalarInterval

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 = {}) ⇒ UCoordScalarIntervalType

Returns a new instance of UCoordScalarIntervalType.



3948
3949
3950
3951
3952
# File 'lib/voruby/stc/1.30/stc.rb', line 3948

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.



3946
3947
3948
# File 'lib/voruby/stc/1.30/stc.rb', line 3946

def hi_limit
  @hi_limit
end

#lo_limitObject

Returns the value of attribute lo_limit.



3946
3947
3948
# File 'lib/voruby/stc/1.30/stc.rb', line 3946

def lo_limit
  @lo_limit
end

#unitObject

Returns the value of attribute unit.



3946
3947
3948
# File 'lib/voruby/stc/1.30/stc.rb', line 3946

def unit
  @unit
end

Class Method Details

.from_xml(xml) ⇒ Object



3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
# File 'lib/voruby/stc/1.30/stc.rb', line 3998

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:LoLimit', {'x' => obj_ns.uri})
  hi_limit = REXML::XPath.first(root, 'x:HiLimit', {'x' => obj_ns.uri})
  
  self.new(
    lo_limit ? Double1Type.from_xml(lo_limit) : nil,
    hi_limit ? Double1Type.from_xml(hi_limit) : nil,
    lo_include, hi_include, options
  )
end

Instance Method Details

#==(i) ⇒ Object



3980
3981
3982
3983
3984
3985
# File 'lib/voruby/stc/1.30/stc.rb', line 3980

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



3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
# File 'lib/voruby/stc/1.30/stc.rb', line 3987

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('LoLimit')) if self.lo_limit
  el.add_element(self.hi_limit.to_xml('HiLimit')) if self.hi_limit
  
  collapse_namespaces(el)
  el
end