[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dennou-ruby:002075] Re: DCLExt::color_bar
- To: dennou-ruby@xxxxxxxxxxx
- Subject: [dennou-ruby:002075] Re: DCLExt::color_bar
- From: KOSHIRO Tsuyoshi <koshiro@xxxxxxxxxxxxxx>
- Date: Sat, 29 Jan 2005 20:19:57 +0900
堀之内さま:
神代です.
At Thu, 20 Jan 2005 20:53:48 +0900, Takeshi Horinouchi wrote:
>> 2つ目は,実際にはそれほど困らないので,急ぎではないです.
>> GGraph::color_bar で直接オプション指定をしたときにはじかれちゃうだけで,
>> GGraph::tone のあとにオプションなしで呼べば前の設定が引き継がれるので.
>> 普通はそう使うことが多いですよね.
>> 時間があればやってみますです.
>
> 了解です。
やってみました.以下のような感じでどうでしょう.
つまり,levels オプションがあれば ue_set_tone を呼ぶ.その後の処理は
levels オプションがなかった場合と同様,ueqtlv で値を吸い上げる.
diff -uNrb gphys-0.3.5_orig/lib/numru/ggraph.rb gphys-0.3.5/lib/numru/ggraph.rb
--- gphys-0.3.5_orig/lib/numru/ggraph.rb 2005-01-29 19:45:50.000000000 +0
900
+++ gphys-0.3.5/lib/numru/ggraph.rb 2005-01-29 20:05:30.000000000 +0900
@@ -1519,19 +1519,9 @@
miss = DCL::glrget("rmiss")
if !levels.nil? then
-
- nlevel = levels.length
- levels = NArray.to_na(levels) if levels.class==Array
- if patterns.length != (nlevel-1) then
- raise "patterns.length must be equal levels.length - 1\n"
+ ue_set_tone(levels,patterns)
end
- DCL::ueitlv
- DCL::uestln(levels,patterns)
- nton = patterns.length
-
- else
-
nton = DCL::ueqntl
if nton==0 then
raise "no tone patern was set\n"
end
lev1 = Array.new
lev2 = Array.new
patterns = Array.new
for n in 0..nton-1
tlev1,tlev2,ipat = DCL::ueqtlv(n+1)
lev1.push(tlev1)
lev2.push(tlev2)
patterns.push(ipat)
end
#levels = lev1+lev2
#levels = levels.uniq.sort
#levels.delete(miss)
#if levels.ne(levels.sort).any? then
# raise "levels is not in order\n"
#end
levels = lev1.push(lev2[-1])
levels = NArray.to_na(levels)
patterns = NArray.to_na(patterns)
- end
-
vx1, vx2, vy1, vy2 = DCL.sgqvpt
vwidth = opt["vwidth"]