Commit 9cd16d09 by dongshufeng

增加注释

parent a44fe942
......@@ -6,12 +6,13 @@
## 2. 拓扑分析
### 2.1 静态拓扑分析
输入:
#### 输入
1. 电气岛
2. 属性定义
3. 资源定义
输出:
#### 输出
- 默认输出下面六列
<table>
......@@ -23,7 +24,7 @@
<th>name</th>
</table>
- terminal_cn_dev,如果输出的边是该名称,则输出下面
- terminal_cn_dev,如果输出的边是该名称,则输出下面
<table>
<th>terminal</th>
<th>cn</th>
......@@ -31,7 +32,7 @@
<th>type</th>
</table>
- point_terminal_phase: 如果输出的边是该名称,则输出下面
- point_terminal_phase: 如果输出的边是该名称,则输出下面
<table>
<th>point</th>
<th>terminal</th>
......@@ -40,11 +41,27 @@
### 2.2 动态拓扑分析
输入:
1. 电气岛
2. 属性定义
3. 资源定义
#### 输入
- 电气岛
- 量测
- 静态拓扑:上述输出的三个表格
#### 输出
- 默认输出下面六列
<table>
<th>cn</th>
<th>tn</th>
</table>
- dev_topo: 如果输出的边是该名称,则输出下面几列
<table>
<th>terminal</th>
<th>cn</th>
<th>tn</th>
<th>dev</th>
</table>
## 3. 输入参数准备
### 3.1 设备电气参数计算
......
......@@ -159,6 +159,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
}
let mut csv_bytes = Vec::with_capacity(2);
let mut schema = Vec::with_capacity(2);
// 默认或者指定名称
if outgoing.is_empty() || outgoing.contains(&DYN_TOPO_DF_NAME.to_string()) ||
(!outgoing.contains(&DYN_TOPO_DF_NAME.to_string()) && !outgoing.contains(&DEV_TOPO_DF_NAME.to_string())) {
// build topology
......@@ -173,8 +174,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
]);
csv_bytes.push((DYN_TOPO_DF_NAME.to_string(), topo_csv.into_bytes()));
schema.push(topo_schema);
}
if outgoing.contains(&DEV_TOPO_DF_NAME.to_string()) {
} else if outgoing.contains(&DEV_TOPO_DF_NAME.to_string()) {
// build dev connection
let mut dev_csv = String::from("terminal,cn,tn,dev\n");
for (terminal, dev) in terminal_dev {
......
......@@ -57,14 +57,11 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
// .open(&base)
// .expect("Could not create file");
// write graph
let mut is_matched = false;
// 根据输出名称来确定形成不同的data frame
if outgoing.is_empty() || outgoing.contains(&STATIC_TOPO_DF_NAME.to_string()) {
is_matched = true;
create_static_topo(&island, &prop_defs, &defines, &mut csv_bytes, &mut schema);
}
// 根据输出名称来确定形成不同的data frame
if outgoing.contains(&TERMINAL_DF_NAME.to_string()) {
is_matched = true;
else if outgoing.contains(&TERMINAL_DF_NAME.to_string()) {
let mut terminal_csv_str = String::from("terminal,cn,dev,type\n");
let mut terminal_to_cn = HashMap::with_capacity(2 * island.cns.len());
// 先建立CN对应的节点
......@@ -100,8 +97,7 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
// let _ = file.sync_all();
// }
if outgoing.contains(&POINT_DF_NAME.to_string()) {
is_matched = true;
else if outgoing.contains(&POINT_DF_NAME.to_string()) {
let mut point_csv_str = String::from("point,terminal,phase\n");
for (_, defines) in &island.measures {
for def in defines {
......@@ -118,10 +114,6 @@ pub unsafe fn run(ptr: i32, len: u32) -> u64 {
Field::new("phase", DataType::Utf8, false),
]));
}
// if not matched, default is used
if !is_matched {
create_static_topo(&island, &prop_defs, &defines, &mut csv_bytes, &mut schema);
}
PluginOutput {
error_msg: None,
schema: Some(schema),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论