期間 - 一次元幾何プリミティブ
see gml schema
オブジェクトの生成
begun : When::TM::Instant 始点 ended : When::TM::Instant 終点
# File when/tmobjects.rb, line 363 363: def initialize(begun, ended) 364: raise ArgumentError, 'Order mismatch: begun > ended' if begun > ended 365: @begin = begun 366: @end = ended 367: @begin.begun_by << self 368: @end.ended_by << self 369: end
他のWhen::TM::GeometricPrimitiveとの時間位置の差の絶対値
other : When::TM::GeometricPrimitive returns : When::TM::Duration
# File when/tmobjects.rb, line 307 307: def distance(other) 308: case other 309: when Instant 310: return other.distance(self) 311: when Period 312: verify = other.begin.position - self.end.position 313: return verify if +verify >= 0 314: return [self.begin.position - other.end.position, When.Duration(0)].max 315: else 316: raise TypeError, "The right operand should be Instant or Period" 317: end 318: end
When::TM::GeometricPrimitive 自身の持続時間
returns : When::TM::Duration
# File when/tmobjects.rb, line 298 298: def length() 299: @length ||= @end - @begin 300: end
他のPrimitiveとの相対的な時間位置
other : When::TM::Primitive returns : When::TM::RelativePosition
# File when/tmobjects.rb, line 325 325: def relative_position(other) 326: case other 327: when Instant 328: verify = self.end.position <=> other.position 329: return RelativePosition::Before if verify < 0 330: return RelativePosition::EndedBy if verify == 0 331: verify = self.begin.position <=> other.position 332: return RelativePosition::Contains if verify < 0 333: return RelativePosition::BegunBy if verify == 0 334: return RelativePosition::After 335: when Period 336: verify_b = relative_position(other.begin) 337: case verify_b 338: when RelativePosition::Before ; return RelativePosition::Before 339: when RelativePosition::EndedBy ; return RelativePosition::Meets 340: end 341: verify_e = relative_position(other.end) 342: case verify_e 343: when RelativePosition::BegunBy ; return RelativePosition::MetBy 344: when RelativePosition::After ; return RelativePosition::After 345: else ; return RELATIVE_POSITION[verify_b][verify_e] 346: end 347: else 348: raise TypeError, "The right operand should be Instant or Period" 349: end 350: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.