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


C++ Transition::addOutput方法代码示例

本文整理汇总了C++中Transition::addOutput方法的典型用法代码示例。如果您正苦于以下问题:C++ Transition::addOutput方法的具体用法?C++ Transition::addOutput怎么用?C++ Transition::addOutput使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Transition的用法示例。


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

示例1: QualPkgNamespaces


//.........这里部分代码省略.........
		"              </apply>\n"
		"            </math>\n"
		"          </qual:functionTerm>\n"
		"        </qual:listOfFunctionTerms>\n"
    "      </qual:transition>\n"
    "    </qual:listOfTransitions>\n"
    "  </model>\n"
    "</sbml>\n"
    ;

  QualPkgNamespaces *sbmlns = new QualPkgNamespaces(3,1,1);

  // create the document

  SBMLDocument *document = new SBMLDocument(sbmlns);

  //// mark qual as required

  document->setPackageRequired("qual", true);

  // create the Model

  Model* model= new Model(sbmlns);

  // create the Compartment

  Compartment* compartment = new Compartment(sbmlns);
  compartment->setId("c");
  compartment->setConstant(true);

  fail_unless(model->addCompartment(compartment) == LIBSBML_OPERATION_SUCCESS);

  //// create the QualitativeSpecies

  QualModelPlugin* mplugin = static_cast<QualModelPlugin*>(model->getPlugin("qual"));

  fail_unless(mplugin != NULL);

  QualitativeSpecies* qs = new QualitativeSpecies(sbmlns); 
  fail_unless(qs->setId("s1")               == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setCompartment("c")       == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setConstant(false)        == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setInitialLevel(1)        == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setMaxLevel(4)            == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setName("sss")            == LIBSBML_OPERATION_SUCCESS);
  fail_unless(qs->setMetaId("ddd")          == LIBSBML_OPERATION_SUCCESS);

  fail_unless(mplugin->addQualitativeSpecies(qs) == LIBSBML_OPERATION_SUCCESS);

  Transition* t = new Transition(sbmlns);
  fail_unless(t->setId("d")               == LIBSBML_OPERATION_SUCCESS);
  fail_unless(t->setSBOTerm(1)            == LIBSBML_OPERATION_SUCCESS);

  Input* i = new Input(sbmlns);
  fail_unless(i->setId("RD")                 == LIBSBML_OPERATION_SUCCESS);
  fail_unless(i->setQualitativeSpecies("s1") == LIBSBML_OPERATION_SUCCESS);
  fail_unless(i->setTransitionEffect
  (InputTransitionEffect_fromString("none")) == LIBSBML_OPERATION_SUCCESS);
  fail_unless(i->setSign(InputSign_fromString("negative"))
                                             == LIBSBML_OPERATION_SUCCESS);
  fail_unless(i->setThresholdLevel(2)        == LIBSBML_OPERATION_SUCCESS);
  fail_unless(i->setName("aa")               == LIBSBML_OPERATION_SUCCESS);

  fail_unless(t->addInput(i) == LIBSBML_OPERATION_SUCCESS);

  Output* o = new Output(sbmlns);
  fail_unless(o->setId("wd")                       == LIBSBML_OPERATION_SUCCESS);
  fail_unless(o->setQualitativeSpecies("s1")       == LIBSBML_OPERATION_SUCCESS);
  fail_unless(o->setTransitionEffect
  (OutputTransitionEffect_fromString("production")) == LIBSBML_OPERATION_SUCCESS);
  fail_unless(o->setOutputLevel(2)                 == LIBSBML_OPERATION_SUCCESS);
  fail_unless(o->setName("aa")                     == LIBSBML_OPERATION_SUCCESS);

  fail_unless(t->addOutput(o) == LIBSBML_OPERATION_SUCCESS);

  FunctionTerm* ft = new FunctionTerm(sbmlns);
  ASTNode* math = SBML_parseL3Formula("geq(s1, 2)");
  fail_unless(ft->setResultLevel(2) == LIBSBML_OPERATION_SUCCESS);
  fail_unless(ft->setMath(math)     == LIBSBML_OPERATION_SUCCESS);

  fail_unless(t->addFunctionTerm(ft) == LIBSBML_OPERATION_SUCCESS);

  DefaultTerm* dt = new DefaultTerm(sbmlns);
  fail_unless(dt->setResultLevel(1) == LIBSBML_OPERATION_SUCCESS);


  fail_unless(t->setDefaultTerm(dt) == LIBSBML_OPERATION_SUCCESS);

  fail_unless(mplugin->addTransition(t) == LIBSBML_OPERATION_SUCCESS);

  fail_unless(document->setModel(model) == LIBSBML_OPERATION_SUCCESS);

  char *s2 = writeSBMLToString(document);

  fail_unless(strcmp(s1,s2) == 0); 

  free(s2);

  delete document;  
}
开发者ID:0u812,项目名称:roadrunner-backup,代码行数:101,代码来源:TestWriteQualExtension.cpp


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