本文整理汇总了C++中Frame::CenterOnOrigin方法的典型用法代码示例。如果您正苦于以下问题:C++ Frame::CenterOnOrigin方法的具体用法?C++ Frame::CenterOnOrigin怎么用?C++ Frame::CenterOnOrigin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Frame
的用法示例。
在下文中一共展示了Frame::CenterOnOrigin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SymmRMSD
/** It is expected that TGT and REF correspond to each other. */
double SymmetricRmsdCalc::SymmRMSD(Frame const& selectedTGT, Frame& selectedREF) {
selectedREF.CenterOnOrigin( useMass_ );
return SymmRMSD_CenteredRef(selectedTGT, selectedREF);
}
示例2: main
//.........这里部分代码省略.........
else if (arg == "-conect") // Write CONECT records from bond info
writeconect.assign(" conect");
else if (arg == "-ep") // PDB atom names, include extra pts
aatm.append(" include_ep");
else if (arg == "-bres") // PDB residue names
bres.assign(" pdbres");
else if (arg == "-ext") // Use extended PDB info from Topology
useExtendedInfo = true;
else if (arg == "-ctr") // Center on origin
ctr_origin = true;
else if (arg == "-noter") // No TER cards
ter_opt.assign(" noter");
else if (arg == "-nobox") // No CRYST1 record
box.assign(" nobox");
else if (arg == "-pqr") { // Charge/Radii in occ/bfactor cols
pqr.assign(" dumpq");
++numSoloArgs;
} else if (arg == "-mol2") { // output as mol2
fmt = TrajectoryFile::MOL2FILE;
++numSoloArgs;
} else if (Unsupported(arg)) {
mprinterr("Error: Option '%s' is not yet supported.\n\n", arg.c_str());
return 1;
} else {
mprinterr("Error: Unrecognized option '%s'\n", arg.c_str());
Help(argv[0], false);
return 1;
}
}
if (debug > 0) WriteVersion();
// Check command line for errors.
if (topname.empty()) topname.assign("prmtop");
if (debug > 0 && crdname.empty())
mprinterr("| Reading Amber restart from STDIN\n");
if (numSoloArgs > 1) {
mprinterr("Error: Only one alternate output format option may be specified (found %i)\n",
numSoloArgs);
Help(argv[0], true);
return 1;
}
if (!sybyltype.empty() && fmt != TrajectoryFile::MOL2FILE) {
mprinterr("Warning: -sybyl is only valid for MOL2 file output.\n");
sybyltype.clear();
}
if (debug > 0) {
mprinterr("Warning: debug is %i; debug info will be written to STDOUT.\n", debug);
SetWorldSilent(false);
}
// Topology
ParmFile pfile;
Topology parm;
if (pfile.ReadTopology(parm, topname, debug)) {
if (topname == "prmtop") Help(argv[0], false);
return 1;
}
if (!useExtendedInfo)
parm.ResetPDBinfo();
if (res_offset != 0)
for (int r = 0; r < parm.Nres(); r++)
parm.SetRes(r).SetOriginalNum( parm.Res(r).OriginalResNum() + res_offset );
ArgList trajArgs;
// Input coords
Frame TrajFrame;
CoordinateInfo cInfo;
if (!crdname.empty()) {
Trajin_Single trajin;
if (trajin.SetupTrajRead(crdname, trajArgs, &parm)) return 1;
cInfo = trajin.TrajCoordInfo();
TrajFrame.SetupFrameV(parm.Atoms(), cInfo);
trajin.BeginTraj();
if (trajin.ReadTrajFrame(0, TrajFrame)) return 1;
trajin.EndTraj();
} else {
// Assume Amber restart from STDIN
// Check that input is from a redirect.
if ( isatty(fileno(stdin)) ) {
mprinterr("Error: No coordinates specified with '-c' and no STDIN '<'.\n");
return 1;
}
Traj_AmberRestart restartIn;
restartIn.SetDebug( debug );
//restartIn.processReadArgs( trajArgs );
int total_frames = restartIn.setupTrajin("", &parm);
if (total_frames < 1) return 1;
cInfo = restartIn.CoordInfo();
TrajFrame.SetupFrameV(parm.Atoms(), cInfo);
if (restartIn.openTrajin()) return 1;
if (restartIn.readFrame(0, TrajFrame)) return 1;
restartIn.closeTraj();
}
if (ctr_origin)
TrajFrame.CenterOnOrigin(false);
// Output coords
Trajout_Single trajout;
trajArgs.SetList( aatm + bres + pqr + title + ter_opt + box + sybyltype + writeconect, " " );
if ( trajout.PrepareStdoutTrajWrite(trajArgs, &parm, cInfo, 1, fmt) ) return 1;
trajout.WriteSingle(0, TrajFrame);
trajout.EndTraj();
return 0;
}