当前位置: 首页>>代码示例>>Golang>>正文


Golang behaviour.SignalGraphIf类代码示例

本文整理汇总了Golang中github.com/axel-freesp/sge/interface/behaviour.SignalGraphIf的典型用法代码示例。如果您正苦于以下问题:Golang SignalGraphIf类的具体用法?Golang SignalGraphIf怎么用?Golang SignalGraphIf使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了SignalGraphIf类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: SignalGraphViewNew

func SignalGraphViewNew(g bh.SignalGraphIf, context ContextIf) (viewer *signalGraphView, err error) {
	viewer = &signalGraphView{nil, DrawArea{}, nil, nil, g.ItsType(), g.Filename(), context, image.Point{}, false}
	err = viewer.init()
	if err != nil {
		return
	}
	viewer.Sync()
	return
}
开发者ID:axel-freesp,项目名称:sge,代码行数:9,代码来源:signalgraphview.go

示例2: TestGraph

func TestGraph(t *testing.T) {
	case1 := []struct {
		library, graph     string
		nodes, connections int
	}{
		{`<library xmlns="http://www.freesp.de/xml/freeSP" version="1.0">
   <signal-type name="s1" scope="" mode="" c-type="" message-id=""></signal-type>
   <node-type name="Test">
      <intype port="" type="s1"></intype>
      <outtype port="" type="s1"></outtype>
   </node-type>
</library>
`, `<?xml version="1.0" encoding="UTF-8"?>
<signal-graph xmlns="http://www.freesp.de/xml/freeSP" version="1.0">
    <nodes>
        <input name="sensor">
            <outtype type="s1"/>
        </input>
        <output name="actuator">
            <intype type="s1"/>
        </output>
        <processing-node name="test" type="Test"></processing-node>
    </nodes>
    <connections>
        <connect from="sensor" to="test"/>
        <connect from="test" to="actuator"/>
    </connections>
</signal-graph>
`, 3, 2},
	}

	for i, c := range case1 {
		freesp.Init()
		var l bh.LibraryIf = LibraryNew("test.alml", nil)
		buf := copyBuf(c.library)
		_, err := l.Read(buf)
		if err != nil {
			t.Errorf("Testcase %d: Failed to read from buffer: %v", i, err)
			return
		}
		var sg bh.SignalGraphIf = SignalGraphNew("test.sml", nil)
		buf = copyBuf(c.graph)
		_, err = sg.Read(buf)
		if err != nil {
			t.Errorf("Testcase %d: Failed to read from buffer: %v", i, err)
			return
		}
		var st bh.SignalGraphTypeIf = sg.ItsType()
		if len(st.Nodes()) != c.nodes {
			t.Errorf("Testcase %d: NodeIf count mismatch", i)
			return
		}
	}
}
开发者ID:axel-freesp,项目名称:sge,代码行数:54,代码来源:signalgraph_test.go

示例3: CreateXmlGraphHint

func CreateXmlGraphHint(g bh.SignalGraphIf) (xmlg *backend.XmlGraphHint) {
	xmlg = backend.XmlGraphHintNew(g.Filename())
	for _, n := range g.ItsType().InputNodes() {
		xmlg.InputNode = append(xmlg.InputNode, *CreateXmlIONodePosHint(n, ""))
	}
	for _, n := range g.ItsType().OutputNodes() {
		xmlg.OutputNode = append(xmlg.OutputNode, *CreateXmlIONodePosHint(n, ""))
	}
	for _, n := range g.ItsType().ProcessingNodes() {
		hintlist := CreateXmlNodePosHint(n, "")
		for _, h := range hintlist {
			xmlg.ProcessingNode = append(xmlg.ProcessingNode, h)
		}
	}
	return
}
开发者ID:axel-freesp,项目名称:sge,代码行数:16,代码来源:backendconversions.go

示例4: SignalGraphApplyHints

func SignalGraphApplyHints(s bh.SignalGraphIf, xmlhints *backend.XmlGraphHint) (err error) {
	if s.Filename() != xmlhints.Ref {
		err = fmt.Errorf("SignalGraphApplyHints error: filename mismatch\n")
		return
	}
	g := s.ItsType()
	for _, xmln := range xmlhints.InputNode {
		n, ok := g.NodeByName(xmln.Name)
		if ok {
			n.SetExpanded(false)
			freesp.PathModePositionerApplyHints(n, xmln.XmlModeHint)
		}
	}
	for _, xmln := range xmlhints.OutputNode {
		n, ok := g.NodeByName(xmln.Name)
		if ok {
			n.SetExpanded(false)
			freesp.PathModePositionerApplyHints(n, xmln.XmlModeHint)
		}
	}
	NodesApplyHints("", g, xmlhints.ProcessingNode)
	return
}
开发者ID:axel-freesp,项目名称:sge,代码行数:23,代码来源:signalgraph.go

示例5: CreateXmlSignalGraph

func CreateXmlSignalGraph(g bh.SignalGraphIf) *backend.XmlSignalGraph {
	return CreateXmlSignalGraphType(g.ItsType())
}
开发者ID:axel-freesp,项目名称:sge,代码行数:3,代码来源:backendconversions.go

示例6: IdentifyGraph

func (v signalGraphView) IdentifyGraph(g bh.SignalGraphIf) bool {
	return g.ItsType() == v.sgType
}
开发者ID:axel-freesp,项目名称:sge,代码行数:3,代码来源:signalgraphview.go

示例7: SignalGraphUsesSignalType

func SignalGraphUsesSignalType(s bh.SignalGraphIf, st bh.SignalTypeIf) bool {
	return SignalGraphTypeUsesSignalType(s.ItsType(), st)
}
开发者ID:axel-freesp,项目名称:sge,代码行数:3,代码来源:signalgraph.go

示例8: SignalGraphUsesNodeType

func SignalGraphUsesNodeType(s bh.SignalGraphIf, nt bh.NodeTypeIf) bool {
	return SignalGraphTypeUsesNodeType(s.ItsType(), nt)
}
开发者ID:axel-freesp,项目名称:sge,代码行数:3,代码来源:signalgraph.go


注:本文中的github.com/axel-freesp/sge/interface/behaviour.SignalGraphIf类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。