本文整理汇总了C++中Domain::getSpatialId方法的典型用法代码示例。如果您正苦于以下问题:C++ Domain::getSpatialId方法的具体用法?C++ Domain::getSpatialId怎么用?C++ Domain::getSpatialId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Domain
的用法示例。
在下文中一共展示了Domain::getSpatialId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readSpatialSBML
void readSpatialSBML() {
SBMLDocument *document2 = readSBML("spatial_example0.xml");
Model *model2 = document2->getModel();
Compartment *comp;
SpatialCompartmentPlugin* cplugin;
RequiredElementsSBasePlugin* reqplugin;
for (unsigned int i = 0; i < model2->getNumCompartments(); i++) {
comp = model2->getCompartment(i);
cout << "Compartment" << i << ": " << comp->getId() << endl;
reqplugin = static_cast<RequiredElementsSBasePlugin*>(comp->getPlugin("req"));
if (!reqplugin->getMathOverridden().empty()) {
cout << "Comp" << i << " req mathOverridden: " << reqplugin->getMathOverridden() << endl;
}
cplugin = static_cast<SpatialCompartmentPlugin*>(comp->getPlugin("spatial"));
if (cplugin->getCompartmentMapping()->isSetSpatialId()) {
cout << "Comp" << i << " CMSpId: " << cplugin->getCompartmentMapping()->getSpatialId() << endl;
cout << "Comp" << i << " CM_Comp: " << cplugin->getCompartmentMapping()->getCompartment() << endl;
cout << "Comp" << i << " CM_DType: " << cplugin->getCompartmentMapping()->getDomainType() << endl;
cout << "Comp" << i << " CM_UnitSz: " << cplugin->getCompartmentMapping()->getUnitSize() << endl;
}
}
Species *sp;
SpatialSpeciesRxnPlugin* srplugin;
for (unsigned int i = 0; i < model2->getNumSpecies(); i++) {
sp = model2->getSpecies(i);
cout << "Species" << i << ": " << sp->getId() << endl;
srplugin = static_cast<SpatialSpeciesRxnPlugin*>(sp->getPlugin("spatial"));
if (srplugin->getIsSpatial()) {
cout << "species" << i << " isSpatial: " << srplugin->getIsSpatial() << endl;
}
}
Parameter *param;
SpatialParameterPlugin* pplugin;
for (unsigned int i = 0; i < model2->getNumParameters(); i++) {
param = model2->getParameter(i);
cout << "Parameter" << i << ": " << param->getId() << endl;
reqplugin = static_cast<RequiredElementsSBasePlugin*>(param->getPlugin("req"));
if (!reqplugin->getMathOverridden().empty()) {
cout << "Parameter" << i << " req mathOverridden: " << reqplugin->getMathOverridden() << endl;
}
pplugin = static_cast<SpatialParameterPlugin*>(param->getPlugin("spatial"));
if (pplugin->getSpatialSymbolReference()->isSetSpatialId()) {
cout << "Parameter" << i << " SpRefId: " << pplugin->getSpatialSymbolReference()->getSpatialId() << endl;
cout << "Parameter" << i << " SpRefType: " << pplugin->getSpatialSymbolReference()->getType() << endl;
}
if (pplugin->getDiffusionCoefficient()->isSetVariable()) {
cout << "Diff_" << i << " SpeciesVarId: " << pplugin->getDiffusionCoefficient()->getVariable() << endl;
cout << "Diff_" << i << " SpCoordIndex: " << pplugin->getDiffusionCoefficient()->getCoordinateIndex() << endl;
}
if (pplugin->getAdvectionCoefficient()->isSetVariable()) {
cout << "Adv_" << i << " SpeciesVarId: " << pplugin->getAdvectionCoefficient()->getVariable() << endl;
cout << "Adv_" << i << " SpCoordIndex: " << pplugin->getAdvectionCoefficient()->getCoordinateIndex() << endl;
}
if (pplugin->getBoundaryCondition()->isSetVariable()) {
cout << "BC_" << i << " SpeciesVarId: " << pplugin->getBoundaryCondition()->getVariable() << endl;
cout << "BC_" << i << " SpCoordBoundary: " << pplugin->getBoundaryCondition()->getCoordinateBoundary() << endl;
cout << "BC_" << i << " SpBoundaryType: " << pplugin->getBoundaryCondition()->getType() << endl;
}
}
Reaction *rxn;
for (unsigned int i = 0; i < model2->getNumReactions(); i++) {
rxn = model2->getReaction(i);
cout << "Reaction" << i << ": " << rxn->getId() << endl;
srplugin = static_cast<SpatialSpeciesRxnPlugin*>(rxn->getPlugin("spatial"));
if (srplugin->getIsLocal()) {
cout << "rxn" << i << " isLocal: " << srplugin->getIsLocal() << endl;
}
}
Rule *rule;
for (unsigned int i = 0; i < model2->getNumRules(); i++) {
rule = model2->getRule(i);
cout << "Rule" << i << ": " << rule->getVariable() << endl;
}
//
// Get a SpatialModelPlugin object plugged in the model object.
//
// The type of the returned value of SBase::getPlugin() function is
// SBasePlugin*, and thus the value needs to be cast for the
// corresponding derived class.
//
SpatialModelPlugin* mplugin2;
mplugin2 = static_cast<SpatialModelPlugin*>(model2->getPlugin("spatial"));
cout << "URI: " << mplugin2->getURI() << endl;
cout << "prefix: " << mplugin2->getPrefix() << endl;
// get a Geometry object via SpatialModelPlugin object.
Geometry* geometry2 = mplugin2->getGeometry();
cout << "Geometry coordSystem: " << geometry2->getCoordinateSystem() << endl;
// get a CoordComponent object via the Geometry object.
CoordinateComponent* coordComp = geometry2->getCoordinateComponent(0);
std::cout << "CoordComponent spatialId: " << coordComp->getSpatialId() << std::endl;
std::cout << "CoordComponent compType: " << coordComp->getComponentType() << std::endl;
std::cout << "CoordComponent sbmlUnit: " << coordComp->getSbmlUnit() << std::endl;
//.........这里部分代码省略.........
示例2: writeSpatialSBML
//.........这里部分代码省略.........
SpatialModelPlugin* mplugin;
mplugin = static_cast<SpatialModelPlugin*>(model->getPlugin("spatial"));
//
// Creates a geometry object via SpatialModelPlugin object.
//
Geometry* geometry = mplugin->getGeometry();
geometry->setCoordinateSystem("XYZ");
CoordinateComponent* coordX = geometry->createCoordinateComponent();
coordX->setSpatialId("coordComp1");
coordX->setComponentType("cartesian");
coordX->setSbmlUnit("umeter");
coordX->setIndex(1);
BoundaryMin* minX = coordX->createBoundaryMin();
minX->setSpatialId("Xmin");
minX->setValue(0.0);
BoundaryMax* maxX = coordX->createBoundaryMax();
maxX->setSpatialId("Xmax");
maxX->setValue(10.0);
Parameter* paramX = model->createParameter();
paramX->setId("x");
paramX->setValue(8.0);
// required elements package extention to parameter
// RequiredElementsSBasePlugin* reqplugin;
reqplugin = static_cast<RequiredElementsSBasePlugin*>(paramX->getPlugin("req"));
reqplugin->setMathOverridden("spatial");
reqplugin->setCoreHasAlternateMath(true);
// spatial package extension to parameter.
// SpatialParameterPlugin* pplugin;
pplugin = static_cast<SpatialParameterPlugin*>(paramX->getPlugin("spatial"));
SpatialSymbolReference* spSymRef = pplugin->getSpatialSymbolReference();
spSymRef->setSpatialId(coordX->getSpatialId());
spSymRef->setType(coordX->getElementName());
DomainType* domainType = geometry->createDomainType();
domainType->setSpatialId("dtype1");
domainType->setSpatialDimensions(3);
// Spatial package extension to compartment (mapping compartment with domainType)
// required elements package extention to compartment
reqplugin = static_cast<RequiredElementsSBasePlugin*>(compartment->getPlugin("req"));
reqplugin->setMathOverridden("spatial");
reqplugin->setCoreHasAlternateMath(true);
SpatialCompartmentPlugin* cplugin;
cplugin = static_cast<SpatialCompartmentPlugin*>(compartment->getPlugin("spatial"));
CompartmentMapping* compMapping = cplugin->getCompartmentMapping();
compMapping->setSpatialId("compMap1");
compMapping->setCompartment(compartment->getId());
compMapping->setDomainType(domainType->getSpatialId());
compMapping->setUnitSize(1.0);
Domain* domain = geometry->createDomain();
domain->setSpatialId("domain1");
domain->setDomainType("dtype1");
domain->setImplicit(false);
domain->setShapeId("circle");
InteriorPoint* internalPt1 = domain->createInteriorPoint();
internalPt1->setCoord1(1.0);
domain = geometry->createDomain();
domain->setSpatialId("domain2");
domain->setDomainType("dtype1");
domain->setImplicit(false);
domain->setShapeId("square");