本文整理汇总了C++中Bundle::rs方法的典型用法代码示例。如果您正苦于以下问题:C++ Bundle::rs方法的具体用法?C++ Bundle::rs怎么用?C++ Bundle::rs使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bundle
的用法示例。
在下文中一共展示了Bundle::rs方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: function_ClearCharges
// Clears charge in current model ('clearcharges')
bool Commands::function_ClearCharges(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
obj.rs()->beginUndoState("Remove charges");
obj.rs()->clearCharges();
obj.rs()->endUndoState();
return true;
}
示例2: function_ChargePAtom
// Assign charge to a pattern atom, propagated over the model ('chargepatom <id> <q>')
bool Commands::function_ChargePAtom(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
obj.rs()->beginUndoState("Charge single pattern atom");
obj.rs()->chargePatternAtom(obj.p,c->argi(0),c->argd(1));
obj.rs()->endUndoState();
return true;
}
示例3: function_ChargeFF
// Assign charges from forcefield atom types ('chargeff')
bool Commands::function_ChargeFF(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
obj.rs()->beginUndoState("Assign forcefield charges");
bool result = obj.rs()->assignForcefieldCharges();
obj.rs()->endUndoState();
return (result);
}
示例4: function_ChargeFromModel
// Copy atomic charges from model to model's current trajectory frame
bool Commands::function_ChargeFromModel(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
if (obj.rs() == obj.m)
{
Messenger::print("Error - 'chargefrommodel' requires an active trajectory frame in the current model.");
return false;
}
else obj.rs()->copyAtomData(obj.m, Atom::ChargeData);
return true;
}
示例5: function_LoadGrid
// Load grid ('loadgrid <filename>')
bool Commands::function_LoadGrid(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
Grid* g = NULL;
if (aten_.importGrid(obj.rs(), c->argc(0))) g = obj.g;
else return false;
// Set return value
rv.set(VTypes::GridData, g);
return true;
}
示例6: function_Charge
ATEN_USING_NAMESPACE
// Assign charge to selected atoms in model ('charge <q>'), or get charge of current selection
bool Commands::function_Charge(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
double q = 0.0;
if (c->hasArg(0))
{
obj.rs()->beginUndoState("Charge selected atoms");
for (RefListItem<Atom,int>* ri = obj.rs()->selection(); ri != NULL; ri = ri->next) obj.rs()->atomSetCharge(ri->item, c->argd(0));
obj.rs()->endUndoState();
}
else
{
q = 0.0;
for (RefListItem<Atom,int>* ri = obj.rs()->selection(); ri != NULL; ri = ri->next) q += ri->item->charge();
}
rv.set(q);
return true;
}
示例7: function_GetGrid
// Return nth grid of model
bool Commands::function_GetGrid(CommandNode* c, Bundle& obj, ReturnValue& rv)
{
if (obj.notifyNull(Bundle::ModelPointer)) return false;
Grid* g = NULL;
switch (c->argType(0))
{
case (VTypes::IntegerData):
g = obj.rs()->grid(c->argi(0)-1);
break;
case (VTypes::GridData):
g = (Grid*) c->argp(0, VTypes::GridData);
break;
default:
Messenger::print("Can't convert a variable of type '%s' to a Grid.", VTypes::dataType(c->argType(0)));
break;
}
if (g == NULL) return false;
rv.set(VTypes::GridData, g);
return true;
}