當前位置: 首頁>>代碼示例>>Golang>>正文


Golang behaviour.NodeTypeIf類代碼示例

本文整理匯總了Golang中github.com/axel-freesp/sge/interface/behaviour.NodeTypeIf的典型用法代碼示例。如果您正苦於以下問題:Golang NodeTypeIf類的具體用法?Golang NodeTypeIf怎麽用?Golang NodeTypeIf使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了NodeTypeIf類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: CleanupNodeType

func (g *Global) CleanupNodeType(nt bh.NodeTypeIf) {
	for _, impl := range nt.Implementation() {
		if impl.ImplementationType() == bh.NodeTypeGraph {
			g.CleanupNodeTypesFromNodes(impl.Graph().Nodes())
		}
	}
	freesp.RemoveRegisteredNodeType(nt)
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:8,代碼來源:global.go

示例2: RemoveRegisteredNodeType

func RemoveRegisteredNodeType(nt bh.NodeTypeIf) {
	name := nt.TypeName()
	delete(nodeTypes, name)
	_, ok := registeredNodeTypes.Find(name)
	if ok {
		registeredNodeTypes.Remove(name)
	}
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:8,代碼來源:globals.go

示例3: isAutoType

func isAutoType(nt bh.NodeTypeIf) bool {
	if strings.HasPrefix(nt.TypeName(), "autoInputNodeType-") {
		return true
	}
	if strings.HasPrefix(nt.TypeName(), "autoOutputNodeType-") {
		return true
	}
	return false
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:9,代碼來源:signalgraphtype.go

示例4: SignalGraphTypeUsesNodeType

func SignalGraphTypeUsesNodeType(t bh.SignalGraphTypeIf, nt bh.NodeTypeIf) bool {
	for _, n := range t.Nodes() {
		if n.ItsType().TypeName() == nt.TypeName() {
			return true
		}
		for _, impl := range n.ItsType().Implementation() {
			if impl.ImplementationType() == bh.NodeTypeGraph {
				if SignalGraphTypeUsesNodeType(impl.Graph(), nt) {
					return true
				}
			}
		}
	}
	return false
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:15,代碼來源:signalgraphtype.go

示例5: LibraryUsesNodeType

func LibraryUsesNodeType(l bh.LibraryIf, nt bh.NodeTypeIf) bool {
	for _, t := range l.NodeTypes() {
		if t.TypeName() == nt.TypeName() {
			return true
		}
		for _, impl := range t.Implementation() {
			if impl.ImplementationType() == bh.NodeTypeGraph {
				if SignalGraphTypeUsesNodeType(impl.Graph(), nt) {
					return true
				}
			}
		}
	}
	return false
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:15,代碼來源:library.go

示例6: AddNodeType

func (l *library) AddNodeType(t bh.NodeTypeIf) error {
	nType, ok := freesp.GetNodeTypeByName(t.TypeName())
	if ok {
		log.Printf(`library.AddNodeType: warning: adding existing node
			type definition %s (taking the existing one)`, t.TypeName())
	} else {
		nType = t.(*nodeType)
		freesp.RegisterNodeType(nType)
		log.Println("library.AddNodeType: registered ", t.TypeName())
	}
	for _, nt := range l.nodeTypes.NodeTypes() {
		if nt.TypeName() == t.TypeName() {
			return fmt.Errorf(`adding duplicate node type definition
				%s (ignored)`, t.TypeName())
		}
	}
	l.nodeTypes.Append(nType)
	return nil
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:19,代碼來源:library.go

示例7: CreateXmlNodeType

func CreateXmlNodeType(t bh.NodeTypeIf) *backend.XmlNodeType {
	ret := backend.XmlNodeTypeNew(t.TypeName())
	for _, p := range t.InPorts() {
		ret.InPort = append(ret.InPort, *CreateXmlNamedInPort(p))
	}
	for _, p := range t.OutPorts() {
		ret.OutPort = append(ret.OutPort, *CreateXmlNamedOutPort(p))
	}
	for _, impl := range t.Implementation() {
		ret.Implementation = append(ret.Implementation, *CreateXmlImplementation(impl))
	}
	return ret
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:13,代碼來源:backendconversions.go

示例8: NodeNew

func NodeNew(name string, ntype bh.NodeTypeIf, context bh.SignalGraphTypeIf) (ret *node, err error) {
	for _, n := range context.Nodes() {
		if n.Name() == name {
			err = fmt.Errorf("NodeNew error: node '%s' already exists in context.", name)
			return
		}
	}
	if len(ntype.InPorts())+len(ntype.OutPorts()) == 0 {
		err = fmt.Errorf("NodeNew error: type '%s' has no ports.", ntype.TypeName())
		return
	}
	ret = &node{*gr.PathModePositionerObjectNew(), context, name, ntype,
		portListInit(), portListInit(), nil, false}
	for _, p := range ntype.InPorts() {
		ret.addInPort(p)
	}
	for _, p := range ntype.OutPorts() {
		ret.addOutPort(p)
	}
	ntype.(*nodeType).addInstance(ret)
	return
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:22,代碼來源:node.go

示例9: RegisterNodeType

func RegisterNodeType(nt bh.NodeTypeIf) {
	nodeTypes[nt.TypeName()] = nt
	registeredNodeTypes.Append(nt.TypeName())
}
開發者ID:axel-freesp,項目名稱:sge,代碼行數:4,代碼來源:globals.go


注:本文中的github.com/axel-freesp/sge/interface/behaviour.NodeTypeIf類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。