17        auto inputs = 
mNode->getImportNodes();
 
   18        auto input_num = inputs.size();
 
   21        for (
int i = 0; i < inputs.size(); i++)
 
   23            mNodeInport[i] = std::make_shared<WtImportNode>(inputs[i]);
 
   32        for (
int i = 0; i < fOutputs.size(); i++)
 
   34            mFieldExport[i] = std::make_shared<WtFieldData>(fOutputs[i]);
 
   41        for (
int i = 0; i < fInputs.size(); i++)
 
   43            mFieldInport[i] = std::make_shared<WtFieldData>(fInputs[i]);;
 
 
   77            std::string str = inputFields[portIndex - 
mNodeInport.size()]->getClassName();
 
   91            std::string str = outputFields[portIndex - 1]->getClassName();
 
 
  107    return port == 0 ? std::static_pointer_cast<WtNodeData>(
mNodeExport) : std::static_pointer_cast<WtNodeData>(
mFieldExport[port - 1]);
 
 
  112    return mNode->caption();
 
 
  117    return mNode->caption();
 
 
  123    return mNode->description();
 
 
  128    (void)portType;; (void)portIndex;;
 
 
  138            return mNode->getImportNodes()[portIndex]->getPortName();
 
  143            return inputFields[portIndex - 
mNodeInport.size()]->getObjectName();
 
  148        if (portIndex == 0) {
 
  155            return outputFields[portIndex - 1]->getObjectName();
 
 
  168    auto nodeTip = [&](
Node* node) -> std::string {
 
  169        return node->getClassInfo()->getClassName();
 
  172    auto fieldTip = [&](
FBase* f) -> std::string {
 
  173        tip += 
"Class: " + f->getClassName() + 
"\n";
 
  174        tip += 
"Template: " + f->getTemplateName() + 
"\n";
 
  183            return mNode->getImportNodes()[portIndex]->getPortName();
 
  187            return fieldTip(inputFields[portIndex - 
mNodeInport.size()]);
 
  192        if (portIndex == 0) {
 
  193            return nodeTip(
mNode.get());
 
  197            return fieldTip(outputFields[portIndex - 1]);
 
 
  214        auto node_port = std::dynamic_pointer_cast<WtExportNode>(data);
 
  216        if (node_port != 
nullptr)
 
  218            auto nd = node_port->getNode();
 
  223                nd->disconnect(
mNodeInport[portIndex]->getNodePort());
 
  231                nd->connect(
mNodeInport[portIndex]->getNodePort());
 
  237        auto fieldData = std::dynamic_pointer_cast<WtFieldData>(data);
 
  239        if (fieldData != 
nullptr)
 
  241            auto field = fieldData->getField();
 
 
  267            auto nodeExp = std::dynamic_pointer_cast<WtExportNode>(nodeData);
 
  269            if (nodeExp == 
nullptr)
 
  274            return nodeInp->getNodePort()->isKindOf(nodeExp->getNode().get());;
 
  276        catch (std::bad_cast)
 
  285            auto fieldExp = std::dynamic_pointer_cast<WtFieldData>(nodeData);
 
  286            if (fieldExp == 
nullptr)
 
  291            if (fieldInp->getField()->getClassName() == fieldExp->getField()->getClassName())
 
  293                std::string className = fieldInp->getField()->getClassName();
 
  299                    if (instIn != 
nullptr && instOut != 
nullptr)
 
  305                    return fieldInp->getField()->getTemplateName() == fieldExp->getField()->getTemplateName();
 
  312        catch (std::bad_cast)
 
 
  328        auto portType = 
mNodeInport[portIndex]->getNodePort()->getPortType();
 
 
  355    return mNode->getOutputFields();
 
 
  360    return mNode->getInputFields();
 
 
virtual bool canBeConnectedBy(InstanceBase *ins)=0
 
static const std::string className()