Develop and Download Open Source Software

Browse Subversion Repository

Diff of /Conograph/trunk/src/p_out_indexing.cc

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 16 by rtomiyasu, Fri Apr 26 08:50:24 2013 UTC revision 25 by rtomiyasu, Mon Jul 7 02:35:51 2014 UTC
# Line 28  THE SOFTWARE. Line 28  THE SOFTWARE.
28  #include "p_out_indexing.hh"  #include "p_out_indexing.hh"
29  #include "ControlParam.hh"  #include "ControlParam.hh"
30  #include "PeakPosData.hh"  #include "PeakPosData.hh"
31  #include "lattice_symmetry/LatticeFigureOfMeritToCheckSymmetry.hh"  #include "lattice_symmetry/VCLatticeFigureOfMeritToCheckSymmetry.hh"
32  #include "lattice_symmetry/LatticeFigureOfMeritToDisplay.hh"  #include "lattice_symmetry/LatticeFigureOfMeritToDisplay.hh"
33  #include "utility_func/covar_matrix.hh"  #include "utility_func/covar_matrix.hh"
34  #include "utility_func/zmath.hh"  #include "utility_func/zmath.hh"
35  #include "utility_lattice_reduction/matrix_4by4.hh"  #include "utility_lattice_reduction/matrix_NbyN.hh"
36  #include "utility_data_structure/Bud.hh"  #include "utility_data_structure/Bud.hh"
37  #include "utility_data_structure/Node3.hh"  #include "utility_data_structure/Node3.hh"
38  #include "utility_data_structure/qdata.hh"  #include "utility_data_structure/qdata.hh"
39  #include "utility_data_structure/SymMatWCovar.hh"  #include "utility_data_structure/SymMatWCovar.hh"
40    #include "utility_data_structure/VecDat3.hh"
41  #include "lattice_symmetry/OutputInfo.hh"  #include "lattice_symmetry/OutputInfo.hh"
42    
43    
# Line 326  void print_node_data(const vector<Node3> Line 327  void print_node_data(const vector<Node3>
327    
328    
329    
330  void printHKLdata(const vector<LatticeFigureOfMeritToCheckSymmetry> lattice_result[],  void printHKLdata(const vector<VCLatticeFigureOfMeritToCheckSymmetry> lattice_result[],
331                  const OutputInfo outinfo[],                  const OutputInfo outinfo[],
332                  const eSortCriterion& sort_criterion,                  const eSortCriterion& sort_criterion,
333                  const ControlParam& cdata,                  const ControlParam& cdata,
334                  const PeakPosData& pdata,                  const PeakPosData& pdata,
335                  const string& fname)                  const string& fname)
336  {  {
337          static const ArrayIndex NUM_LS = put_cs_num();          static const Int4 NUM_LS = put_number_of_bravais_types();
338    
339          ofstream ofs(fname.c_str());          ofstream ofs(fname.c_str());
340      ostream *os;      ostream *os;
# Line 380  void printHKLdata(const vector<LatticeFi Line 381  void printHKLdata(const vector<LatticeFi
381          *os << "" << "VOL : unit-cell volume.\n";          *os << "" << "VOL : unit-cell volume.\n";
382          os->width(label_start);          os->width(label_start);
383          *os << "" << "Bravais Lattice : TNB";          *os << "" << "Bravais Lattice : TNB";
384          for(ArrayIndex i=0; i<putNumberOfSortCriterion(); i++)          for(Int4 i=0; i<putNumberOfSortCriterion(); i++)
385          {          {
386                  *os << ", " << putLabel(eSortCriterion(i));                  *os << ", " << putLabel(eSortCriterion(i));
387          }          }
388          *os << ", VOL\n";          *os << ", VOL\n";
389    
390          for(ArrayIndex k=NUM_LS-1; k>=0; k--)          for(Int4 k=NUM_LS-1; k>=0; k--)
391          {          {
392                  os->width(17);                  os->width(17);
393                  *os << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << " : ";                  *os << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << " : ";
394                  os->width(7);                  os->width(7);
395                  *os << outinfo[k].putCandidateNumToOutput();                  *os << outinfo[k].putCandidateNumToOutput();
396    
397                  const ArrayIndex& index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedFromListToOutput(sort_criterion) );                  const Int4 index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedFromListToOutput(sort_criterion) );
398                  if( index >= 0 )                  if( index >= 0 )
399                  {                  {
400                          const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit();                          const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit();
401                          const SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit();                          const LatticeFigureOfMerit::SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit();
402    
403                          os->width(15);                          os->width(15);
404                          *os << set_fom.putFigureOfMeritWolff();                          *os << set_fom.putFigureOfMeritWolff();
# Line 432  void printHKLdata(const vector<LatticeFi Line 433  void printHKLdata(const vector<LatticeFi
433          *os << "" << "-->\n\n";          *os << "" << "-->\n\n";
434          os->width(label_start);          os->width(label_start);
435          *os << "" << "<!-- Labels of the solution with the best figure of merit.\n";          *os << "" << "<!-- Labels of the solution with the best figure of merit.\n";
436          for(ArrayIndex k=NUM_LS-1; k>=0; k--)          for(Int4 k=NUM_LS-1; k>=0; k--)
437          {          {
438                  os->width(18);                  os->width(18);
439                  *os << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << ", Best Score : Lattice constants, label.\n";                  *os << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << ", Best Score : Lattice constants, label.\n";
440  //              if( lattice_result[k].empty() )  //              if( lattice_result[k].empty() )
441  //              {  //              {
442  //                      *os << "\n";  //                      *os << "\n";
443  //                      continue;  //                      continue;
444  //              }  //              }
445                  for(ArrayIndex i=0; i<putNumberOfSortCriterion(); i++)                  for(Int4 i=0; i<putNumberOfSortCriterion(); i++)
446                  {                  {
447                          os->width(15);                          os->width(15);
448                          *os << putLabel(eSortCriterion(i)) << " = ";                          *os << putLabel(eSortCriterion(i)) << " = ";
449    
450                          const ArrayIndex index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedAmongAll(eSortCriterion(i)) );                          const Int4 index = outinfo[k].putIndex( outinfo[k].putLatticeLabelSelectedAmongAll(eSortCriterion(i)) );
451                          os->width(12);                          os->width(12);
452                          if( index >= 0 )                          if( index >= 0 )
453                          {                          {
454                                  const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit();                                  const LatticeFigureOfMerit& lat_fom = lattice_result[k][index].putLatticeFigureOfMerit();
455                                  const SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit();                                  const LatticeFigureOfMerit::SetOfFigureOfMerit& set_fom = lat_fom.putFiguresOfMerit();
456    
457                                  if( eSortCriterion(i) == SCM )                                  if( eSortCriterion(i) == SCM )
458                                  {                                  {
# Line 514  void printHKLdata(const vector<LatticeFi Line 515  void printHKLdata(const vector<LatticeFi
515          os->width(label_start);          os->width(label_start);
516          *os << "" << "-->\n\n";          *os << "" << "-->\n\n";
517    
518          pair<eCrystalSystem, lattice_label> selected_lattice_info = put_selected_lattice_from_all(lattice_result, outinfo, sort_criterion);          pair<eBravaisType, lattice_label> selected_lattice_info = put_selected_lattice_from_all(lattice_result, outinfo, sort_criterion);
519          const ArrayIndex selected_lattice_index = outinfo[selected_lattice_info.first].putIndex(selected_lattice_info.second);          const Int4 selected_lattice_index = outinfo[selected_lattice_info.first].putIndex(selected_lattice_info.second);
520    
521          if( selected_lattice_index >= 0 )          if( selected_lattice_index >= 0 )
522          {          {
523                  const LatticeFigureOfMeritToCheckSymmetry& selected_lattice = lattice_result[selected_lattice_info.first][selected_lattice_index];                  const VCLatticeFigureOfMeritToCheckSymmetry& selected_lattice = lattice_result[selected_lattice_info.first][selected_lattice_index];
524    
525                  os->width(label_start);                  os->width(label_start);
526                  *os << "" << "<!-- Information on the selected candidates.-->\n";                  *os << "" << "<!-- Information on the selected candidates.-->\n";
# Line 528  void printHKLdata(const vector<LatticeFi Line 529  void printHKLdata(const vector<LatticeFi
529                  *os << "" << "<SelectedLatticeCandidate number=\"" << selected_lattice.putStringLabel() << "\">\n";                  *os << "" << "<SelectedLatticeCandidate number=\"" << selected_lattice.putStringLabel() << "\">\n";
530                  label_start++;                  label_start++;
531    
532                  selected_lattice.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os);                  selected_lattice.printLatticeInformation(lattice_result, outinfo,
533                                                                                            cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(),
534                                                                                            cdata.putResolution(), label_start, os);
535    
536                  label_start--;                  label_start--;
537                  os->width(label_start);                  os->width(label_start);
538                  *os << "" << "</SelectedLatticeCandidate>\n\n";                  *os << "" << "</SelectedLatticeCandidate>\n\n";
539          }          }
540                    
541          for(ArrayIndex k=NUM_LS-1; k>=0; k--)          for(Int4 k=NUM_LS-1; k>=0; k--)
542          {          {
543                  *os << "\n";                  *os << "\n";
544                  os->width(label_start);                  os->width(label_start);
545                  *os << "" << "<!-- Candidates for " << put_cs_name(eCrystalSystem(k), cdata.putBaseCenteredAxis()) << " -->\n\n";                  *os << "" << "<!-- Candidates for " << put_bravais_type_name(eBravaisType(k), cdata.putBaseCenteredAxis()) << " -->\n\n";
546                                    
547                  const Int4 num_topo = lattice_result[k].size();                  const Int4 num_topo = lattice_result[k].size();
548    
549                  for(Int4 n=0; n<num_topo; n++)                  for(Int4 n=0; n<num_topo; n++)
550                  {                  {
551                          const LatticeFigureOfMeritToCheckSymmetry& ans = lattice_result[k][n];                          const VCLatticeFigureOfMeritToCheckSymmetry& ans = lattice_result[k][n];
552                          if( !outinfo[k].IsOutput(ans.putLatticeLabel()) ) continue;                          if( !outinfo[k].IsOutput(ans.putLatticeLabel()) ) continue;
553    
554                          os->width(label_start);                          os->width(label_start);
555                  *os << "" << "<LatticeCandidate number=\"" << ans.putStringLabel() << "\">\n";                  *os << "" << "<LatticeCandidate number=\"" << ans.putStringLabel() << "\">\n";
556                  label_start++;                  label_start++;
557                  ans.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os);                  ans.printLatticeInformation(lattice_result, outinfo, cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(),
558                                                                                            0.06, label_start, os);
559                                    
560                  label_start--;                  label_start--;
561                          os->width(label_start);                          os->width(label_start);
# Line 607  void printHKLdata(const vector<LatticeFi Line 611  void printHKLdata(const vector<LatticeFi
611                  os->width(label_start);                  os->width(label_start);
612          *os << "" << "<LatticeCandidate>\n";          *os << "" << "<LatticeCandidate>\n";
613          label_start++;          label_start++;
614          ans.printLatticeInformation(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), label_start, os);          ans.printLatticeInformation(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(),
615                                                                    cdata.putResolution(), label_start, os);
616          lattice_result[n].printIndexingResult(cdata, pdata, label_start, os);          lattice_result[n].printIndexingResult(cdata, pdata, label_start, os);
617    
618          label_start--;          label_start--;
# Line 627  void printHKLdata(const vector<LatticeFi Line 632  void printHKLdata(const vector<LatticeFi
632    
633    
634    
635    
636  void printPeakPosition(  void printPeakPosition(
637                  const ControlParam& cdata,                  const ControlParam& cdata,
638                  const PeakPosData& pdata,                  const PeakPosData& pdata,
                 const eABCaxis& axis1, const eRHaxis& axis2,  
639                  const LatticeFigureOfMeritToDisplay& latfit,                  const LatticeFigureOfMeritToDisplay& latfit,
640                    const vector<LatticeFigureOfMerit>& lattices_same_q,
641                  const string& fname)                  const string& fname)
642  {  {
643          ofstream ofs(fname.c_str());          ofstream ofs(fname.c_str());
# Line 642  void printPeakPosition( Line 648  void printPeakPosition(
648    
649      pdata.printData(os);      pdata.printData(os);
650    
651  //    const Int4 isize = latfit.size();          *os << "WAVES/O dphase_0, xphase_0, yphase_0, h_0, k_0, l_0\n";
652    
653        *os << "BEGIN\n";
654    
655            const vector<HKL_Q>& cal_hkl_tray = latfit.putCalMillerIndices();
656            Vec_DP cal_pos_tray;
657            latfit.putCalculatedPeakPosInRange(cdata, cal_pos_tray);
658    
659            const Int4 peak_num = cal_hkl_tray.size();
660    
661            for (Int4 i=0; i<peak_num; i++)
662            {
663            os->width(15);
664            *os << 1.0 / sqrt( cal_hkl_tray[i].Q() );
665    
666            os->width(15);
667            if( cal_pos_tray[i] < 0.0 )
668            {
669                *os << "NAN";
670            }
671            else
672            {
673                    *os << cal_pos_tray[i];
674            }
675            os->width(15);
676            *os << 0.0;
677    
678            const VecDat3<Int4>& hkl = cal_hkl_tray[i].HKL();
679    
680            os->width(5);
681            *os << hkl[0];
682            os->width(5);
683            *os << hkl[1];
684            os->width(5);
685            *os << hkl[2];
686    
687            *os << endl;
688            }
689            *os << "END\n\n";
690    
691            LatticeFigureOfMeritToDisplay latfit2;
692            latfit2.setPeakShiftParamDegree(latfit.putPeakShiftFunctionType(), latfit.putWaveLength(),
693                                                                                    latfit.putPeakShiftParamDegree(), pdata);
694    
695      for (Int4 j=0, j1=1; j<1; j++, j1++)          const Int4 isize = lattices_same_q.size();
696        for (Int4 j=0, j2=1; j<isize; j++, j2++)
697      {      {
698              *os << "WAVES/O dphase_" << j1 << ", xphase_" << j1 << ", yphase_" << j1 << ", ";                  VecDat3<Double> length_axis, angle_axis;
699          *os << "h_" << j1 << ", ";                  lattices_same_q[j].putReducedLatticeConstantsDegree(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), length_axis, angle_axis);
700          *os << "k_" << j1 << ", ";  
701          *os << "l_" << j1;                  latfit2.setLatticeConstantsDegree(lattices_same_q[j].enumBravaisType(), cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), length_axis, angle_axis);
702                    latfit2.resetMillerIndicesInRange(cdata.putNumberOfReflectionsForFigureOfMerit());
703    
704    
705            *os << "WAVES/O dphase_" << j2 << ", xphase_" << j2 << ", yphase_" << j2 << ", ";
706            *os << "h_" << j2 << ", ";
707            *os << "k_" << j2 << ", ";
708            *os << "l_" << j2;
709          *os << endl;          *os << endl;
710    
711              *os << "BEGIN\n";              *os << "BEGIN\n";
712    
713                  const vector<HKL_Q>& cal_hkl_tray = latfit.putCalMillerIndices();                  const vector<HKL_Q>& cal_hkl_tray = latfit2.putCalMillerIndices();
714                  Vec_DP cal_pos_tray;                  Vec_DP cal_pos_tray;
715                  latfit.putCalculatedPeakPosInRange(cdata, cal_pos_tray);                  latfit2.putCalculatedPeakPosInRange(cdata, cal_pos_tray);
716    
717          const Int4 peak_num = cal_hkl_tray.size();          const Int4 peak_num = cal_hkl_tray.size();
718    
# Line 704  void printPeakPosition( Line 760  void printPeakPosition(
760      *os << "X ModifyGraph mode(height)=3,marker(height)=17\n";      *os << "X ModifyGraph mode(height)=3,marker(height)=17\n";
761      *os << "X ModifyGraph rgb(height)=(0,65280,65280)\n";      *os << "X ModifyGraph rgb(height)=(0,65280,65280)\n";
762    
763          for (Int4 j=0, j1=1; j<1; j++, j1++)      Double offset = 0.0;
764        const Double offset_gap = pdata.putMaxPeakHeightOfFirst20() * (-0.05);
765        for (Int4 j=0; j<isize+1; j++, offset+=offset_gap)
766          {          {
767                  *os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl;                  *os << "X AppendToGraph yphase_" << j << " vs xphase_" << j << endl;
768                  *os << "X ModifyGraph offset(yphase_" << j1 << ")={0,0},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1;                  *os << "X ModifyGraph offset(yphase_" << j << ")={0," << offset << "},mode(yphase_" << j << ")=3,marker(yphase_" << j;
769                  *os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl;                  *os << ")=10,msize(yphase_" << j << ")=3,mrkThick(yphase_" << j << ")=0.6,rgb(yphase_" << j << ")=(3,52428,1)" << endl;
770            if( j <= 0 ) offset+=offset_gap;
771          }          }
772    
773      *os << "X Legend/C/N=text0/J/A=MC \"";      *os << "X Legend/C/N=text0/J/A=MC \"";
774          *os << "\\s(yphase_" << 1 << ") "          *os << "\\s(yphase_" << 0 << ") "
775                  + put_cs_name(latfit.putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " "                  + put_bravais_type_name(latfit.putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " "
776                  + latfit.putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);                  + latfit.putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);
777          *os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00";          for (Int4 j=0, j2=1; j<isize; j++, j2++)
778            {
779                    *os << "\\r\\s(yphase_" << j2 << ") "
780                                    + put_bravais_type_name(lattices_same_q[j].enumBravaisType(), cdata.putBaseCenteredAxis()) + " "
781                                    + lattices_same_q[j].printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);
782            }
783            *os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00\n";
784    
785      ofs.close();      ofs.close();
786  }  }
# Line 725  void printPeakPosition( Line 790  void printPeakPosition(
790  void printPeakPosition(  void printPeakPosition(
791                  const ControlParam& cdata,                  const ControlParam& cdata,
792                  const PeakPosData& pdata,                  const PeakPosData& pdata,
                 const eABCaxis& axis1, const eRHaxis& axis2,  
793                  const vector<LatticeFigureOfMeritToDisplay>& latfit_tray,                  const vector<LatticeFigureOfMeritToDisplay>& latfit_tray,
                 const Double& offset_first,  
794                  const string& fname)                  const string& fname)
795  {  {
796          ofstream ofs(fname.c_str());          ofstream ofs(fname.c_str());
# Line 803  void printPeakPosition( Line 866  void printPeakPosition(
866      *os << "X ModifyGraph mode(height)=3,marker(height)=17\n";      *os << "X ModifyGraph mode(height)=3,marker(height)=17\n";
867      *os << "X ModifyGraph rgb(height)=(0,65280,65280)\n";      *os << "X ModifyGraph rgb(height)=(0,65280,65280)\n";
868    
869      const Double width = pdata.putAveragePeakHeightOfFirst20() * 0.3;      Double offset = 0.0;
870      Double offset = offset_first;      const Double offset_gap = pdata.putMaxPeakHeightOfFirst20() * (-0.05);
871      for (Int4 j=0, j1=1; j<isize; j++, j1++)      for (Int4 j=0, j1=1; j<isize; j++, j1++, offset+=offset_gap)
872          {          {
873                  *os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl;                  *os << "X AppendToGraph yphase_" << j1 << " vs xphase_" << j1 << endl;
874                  *os << "X ModifyGraph offset(yphase_" << j1 << ")={0," << offset << "},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1;                  *os << "X ModifyGraph offset(yphase_" << j1 << ")={0," << offset << "},mode(yphase_" << j1 << ")=3,marker(yphase_" << j1;
875                  *os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl;                  *os << ")=10,msize(yphase_" << j1 << ")=3,mrkThick(yphase_" << j1 << ")=0.6,rgb(yphase_" << j1 << ")=(3,52428,1)" << endl;
                 offset -= width;  
876          }          }
877    
878      *os << "X Legend/C/N=text0/J/A=MC \"";      *os << "X Legend/C/N=text0/J/A=MC \"";
879          *os << "\\s(yphase_" << 1 << ") "          *os << "\\s(yphase_" << 1 << ") "
880                  + put_cs_name(latfit_tray[0].putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " "                  + put_bravais_type_name(latfit_tray[0].putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " "
881                  + latfit_tray[0].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);                  + latfit_tray[0].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);
882          for (Int4 j=1, j1=2; j<isize; j++, j1++)          for (Int4 j=1, j1=2; j<isize; j++, j1++)
883          {          {
884                  *os << "\\r\\s(yphase_" << j1 << ") "                  *os << "\\r\\s(yphase_" << j1 << ") "
885                                  + put_cs_name(latfit_tray[j].putLatticeFigureOfMerit().enumCrystalSystem(), cdata.putBaseCenteredAxis()) + " "                                  + put_bravais_type_name(latfit_tray[j].putLatticeFigureOfMerit().enumBravaisType(), cdata.putBaseCenteredAxis()) + " "
886                                  + latfit_tray[j].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);                                  + latfit_tray[j].putLatticeFigureOfMerit().printOptimizedLatticeConstants(cdata.putBaseCenteredAxis(), cdata.putRhombohedralAxis(), 3);
887          }          }
888          *os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00";          *os << "\"\nX Legend/C/N=text0/J/A=RT/X=0.00/Y=0.00\n";
889    
890      ofs.close();      ofs.close();
891  }  }

Legend:
Removed from v.16  
changed lines
  Added in v.25

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26