source: azure_iot_hub/trunk/asp3_dcre/tecsgen/tecslib/core/location.rb@ 388

Last change on this file since 388 was 388, checked in by coas-nagasima, 5 years ago

Azure IoT Hub Device C SDK を使ったサンプルの追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 4.6 KB
Line 
1# -*- coding: utf-8 -*-
2#
3# TECS Generator
4# Generator for TOPPERS Embedded Component System
5#
6# Copyright (C) 2008-2017 by TOPPERS Project
7#--
8# 上記著作権者
9は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
10# ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11# 変・再é…
12å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
13# (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
14# 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15# スコード中に含まれていること.
16# (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
17# 用できる形で再é…
18å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
19å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
20# 者
21マニュアルなど)に,上記の著作権表示,この利用条件および下記
22# の無保証規定を掲載すること.
23# (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24# 用できない形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
26# と.
27# (a) 再é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
29マニュアルなど)に,上記の著
30# 作権表示,この利用条件および下記の無保証規定を掲載すること.
31# (b) 再é…
32å¸ƒã®å½¢æ…
33‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
34# 報告すること.
35# (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
36# 害からも,上記著作権者
37およびTOPPERSプロジェクトをå…
38è²¬ã™ã‚‹ã“と.
39# また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
40# 由に基づく請求からも,上記著作権者
41およびTOPPERSプロジェクトを
42# å…
43è²¬ã™ã‚‹ã“と.
44#
45# 本ソフトウェアは,無保証で提供されているものである.上記著作権者
46お
47# よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
48# に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
49# アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
50# の責任を負わない.
51#
52# $Id$
53#++
54
55class TECSGEN
56
57 #------ manupulate location information --------#
58 def self.new_cell_location cell_location
59 @@current_tecsgen.new_cell_location cell_location
60 end
61 def new_cell_location cell_location
62 @cell_location_list << cell_location
63 end
64 def get_cell_location_list
65 @cell_location_list
66 end
67
68 def self.new_join_location join_location
69 @@current_tecsgen.new_join_location join_location
70 end
71 def new_join_location join_location
72 @join_location_list << join_location
73 end
74 def get_join_location_list
75 @join_location_list
76 end
77
78#== Cell_location
79 # tecscde の位置情
80å ±
81 class Cell_location
82
83 #=== Join_location#initialize
84 #cell_nspath::NamespacePath
85 #x,y,w,h::Expression
86 #port_location_list::[ [Symbol(ep_or_cp_name), Symbol(edge_name), Expression(offset)], ... ]
87 #ep_name::Symbol
88 def initialize( cell_nspath, x, y, w, h, port_location_list )
89 # p "Cell_location: #{cell_nspath}, #{x}, #{y}, #{w}, #{h}, #{port_location_list}"
90 @cell_nspath = cell_nspath
91 @x = x.eval_const nil
92 @y = y.eval_const nil
93 @w = w.eval_const nil
94 @h = h.eval_const nil
95 @port_location_list = port_location_list
96
97 TECSGEN.new_cell_location self
98 end
99
100 def get_location
101 [ @cell_nspath, @x, @y, @w, @h, @port_location_list ]
102 end
103
104 end # Cell_location
105
106 #== Join_location
107 # tecscde の位置情
108å ±
109 class Join_location
110 @@join_location_list = []
111
112 #=== Join_location#initialize
113 #cp_cell_nspath::NamespacePath
114 #cp_name::Symbol
115 #ep_cell_nspath::NamespacePath
116 #ep_name::Symbol
117 #bar_list::[[Symbol (VBar or HBar), Expression(position mm)], ....]
118 def initialize( cp_cell_nspath, cp_name, ep_cell_path, ep_name, bar_list )
119 # p "Join_location #{cp_cell_nspath}, #{cp_name}, #{ep_cell_path}, #{ep_name} #{bar_list}"
120 @cp_cell_nspath = cp_cell_nspath
121 @cp_name = cp_name
122 @ep_cell_path = ep_cell_path
123 @ep_name = ep_name
124 @bar_list = bar_list
125
126 TECSGEN.new_join_location self
127 end
128
129 def get_location
130 [@cp_cell_nspath, @cp_name, @ep_cell_path, @ep_name, @bar_list]
131 end
132
133 end # Join_location
134
135end # TECSGEN
Note: See TracBrowser for help on using the repository browser.