Index: ../trunk-jpl/src/c/analyses/prognostic_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/prognostic_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/prognostic_core.cpp (revision 15099) @@ -31,22 +31,22 @@ if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,PrognosticRequestedOutputsEnum); if(issmbgradients){ - if(VerboseSolution)_printLine_(" call smb gradients module\n"); + if(VerboseSolution)_printString_(" call smb gradients module\n" << "\n"); SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); } if(ispdd){ if(isdelta18o){ - if(VerboseSolution()) _pprintLine_(" call Delta18oParametrization module"); + if(VerboseSolution()) _pprintString_(" call Delta18oParametrization module" << "\n"); Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); } - if(VerboseSolution()) _pprintLine_(" call positive degree day module"); + if(VerboseSolution()) _pprintString_(" call positive degree day module" << "\n"); PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); } - if(VerboseSolution()) _pprintLine_(" call computational core"); + if(VerboseSolution()) _pprintString_(" call computational core" << "\n"); solutionsequence_linear(femmodel); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum); femmodel->RequestedOutputsx(requested_outputs,numoutputs); } Index: ../trunk-jpl/src/c/analyses/surfaceslope_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/surfaceslope_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/surfaceslope_core.cpp (revision 15099) @@ -17,7 +17,7 @@ /*Recover some parameters: */ femmodel->parameters->FindParam(&save_results,SaveResultsEnum); - if(VerboseSolution()) _pprintLine_("computing slope..."); + if(VerboseSolution()) _pprintString_("computing slope..." << "\n"); /*Call on core computations: */ femmodel->SetCurrentConfiguration(SurfaceSlopeAnalysisEnum,SurfaceSlopeXAnalysisEnum); @@ -26,7 +26,7 @@ solutionsequence_linear(femmodel); if(save_results){ - if(VerboseSolution()) _pprintLine_("saving results:"); + if(VerboseSolution()) _pprintString_("saving results:" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeXEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceSlopeYEnum); } Index: ../trunk-jpl/src/c/analyses/thermal_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/thermal_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/thermal_core.cpp (revision 15099) @@ -24,16 +24,16 @@ ResetConstraintsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); } - if(VerboseSolution()) _pprintLine_(" computing temperatures"); + if(VerboseSolution()) _pprintString_(" computing temperatures" << "\n"); femmodel->SetCurrentConfiguration(ThermalAnalysisEnum); solutionsequence_thermal_nonlinear(femmodel); - if(VerboseSolution()) _pprintLine_(" computing melting"); + if(VerboseSolution()) _pprintString_(" computing melting" << "\n"); femmodel->SetCurrentConfiguration(MeltingAnalysisEnum); solutionsequence_linear(femmodel); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BasalforcingsMeltingRateEnum); } Index: ../trunk-jpl/src/c/analyses/gradient_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/gradient_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/gradient_core.cpp (revision 15099) @@ -19,11 +19,11 @@ Vector* old_gradient = NULL; /*Compute gradient*/ - if(VerboseControl()) _pprintLine_(" compute cost function gradient"); + if(VerboseControl()) _pprintString_(" compute cost function gradient" << "\n"); Gradjx(&gradient,&norm_list,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters); if (orthogonalize){ - if(VerboseControl()) _pprintLine_(" orthogonalization"); + if(VerboseControl()) _pprintString_(" orthogonalization" << "\n"); ControlInputGetGradientx(&old_gradient,femmodel->elements,femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials,femmodel->parameters); Orthx(&new_gradient,gradient,old_gradient); delete old_gradient; delete gradient; } Index: ../trunk-jpl/src/c/analyses/gia_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/gia_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/gia_core.cpp (revision 15099) @@ -25,7 +25,7 @@ femmodel->parameters->FindParam(&save_results,SaveResultsEnum); femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum); - if(VerboseSolution()) _pprintLine_(" computing GIA"); + if(VerboseSolution()) _pprintString_(" computing GIA" << "\n"); /*Call on core computations: */ femmodel->SetCurrentConfiguration(GiaAnalysisEnum); @@ -49,7 +49,7 @@ InputUpdateFromVectorx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,dwdtg,GiadWdtEnum,VertexSIdEnum); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GiaWEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GiadWdtEnum); } Index: ../trunk-jpl/src/c/analyses/balancethickness_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/balancethickness_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/balancethickness_core.cpp (revision 15099) @@ -20,11 +20,11 @@ /*recover parameters: */ femmodel->parameters->FindParam(&save_results,SaveResultsEnum); - if(VerboseSolution()) _pprintLine_("call computational core:"); + if(VerboseSolution()) _pprintString_("call computational core:" << "\n"); solutionsequence_linear(femmodel); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ThicknessEnum); } Index: ../trunk-jpl/src/c/analyses/transient_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/transient_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/transient_core.cpp (revision 15099) @@ -84,7 +84,7 @@ femmodel->parameters->SetParam(time,TimeEnum); femmodel->parameters->SetParam(step,StepEnum); - if(VerboseSolution()) _pprintLine_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << " time [yr]: " << time/yts << " (time step: " << dt/yts << ")"); + if(VerboseSolution()) _pprintString_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << " time [yr]: " << time/yts << " (time step: " << dt/yts << ")" << "\n"); if(step%output_frequency==0 || time==finaltime) save_results=true; else @@ -92,7 +92,7 @@ femmodel->parameters->SetParam(save_results,SaveResultsEnum); if(isthermal && dim==3){ - if(VerboseSolution()) _pprintLine_(" computing temperatures"); + if(VerboseSolution()) _pprintString_(" computing temperatures" << "\n"); #ifdef _HAVE_THERMAL_ if(isenthalpy==0){ thermal_core(femmodel); @@ -106,7 +106,7 @@ } if(isdiagnostic){ - if(VerboseSolution()) _pprintLine_(" computing new velocity"); + if(VerboseSolution()) _pprintString_(" computing new velocity" << "\n"); #ifdef _HAVE_DIAGNOSTIC_ diagnostic_core(femmodel); #else @@ -115,14 +115,14 @@ } if(isprognostic){ - if(VerboseSolution()) _pprintLine_(" computing new thickness"); + if(VerboseSolution()) _pprintString_(" computing new thickness" << "\n"); prognostic_core(femmodel); - if(VerboseSolution()) _pprintLine_(" updating vertices positions"); + if(VerboseSolution()) _pprintString_(" updating vertices positions" << "\n"); femmodel->UpdateVertexPositionsx(); } if(isgroundingline){ - if(VerboseSolution()) _pprintLine_(" computing new grounding line position"); + if(VerboseSolution()) _pprintString_(" computing new grounding line position" << "\n"); #ifdef _HAVE_GROUNDINGLINE_ GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); #else @@ -130,7 +130,7 @@ #endif } if(isgia){ - if(VerboseSolution()) _pprintLine_(" computing glacial isostatic adjustment"); + if(VerboseSolution()) _pprintString_(" computing glacial isostatic adjustment" << "\n"); #ifdef _HAVE_GIA_ gia_core(femmodel); #else @@ -141,7 +141,7 @@ /*unload results*/ if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving transient results"); + if(VerboseSolution()) _pprintString_(" saving transient results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SurfaceforcingsMassBalanceEnum); @@ -157,7 +157,7 @@ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,GLlevelsetEnum); } - if(VerboseSolution()) _pprintLine_(" saving temporary results"); + if(VerboseSolution()) _pprintString_(" saving temporary results" << "\n"); OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); } } Index: ../trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/ResetBoundaryConditions.cpp (revision 15099) @@ -12,7 +12,7 @@ Vector* yg = NULL; Nodes *nodes = NULL; - if(VerboseSolution()) _pprintLine_(" updating boundary conditions..."); + if(VerboseSolution()) _pprintString_(" updating boundary conditions..." << "\n"); /*set current analysis: */ femmodel->SetCurrentConfiguration(analysis_type); Index: ../trunk-jpl/src/c/analyses/hydrology_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/hydrology_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/hydrology_core.cpp (revision 15099) @@ -50,14 +50,14 @@ /*Loop through time: */ for(i=0;iparameters->SetParam(time,TimeEnum); femmodel->parameters->SetParam(step,StepEnum); if (hydrology_model==HydrologyshreveEnum){ - if(VerboseSolution()) _pprintLine_(" computing water column"); + if(VerboseSolution()) _pprintString_(" computing water column" << "\n"); femmodel->SetCurrentConfiguration(HydrologyShreveAnalysisEnum); solutionsequence_nonlinear(femmodel,modify_loads); @@ -66,13 +66,13 @@ InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum,WaterColumnOldEnum); if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){ - if(VerboseSolution()) _pprintLine_(" saving results "); + if(VerboseSolution()) _pprintString_(" saving results " << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WatercolumnEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVxEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,HydrologyWaterVyEnum); /*unload results*/ - if(VerboseSolution()) _pprintLine_(" saving temporary results"); + if(VerboseSolution()) _pprintString_(" saving temporary results" << "\n"); OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); } } @@ -81,19 +81,19 @@ InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentHeadEnum,SedimentHeadOldEnum); femmodel->parameters->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); - if(VerboseSolution()) _pprintLine_(" computing water transfer"); + if(VerboseSolution()) _pprintString_(" computing water transfer" << "\n"); - if(VerboseSolution()) _pprintLine_(" computing water head"); + if(VerboseSolution()) _pprintString_(" computing water head" << "\n"); solutionsequence_hydro_nonlinear(femmodel); if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){ - if(VerboseSolution()) _pprintLine_(" saving results "); + if(VerboseSolution()) _pprintString_(" saving results " << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentHeadEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,SedimentHeadResidualEnum); if(isefficientlayer){ InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EplHeadEnum); } /*unload results*/ - if(VerboseSolution()) _pprintLine_(" saving temporary results"); + if(VerboseSolution()) _pprintString_(" saving temporary results" << "\n"); OutputResultsx(femmodel->elements, femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,femmodel->results); } } Index: ../trunk-jpl/src/c/analyses/ad_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/ad_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/ad_core.cpp (revision 15099) @@ -48,7 +48,7 @@ femmodel->parameters->FindParam(&num_independents,AutodiffNumIndependentsEnum); if(!(num_dependents*num_independents)) return; - if(VerboseAutodiff())_pprintLine_(" start ad core"); + if(VerboseAutodiff())_pprintString_(" start ad core" << "\n"); /*retrieve state variable: */ femmodel->parameters->FindParam(&axp,&dummy,AutodiffXpEnum); @@ -285,15 +285,15 @@ /*Print statistics:*/ tapestats(1,tape_stats); //reading of tape statistics if(VerboseAutodiff()){ - _pprintLine_(" ADOLC statistics: "); - _pprintLine_(" "<parameters->FindParam(&save_results,SaveResultsEnum); - if(VerboseSolution()) _pprintLine_(" computing enthalpy"); + if(VerboseSolution()) _pprintString_(" computing enthalpy" << "\n"); femmodel->SetCurrentConfiguration(EnthalpyAnalysisEnum); solutionsequence_nonlinear(femmodel,true); @@ -25,7 +25,7 @@ InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum,EnthalpyPicardEnum); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,TemperatureEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,EnthalpyEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,WaterfractionEnum); Index: ../trunk-jpl/src/c/analyses/steadystate_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/steadystate_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/steadystate_core.cpp (revision 15099) @@ -47,7 +47,7 @@ for(;;){ - if(VerboseSolution()) _pprintLine_(" computing temperature and velocity for step: " << step); + if(VerboseSolution()) _pprintString_(" computing temperature and velocity for step: " << step << "\n"); #ifdef _HAVE_THERMAL_ if(isenthalpy==0){ thermal_core(femmodel); @@ -62,16 +62,16 @@ _error_("ISSM was not compiled with thermal capabilities. Exiting"); #endif - if(VerboseSolution()) _pprintLine_(" computing new velocity"); + if(VerboseSolution()) _pprintString_(" computing new velocity" << "\n"); diagnostic_core(femmodel); GetSolutionFromInputsx(&ug,femmodel->elements, femmodel->nodes, femmodel->vertices,femmodel->loads, femmodel->materials, femmodel->parameters); if(step>1){ - if(VerboseSolution()) _pprintLine_(" checking steadystate convergence"); + if(VerboseSolution()) _pprintString_(" checking steadystate convergence" << "\n"); if(steadystateconvergence(tg,tg_old,ug,ug_old,reltol)) break; } if(step>maxiter){ - if(VerboseSolution()) _pprintLine_(" maximum number steadystate iterations " << maxiter << " reached"); + if(VerboseSolution()) _pprintString_(" maximum number steadystate iterations " << maxiter << " reached" << "\n"); break; } @@ -82,7 +82,7 @@ } if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VzEnum); @@ -116,10 +116,10 @@ ndu=dug->Norm(NORM_TWO); nu=ug_old->Norm(NORM_TWO); if (xIsNan(ndu) || xIsNan(nu)) _error_("convergence criterion is NaN!"); if((ndu/nu) "< "<Norm(NORM_TWO); nt=tg_old->Norm(NORM_TWO); if (xIsNan(ndt) || xIsNan(nt)) _error_("convergence criterion is NaN!"); if((ndt/nt) "< "<parameters->FindParam(&save_results,SaveResultsEnum); /*Compute velocities*/ - if(VerboseSolution()) _pprintLine_(" computing velocities"); + if(VerboseSolution()) _pprintString_(" computing velocities" << "\n"); femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum); solutionsequence_nonlinear(femmodel,conserve_loads); @@ -29,13 +29,13 @@ SurfaceAreax(NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); /*Compute adjoint*/ - if(VerboseSolution()) _pprintLine_(" computing adjoint"); + if(VerboseSolution()) _pprintString_(" computing adjoint" << "\n"); femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum); solutionsequence_adjoint_linear(femmodel); /*Save results*/ if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointxEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointyEnum); if (isstokes){ Index: ../trunk-jpl/src/c/analyses/bedslope_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/bedslope_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/bedslope_core.cpp (revision 15099) @@ -17,7 +17,7 @@ /*Recover some parameters: */ femmodel->parameters->FindParam(&save_results,SaveResultsEnum); - if(VerboseSolution()) _pprintLine_(" computing slope"); + if(VerboseSolution()) _pprintString_(" computing slope" << "\n"); /*Call on core computations: */ femmodel->SetCurrentConfiguration(BedSlopeAnalysisEnum,BedSlopeXAnalysisEnum); @@ -26,7 +26,7 @@ solutionsequence_linear(femmodel); if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeXEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,BedSlopeYEnum); } Index: ../trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/adjointbalancethickness_core.cpp (revision 15099) @@ -18,7 +18,7 @@ femmodel->parameters->FindParam(&save_results,SaveResultsEnum); /*compute thickness */ - if(VerboseSolution()) _pprintLine_(" computing thickness"); + if(VerboseSolution()) _pprintString_(" computing thickness" << "\n"); femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum); solutionsequence_linear(femmodel); @@ -26,13 +26,13 @@ SurfaceAreax(NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); /*compute adjoint*/ - if(VerboseSolution()) _pprintLine_(" computing adjoint"); + if(VerboseSolution()) _pprintString_(" computing adjoint" << "\n"); femmodel->SetCurrentConfiguration(BalancethicknessAnalysisEnum,AdjointBalancethicknessAnalysisEnum); solutionsequence_adjoint_linear(femmodel); /*Save results*/ if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,AdjointEnum); } } Index: ../trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/DakotaSpawnCore.cpp (revision 15099) @@ -61,7 +61,7 @@ femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); femmodel->parameters->FindParam(&control_analysis,InversionIscontrolEnum); - if(VerboseQmu()) _pprintLine_("qmu iteration: " << counter); + if(VerboseQmu()) _pprintString_("qmu iteration: " << counter << "\n"); /* only cpu 0, running dakota is providing us with variables and variables_descriptors and numresponses: broadcast onto other cpus: */ DakotaMPI_Bcast(&d_variables,&d_variables_descriptors,&d_numvariables,&d_numresponses); @@ -70,14 +70,14 @@ InputUpdateFromDakotax(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,d_variables,d_variables_descriptors,d_numvariables); /*Determine solution sequence: */ - if(VerboseQmu()) _pprintLine_("Starting " << EnumToStringx(solution_type) << " core:"); + if(VerboseQmu()) _pprintString_("Starting " << EnumToStringx(solution_type) << " core:" << "\n"); WrapperCorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type,nodakotacore); /*Run the core solution sequence: */ solutioncore(femmodel); /*compute responses: */ - if(VerboseQmu()) _pprintLine_("compute dakota responses:"); + if(VerboseQmu()) _pprintString_("compute dakota responses:" << "\n"); femmodel->DakotaResponsesx(d_responses,responses_descriptors,numresponsedescriptors,d_numresponses); /*Free ressources:*/ Index: ../trunk-jpl/src/c/analyses/control_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/control_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/control_core.cpp (revision 15099) @@ -65,7 +65,7 @@ AdjointCorePointerFromSolutionEnum(&adjointcore,solution_type); /*Launch once a complete solution to set up all inputs*/ - if(VerboseControl()) _pprintLine_(" preparing initial solution"); + if(VerboseControl()) _pprintString_(" preparing initial solution" << "\n"); if(isstokes) solutioncore(femmodel); /*Initialize responses: */ @@ -80,14 +80,14 @@ for(int n=0;n(responses[n*num_responses+i]); femmodel->parameters->SetParam(step_responses,1,num_responses,StepResponsesEnum); /*In steady state inversion, compute new temperature field now*/ if(solution_type==SteadystateSolutionEnum) solutioncore(femmodel); - if(VerboseControl()) _pprintLine_(" compute adjoint state:"); + if(VerboseControl()) _pprintString_(" compute adjoint state:" << "\n"); adjointcore(femmodel); gradient_core(femmodel,n,search_scalar==0); @@ -97,17 +97,17 @@ goto cleanup_and_return; } - if(VerboseControl()) _pprintLine_(" optimizing along gradient direction"); + if(VerboseControl()) _pprintString_(" optimizing along gradient direction" << "\n"); optpars.maxiter=reCast(maxiter[n]); optpars.cm_jump=cm_jump[n]; BrentSearch(&search_scalar,J+n,&optpars,&objectivefunction,&optargs); - if(VerboseControl()) _pprintLine_(" updating parameter using optimized search scalar"); //true means update save controls + if(VerboseControl()) _pprintString_(" updating parameter using optimized search scalar" << "\n"); //true means update save controls InputControlUpdatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,search_scalar,true); if(controlconvergence(J[n],tol_cm)) break; } - if(VerboseControl()) _pprintLine_(" preparing final solution"); + if(VerboseControl()) _pprintString_(" preparing final solution" << "\n"); femmodel->parameters->SetParam(true,SaveResultsEnum); solutioncore(femmodel); Index: ../trunk-jpl/src/c/analyses/controltao_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/controltao_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/controltao_core.cpp (revision 15099) @@ -53,7 +53,7 @@ /*Initialize TAO*/ TaoCreate(IssmComm::GetComm(),&tao); - if(VerboseControl()) _pprintLine_(" Initializing the Toolkit for Advanced Optimization (TAO)"); + if(VerboseControl()) _pprintString_(" Initializing the Toolkit for Advanced Optimization (TAO)" << "\n"); TaoSetFromOptions(tao); TaoSetType(tao,"tao_blmvm"); //TaoSetType(tao,"tao_cg"); @@ -78,7 +78,7 @@ TaoSetObjectiveAndGradientRoutine(tao,FormFunctionGradient,(void*)&user); /*Solver optimization problem*/ - if(VerboseControl()) _pprintLine_(" Starting optimization"); + if(VerboseControl()) _pprintString_(" Starting optimization" << "\n"); TaoSolve(tao); TaoView(tao,PETSC_VIEWER_STDOUT_WORLD); TaoGetSolutionVector(tao,&X->pvector->vector); @@ -89,7 +89,7 @@ femmodel->results->AddObject(new GenericExternalResult(femmodel->results->Size()+1,JEnum,user.J,maxiter+3,1,1,0)); /*Finalize*/ - if(VerboseControl()) _pprintLine_(" preparing final solution"); + if(VerboseControl()) _pprintString_(" preparing final solution" << "\n"); femmodel->parameters->SetParam(true,SaveResultsEnum); void (*solutioncore)(FemModel*)=NULL; CorePointerFromSolutionEnum(&solutioncore,femmodel->parameters,solution_type); @@ -165,8 +165,8 @@ femmodel->parameters->FindParam(&responses,NULL,NULL,StepResponsesEnum); TaoGetSolutionStatus(tao, &its, &f, &gnorm, &cnorm, &xdiff, NULL); - if(its==0) _pprintLine_("Iter Function Residual | List of contributions"); - if(its==0) _pprintLine_("-----------------------------------+-----------------------"); + if(its==0) _pprintString_("Iter Function Residual | List of contributions" << "\n"); + if(its==0) _pprintString_("-----------------------------------+-----------------------" << "\n"); _pprintString_(setw(4)<J[its]=f; @@ -175,7 +175,7 @@ femmodel->Responsex(&f,EnumToStringx(responses[i]),false,i); _pprintString_(" "<(responses); Index: ../trunk-jpl/src/c/analyses/diagnostic_core.cpp =================================================================== --- ../trunk-jpl/src/c/analyses/diagnostic_core.cpp (revision 15098) +++ ../trunk-jpl/src/c/analyses/diagnostic_core.cpp (revision 15099) @@ -57,7 +57,7 @@ if(ishutter){ - if(VerboseSolution()) _pprintLine_(" computing hutter velocities"); + if(VerboseSolution()) _pprintString_(" computing hutter velocities" << "\n"); //Take the last velocity into account so that the velocity on the MacAyeal domain is not zero if (ismacayealpattyn) ResetBoundaryConditions(femmodel,DiagnosticHutterAnalysisEnum); @@ -70,7 +70,7 @@ if ((ismacayealpattyn || isl1l2) ^ isstokes){ // ^ = xor - if(VerboseSolution()) _pprintLine_(" computing velocities"); + if(VerboseSolution()) _pprintString_(" computing velocities" << "\n"); femmodel->SetCurrentConfiguration(DiagnosticHorizAnalysisEnum); if(newton>0) solutionsequence_newton(femmodel); @@ -80,19 +80,19 @@ if (ismacayealpattyn && isstokes){ - if(VerboseSolution()) _pprintLine_(" computing coupling macayealpattyn and stokes velocities and pressure "); + if(VerboseSolution()) _pprintString_(" computing coupling macayealpattyn and stokes velocities and pressure " << "\n"); solutionsequence_stokescoupling_nonlinear(femmodel,conserve_loads); } if (dim==3 & (ishutter || ismacayealpattyn)){ - if(VerboseSolution()) _pprintLine_(" computing vertical velocities"); + if(VerboseSolution()) _pprintString_(" computing vertical velocities" << "\n"); femmodel->SetCurrentConfiguration(DiagnosticVertAnalysisEnum); solutionsequence_linear(femmodel); } if(save_results){ - if(VerboseSolution()) _pprintLine_(" saving results"); + if(VerboseSolution()) _pprintString_(" saving results" << "\n"); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VxEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VyEnum); InputToResultx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,VelEnum); Index: ../trunk-jpl/src/c/kml/KML_ColorStyle.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_ColorStyle.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_ColorStyle.cpp (revision 15099) @@ -41,8 +41,8 @@ KML_SubStyle::Echo(); - if(flag) _pprintLine_(" color: " << color); - if(flag) _pprintLine_(" colormode: " << colormode); + if(flag) _pprintString_(" color: " << color << "\n"); + if(flag) _pprintString_(" colormode: " << colormode << "\n"); return; } @@ -64,8 +64,8 @@ KML_SubStyle::DeepEcho(indent); - if(flag) _pprintLine_(indent << " color: " << color); - if(flag) _pprintLine_(indent << " colormode: " << colormode); + if(flag) _pprintString_(indent << " color: " << color << "\n"); + if(flag) _pprintString_(indent << " colormode: " << colormode << "\n"); } /*}}}*/ /*FUNCTION KML_ColorStyle::Write {{{*/ Index: ../trunk-jpl/src/c/kml/KML_Placemark.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Placemark.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Placemark.cpp (revision 15099) @@ -46,10 +46,10 @@ bool flag=true; - if(flag) _pprintLine_("KML_Placemark:"); + if(flag) _pprintString_("KML_Placemark:" << "\n"); KML_Feature::Echo(); - if(flag) _pprintLine_(" geometry: (size=" << geometry->Size() << ")"); + if(flag) _pprintString_(" geometry: (size=" << geometry->Size() << ")" << "\n"); return; } @@ -71,7 +71,7 @@ char indent2[81]; bool flag=true; - if(flag) _pprintLine_(indent << "KML_Placemark:"); + if(flag) _pprintString_(indent << "KML_Placemark:" << "\n"); KML_Feature::DeepEcho(indent); /* loop over the geometry elements for the placemark */ @@ -81,12 +81,12 @@ if (geometry->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " geometry: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " geometry: -------- begin [" << i << "] --------" << "\n"); ((KML_Geometry *)geometry->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " geometry: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " geometry: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " geometry: [empty]"); + if(flag) _pprintString_(indent << " geometry: [empty]" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Unknown.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Unknown.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Unknown.cpp (revision 15099) @@ -39,13 +39,13 @@ bool flag=true; - if(flag) _pprintLine_("KML_Unknown " << name << ":"); + if(flag) _pprintString_("KML_Unknown " << name << ":" << "\n"); KML_Object::Echo(); if (value ) - if(flag) _pprintLine_(" value: \"" << value << "\""); + if(flag) _pprintString_(" value: \"" << value << "\"" << "\n"); else - if(flag) _pprintLine_(" value: [none]"); + if(flag) _pprintString_(" value: [none]" << "\n"); return; } @@ -68,7 +68,7 @@ char nl[]={'\n','\0'}; bool flag=true; - if(flag) _pprintLine_(indent << "KML_Unknown " << name << ":"); + if(flag) _pprintString_(indent << "KML_Unknown " << name << ":" << "\n"); KML_Object::DeepEcho(indent); if (value ) { @@ -80,12 +80,12 @@ while (vtoken=strtok(NULL,nl)) if(flag) _pprintString_("\n" << indent << " " << vtoken); - if(flag) _pprintLine_("\""); + if(flag) _pprintString_("\"" << "\n"); xDelete(valuei); } else - if(flag) _pprintLine_(indent << " value: [none]"); + if(flag) _pprintString_(indent << " value: [none]" << "\n"); return; } @@ -135,7 +135,7 @@ name=KMLFileTagName(NULL, kstr); -// _pprintLine_("KML_Unknown::Read -- opening name=" << name << "."); +// _pprintString_("KML_Unknown::Read -- opening name=" << name << "." << "\n"); /* get object attributes and check for solo tag */ @@ -147,10 +147,10 @@ while (kstri=KMLFileToken(fid, &ncom,&pcom)) { -// _pprintLine_("KML_Unknown::Read -- kstri=" << kstri << "."); +// _pprintString_("KML_Unknown::Read -- kstri=" << kstri << "." << "\n"); if (!strncmp(&kstri[0],"(kstri); break; } Index: ../trunk-jpl/src/c/kml/KML_GroundOverlay.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_GroundOverlay.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_GroundOverlay.cpp (revision 15099) @@ -43,12 +43,12 @@ /*FUNCTION KML_GroundOverlay::Echo {{{*/ void KML_GroundOverlay::Echo(){ - _printLine_("KML_GroundOverlay:"); + _printString_("KML_GroundOverlay:" << "\n"); KML_Overlay::Echo(); - _printLine_(" altitude: " << altitude); - _printLine_(" altmode: " << altmode); - _printLine_(" llbox: " << llbox); + _printString_(" altitude: " << altitude << "\n"); + _printString_(" altmode: " << altmode << "\n"); + _printString_(" llbox: " << llbox << "\n"); } /*}}}*/ /*FUNCTION KML_GroundOverlay::DeepEcho {{{*/ @@ -66,18 +66,18 @@ char indent2[81]; - _printLine_(indent << "KML_GroundOverlay:"); + _printString_(indent << "KML_GroundOverlay:" << "\n"); KML_Overlay::DeepEcho(indent); memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char)); strcat(indent2," "); - _printLine_(indent<<" altitude: " << altitude); - _printLine_(indent<<" altmode: " << altmode); + _printString_(indent<<" altitude: " << altitude << "\n"); + _printString_(indent<<" altmode: " << altmode << "\n"); if (llbox) llbox->DeepEcho(indent2); else - _printLine_(indent<<" llbox: " << llbox); + _printString_(indent<<" llbox: " << llbox << "\n"); } /*}}}*/ /*FUNCTION KML_GroundOverlay::Write {{{*/ Index: ../trunk-jpl/src/c/kml/KML_Style.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Style.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Style.cpp (revision 15099) @@ -67,15 +67,15 @@ bool flag=true; - if(flag) _pprintLine_("KML_Style:"); + if(flag) _pprintString_("KML_Style:" << "\n"); KML_StyleSelector::Echo(); - if(flag) _pprintLine_(" icon: " << icon); - if(flag) _pprintLine_(" label: " << label); - if(flag) _pprintLine_(" line: " << line); - if(flag) _pprintLine_(" poly: " << poly); - if(flag) _pprintLine_(" balloon: " << balloon); - if(flag) _pprintLine_(" list: " << list); + if(flag) _pprintString_(" icon: " << icon << "\n"); + if(flag) _pprintString_(" label: " << label << "\n"); + if(flag) _pprintString_(" line: " << line << "\n"); + if(flag) _pprintString_(" poly: " << poly << "\n"); + if(flag) _pprintString_(" balloon: " << balloon << "\n"); + if(flag) _pprintString_(" list: " << list << "\n"); return; } @@ -96,7 +96,7 @@ char indent2[81]; bool flag=true; - if(flag) _pprintLine_(indent << "KML_Style:"); + if(flag) _pprintString_(indent << "KML_Style:" << "\n"); KML_StyleSelector::DeepEcho(indent); memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char)); @@ -105,27 +105,27 @@ // if (icon) // icon->DeepEcho(indent2); // else - if(flag) _pprintLine_(indent << " icon: " << icon); + if(flag) _pprintString_(indent << " icon: " << icon << "\n"); // if (label) // label->DeepEcho(indent2); // else - if(flag) _pprintLine_(indent << " label: " << label); + if(flag) _pprintString_(indent << " label: " << label << "\n"); if (line) line->DeepEcho(indent2); else - if(flag) _pprintLine_(indent << " line: " << line); + if(flag) _pprintString_(indent << " line: " << line << "\n"); if (poly) poly->DeepEcho(indent2); else - if(flag) _pprintLine_(indent << " poly: " << poly); + if(flag) _pprintString_(indent << " poly: " << poly << "\n"); // if (balloon) // balloon->DeepEcho(indent2); // else - if(flag) _pprintLine_(indent << " balloon: " << balloon); + if(flag) _pprintString_(indent << " balloon: " << balloon << "\n"); // if (list) // list->DeepEcho(indent2); // else - if(flag) _pprintLine_(indent << " list: " << list); + if(flag) _pprintString_(indent << " list: " << list << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Comment.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Comment.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Comment.cpp (revision 15099) @@ -37,7 +37,7 @@ bool flag=true; if(flag) _pprintString_(" "); - if(flag) _pprintLine_(value); + if(flag) _pprintString_(value << "\n"); return; } @@ -58,7 +58,7 @@ bool flag=true; if(flag) _pprintString_(indent << " "); - if(flag) _pprintLine_(value); + if(flag) _pprintString_(value << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_MultiGeometry.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_MultiGeometry.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_MultiGeometry.cpp (revision 15099) @@ -45,10 +45,10 @@ bool flag=true; - if(flag) _pprintLine_("KML_Multigeometry:"); + if(flag) _pprintString_("KML_Multigeometry:" << "\n"); KML_Geometry::Echo(); - if(flag) _pprintLine_(" geometry: (size=" << geometry->Size() << ")"); + if(flag) _pprintString_(" geometry: (size=" << geometry->Size() << ")" << "\n"); return; } @@ -70,7 +70,7 @@ char indent2[81]; bool flag=true; - if(flag) _pprintLine_(indent << "KML_Multigeometry:"); + if(flag) _pprintString_(indent << "KML_Multigeometry:" << "\n"); KML_Geometry::DeepEcho(indent); /* loop over the geometry elements for the multigeometry */ @@ -80,12 +80,12 @@ if (geometry->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " geometry: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " geometry: -------- begin [" << i << "] --------" << "\n"); ((KML_Geometry *)geometry->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " geometry: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " geometry: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " geometry: [empty]"); + if(flag) _pprintString_(indent << " geometry: [empty]" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_LineStyle.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_LineStyle.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_LineStyle.cpp (revision 15099) @@ -37,10 +37,10 @@ bool flag=true; - if(flag) _pprintLine_("KML_LineStyle:"); + if(flag) _pprintString_("KML_LineStyle:" << "\n"); KML_ColorStyle::Echo(); - if(flag) _pprintLine_(" width: " << width); + if(flag) _pprintString_(" width: " << width << "\n"); return; } @@ -60,10 +60,10 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_LineStyle:"); + if(flag) _pprintString_(indent << "KML_LineStyle:" << "\n"); KML_ColorStyle::DeepEcho(indent); - if(flag) _pprintLine_(indent << " width: " << width); + if(flag) _pprintString_(indent << " width: " << width << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Folder.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Folder.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Folder.cpp (revision 15099) @@ -37,7 +37,7 @@ bool flag=true; - if(flag) _pprintLine_("KML_Folder:"); + if(flag) _pprintString_("KML_Folder:" << "\n"); KML_Container::Echo(); return; @@ -58,7 +58,7 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_Folder:"); + if(flag) _pprintString_(indent << "KML_Folder:" << "\n"); KML_Container::DeepEcho(indent); return; Index: ../trunk-jpl/src/c/kml/KML_Document.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Document.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Document.cpp (revision 15099) @@ -37,7 +37,7 @@ bool flag=true; - if(flag) _pprintLine_("KML_Document:"); + if(flag) _pprintString_("KML_Document:" << "\n"); KML_Container::Echo(); return; @@ -58,7 +58,7 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_Document:"); + if(flag) _pprintString_(indent << "KML_Document:" << "\n"); KML_Container::DeepEcho(indent); return; Index: ../trunk-jpl/src/c/kml/KML_File.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_File.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_File.cpp (revision 15099) @@ -38,7 +38,7 @@ bool flag=true; - if(flag) _pprintLine_("KML_File:"); + if(flag) _pprintString_("KML_File:" << "\n"); KML_Object::Echo(); return; @@ -59,7 +59,7 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_File:"); + if(flag) _pprintString_(indent << "KML_File:" << "\n"); KML_Object::DeepEcho(indent); return; Index: ../trunk-jpl/src/c/kml/KML_Icon.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Icon.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Icon.cpp (revision 15099) @@ -44,17 +44,17 @@ bool flag=true; - if(flag) _pprintLine_("KML_Icon:"); + if(flag) _pprintString_("KML_Icon:" << "\n"); KML_Object::Echo(); - if(flag) _pprintLine_(" href: \"" << href << "\""); - if(flag) _pprintLine_(" refmode: \"" << refmode << "\""); - if(flag) _pprintLine_(" refint: " << refint); - if(flag) _pprintLine_(" vrefmode: \"" << vrefmode << "\""); - if(flag) _pprintLine_(" vreftime: " << vreftime); - if(flag) _pprintLine_(" vboundsc: " << vboundsc); - if(flag) _pprintLine_(" vformat: \"" << vformat << "\""); - if(flag) _pprintLine_(" hquery: \"" << hquery << "\""); + if(flag) _pprintString_(" href: \"" << href << "\"" << "\n"); + if(flag) _pprintString_(" refmode: \"" << refmode << "\"" << "\n"); + if(flag) _pprintString_(" refint: " << refint << "\n"); + if(flag) _pprintString_(" vrefmode: \"" << vrefmode << "\"" << "\n"); + if(flag) _pprintString_(" vreftime: " << vreftime << "\n"); + if(flag) _pprintString_(" vboundsc: " << vboundsc << "\n"); + if(flag) _pprintString_(" vformat: \"" << vformat << "\"" << "\n"); + if(flag) _pprintString_(" hquery: \"" << hquery << "\"" << "\n"); return; } @@ -74,17 +74,17 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_Icon:"); + if(flag) _pprintString_(indent << "KML_Icon:" << "\n"); KML_Object::DeepEcho(indent); - if(flag) _pprintLine_(indent << " href: \"" << href << "\""); - if(flag) _pprintLine_(indent << " refmode: \"" << refmode << "\""); - if(flag) _pprintLine_(indent << " refint: " << refint); - if(flag) _pprintLine_(indent << " vrefmode: \"" << vrefmode << "\""); - if(flag) _pprintLine_(indent << " vreftime: " << vreftime); - if(flag) _pprintLine_(indent << " vboundsc: " << vboundsc); - if(flag) _pprintLine_(indent << " vformat: \"" << vformat << "\""); - if(flag) _pprintLine_(indent << " hquery: \"" << hquery << "\""); + if(flag) _pprintString_(indent << " href: \"" << href << "\"" << "\n"); + if(flag) _pprintString_(indent << " refmode: \"" << refmode << "\"" << "\n"); + if(flag) _pprintString_(indent << " refint: " << refint << "\n"); + if(flag) _pprintString_(indent << " vrefmode: \"" << vrefmode << "\"" << "\n"); + if(flag) _pprintString_(indent << " vreftime: " << vreftime << "\n"); + if(flag) _pprintString_(indent << " vboundsc: " << vboundsc << "\n"); + if(flag) _pprintString_(indent << " vformat: \"" << vformat << "\"" << "\n"); + if(flag) _pprintString_(indent << " hquery: \"" << hquery << "\"" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Point.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Point.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Point.cpp (revision 15099) @@ -42,12 +42,12 @@ bool flag=true; - if(flag) _pprintLine_("KML_Point:"); + if(flag) _pprintString_("KML_Point:" << "\n"); KML_Geometry::Echo(); - if(flag) _pprintLine_(" extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(" altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(" coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")"); + if(flag) _pprintString_(" extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(" altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(" coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")" << "\n"); return; } @@ -67,12 +67,12 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_Point:"); + if(flag) _pprintString_(indent << "KML_Point:" << "\n"); KML_Geometry::DeepEcho(indent); - if(flag) _pprintLine_(indent << " extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(indent << " altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(indent << " coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")"); + if(flag) _pprintString_(indent << " extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(indent << " coords: (" << coords[0] << "," << coords[1] << "," << coords[2] << ")" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_LinearRing.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_LinearRing.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_LinearRing.cpp (revision 15099) @@ -45,13 +45,13 @@ bool flag=true; - if(flag) _pprintLine_("KML_LinearRing:"); + if(flag) _pprintString_("KML_LinearRing:" << "\n"); KML_Geometry::Echo(); - if(flag) _pprintLine_(" extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(" tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(" altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(" coords: (ncoord=" << ncoord << ")"); + if(flag) _pprintString_(" extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(" tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(" altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(" coords: (ncoord=" << ncoord << ")" << "\n"); return; } @@ -72,15 +72,15 @@ int i; bool flag=true; - if(flag) _pprintLine_(indent << "KML_LinearRing:"); + if(flag) _pprintString_(indent << "KML_LinearRing:" << "\n"); KML_Geometry::DeepEcho(indent); - if(flag) _pprintLine_(indent << " extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(indent << " tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(indent << " altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(indent << " coords: (ncoord=" << ncoord << ")"); + if(flag) _pprintString_(indent << " extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(indent << " coords: (ncoord=" << ncoord << ")" << "\n"); for (i=0; iSize()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " style: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " style: -------- begin [" << i << "] --------" << "\n"); ((KML_Style *)style->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " style: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " style: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " style: [empty]"); + if(flag) _pprintString_(indent << " style: [empty]" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KMLFileReadUtils.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KMLFileReadUtils.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KMLFileReadUtils.cpp (revision 15099) @@ -132,10 +132,10 @@ } // if (itag) -// _pprintLine_("tag buffer (length=" << ibuf << "):"); +// _pprintString_("tag buffer (length=" << ibuf << "):" << "\n"); // else if (ifield) -// _pprintLine_("field buffer (length=" << ibuf << "):"); -// _pprintLine_(buffer); +// _pprintString_("field buffer (length=" << ibuf << "):" << "\n"); +// _pprintString_(buffer << "\n"); if (!ibuf) xDelete(buffer); @@ -198,8 +198,8 @@ break; } -// _pprintLine_("comment buffer (length=" << ibuf << "):"); -// _pprintLine_(buffer); +// _pprintString_("comment buffer (length=" << ibuf << "):" << "\n"); +// _pprintString_(buffer << "\n"); if (!ibuf) xDelete(buffer); @@ -264,7 +264,7 @@ /* skip opening delimeter and find subsequent blank or closing delimiter */ ktokn=strtok(ktagi,"< >"); -// _pprintLine_("KMLFileTagName -- initial token=\"" << ktokn << "\"."); +// _pprintString_("KMLFileTagName -- initial token=\"" << ktokn << "\"." << "\n"); if (!pname) { if (maxlen) @@ -274,8 +274,8 @@ } if (maxlen && (maxlen < strlen(ktokn))) { - _pprintLine_("KMLFileTagName -- string field too short for " << ktag << "."); - _pprintLine_("KMLFileTagName -- \"" << ktokn << "\" truncated to " << maxlen << " characters."); + _pprintString_("KMLFileTagName -- string field too short for " << ktag << "." << "\n"); + _pprintString_("KMLFileTagName -- \"" << ktokn << "\" truncated to " << maxlen << " characters." << "\n"); strncpy(pname,ktokn,maxlen); } else @@ -310,14 +310,14 @@ /* return first non blank and move past subsequent blank */ ktokn=strtok(ktagi," "); -// _pprintLine_("KMLFileTagAttrib -- initial token=\"" << ktokn << "\"."); +// _pprintString_("KMLFileTagAttrib -- initial token=\"" << ktokn << "\"." << "\n"); /* return next non " =?/>" and move past subsequent " =?/>" */ while (ktokn=strtok(NULL," =?/>")) { /* return next non quote and move past subsequent quote */ ktokv=strtok(NULL,quote); -// _pprintLine_("KMLFileTagAttrib -- attribute " << ktokn << "=\"" << ktokv << "\"."); +// _pprintString_("KMLFileTagAttrib -- attribute " << ktokn << "=\"" << ktokv << "\"." << "\n"); /* add the attribute to the dataset */ @@ -333,7 +333,7 @@ (!strncmp(&ktag[0],"",1)) || (!strncmp(&ktag[0],"<" ,1) && !strncmp(&ktag[strlen(ktag)-2],"/>",2))) isolo=1; -// _pprintLine_("KMLFileTagAttrib -- isolo=" << isolo << "."); +// _pprintString_("KMLFileTagAttrib -- isolo=" << isolo << "." << "\n"); return(isolo); } @@ -367,7 +367,7 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=" << *pival << "."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=" << *pival << "." << "\n"); return(0); } @@ -401,7 +401,7 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=" << (*pbval ? "true" : "false") << "."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=" << (*pbval ? "true" : "false") << "." << "\n"); return(0); } @@ -438,8 +438,8 @@ } if (maxlen && (maxlen < strlen(kstr))) { - _pprintLine_("KMLFileTokenParse -- string field too short for " << ktag << "."); - _pprintLine_("KMLFileTokenParse -- \"" << kstr << "\" truncated to " << maxlen << " characters."); + _pprintString_("KMLFileTokenParse -- string field too short for " << ktag << "." << "\n"); + _pprintString_("KMLFileTokenParse -- \"" << kstr << "\" truncated to " << maxlen << " characters." << "\n"); strncpy(pstr,kstr,maxlen); } else @@ -462,7 +462,7 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=\"" << pstr << "\"."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=\"" << pstr << "\"." << "\n"); return(pstr); } @@ -496,7 +496,7 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=" << *pfval << "."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=" << *pfval << "." << "\n"); return(0); } @@ -530,7 +530,7 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=" << *pdval << "."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=" << *pdval << "." << "\n"); return(0); } @@ -594,9 +594,9 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=..."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=..." << "\n"); // for (j=0; j<=i; j++) -// _pprintLine_(" [" << j << "]: " << (*pdval)[j] << "g"); +// _pprintString_(" [" << j << "]: " << (*pdval)[j] << "g" << "\n"); return(0); } @@ -650,7 +650,7 @@ *m=((i+1)+(n-1))/n; if ((i+1) % n) - _pprintLine_("KMLFileTokenParse -- Double [m x n] field for " << ktag << " does not have multiple of n values."); + _pprintString_("KMLFileTokenParse -- Double [m x n] field for " << ktag << " does not have multiple of n values." << "\n"); /* get additional token and compare to closing tag */ @@ -664,9 +664,9 @@ else xDelete(kstr); -// _pprintLine_("KMLFileTokenParse -- " << ktag << "=..."); +// _pprintString_("KMLFileTokenParse -- " << ktag << "=..." << "\n"); // for (j=0; j<=i; j++) -// _pprintLine_(" [" << j << "]: " << (*pdval)[j] << "g"); +// _pprintString_(" [" << j << "]: " << (*pdval)[j] << "g" << "\n"); return(0); } @@ -680,7 +680,7 @@ /* note that tags of the same type can be nested inside each other, so for each opening tag, must find corresponding closing tag */ - _pprintLine_("KMLFileTagSkip -- input tag " << ktag << "."); + _pprintString_("KMLFileTagSkip -- input tag " << ktag << "." << "\n"); /* if next token is a closing tag, compare to input */ @@ -689,7 +689,7 @@ if ((kstr[0] == '<') && (kstr[1] == '/') && (!strncmp(&(kstr[2]),&(ktag[1]),(strcspn(ktag," >")-1)/sizeof(char)))) { - _pprintLine_("KMLFileTagSkip -- closing tag " << kstr << "."); + _pprintString_("KMLFileTagSkip -- closing tag " << kstr << "." << "\n"); xDelete(kstr); return(0); } @@ -698,7 +698,7 @@ else if ((kstr[0] == '<') && (kstr[1] != '/')) { - _pprintLine_("KMLFileTagSkip -- opening tag " << kstr << "."); + _pprintString_("KMLFileTagSkip -- opening tag " << kstr << "." << "\n"); KMLFileTagSkip(kstr, fid); } Index: ../trunk-jpl/src/c/kml/KML_LatLonBox.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_LatLonBox.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_LatLonBox.cpp (revision 15099) @@ -39,14 +39,14 @@ /*FUNCTION KML_LatLonBox::Echo {{{*/ void KML_LatLonBox::Echo(){ - _printLine_("KML_LatLonBox:"); + _printString_("KML_LatLonBox:" << "\n"); KML_Object::Echo(); - _printLine_(" north: " << north); - _printLine_(" south: " << south); - _printLine_(" east: " << east); - _printLine_(" west: " << west); - _printLine_(" rotation: " << rotation); + _printString_(" north: " << north << "\n"); + _printString_(" south: " << south << "\n"); + _printString_(" east: " << east << "\n"); + _printString_(" west: " << west << "\n"); + _printString_(" rotation: " << rotation << "\n"); } /*}}}*/ /*FUNCTION KML_LatLonBox::DeepEcho {{{*/ @@ -62,14 +62,14 @@ /*FUNCTION KML_LatLonBox::DeepEcho {{{*/ void KML_LatLonBox::DeepEcho(const char* indent){ - _printLine_(indent << "KML_LatLonBox:"); + _printString_(indent << "KML_LatLonBox:" << "\n"); KML_Object::DeepEcho(indent); - _printLine_(" north: " << north); - _printLine_(" south: " << south); - _printLine_(" east: " << east); - _printLine_(" west: " << west); - _printLine_(" rotation: " << rotation); + _printString_(" north: " << north << "\n"); + _printString_(" south: " << south << "\n"); + _printString_(" east: " << east << "\n"); + _printString_(" west: " << west << "\n"); + _printString_(" rotation: " << rotation << "\n"); } /*}}}*/ /*FUNCTION KML_LatLonBox::Write {{{*/ Index: ../trunk-jpl/src/c/kml/KML_Attribute.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Attribute.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Attribute.cpp (revision 15099) @@ -42,7 +42,7 @@ if(flag) _pprintString_(" "); for (i=0;i<10-strlen(name);i++) if(flag) _pprintString_(" "); - if(flag) _pprintLine_(name << ": \"" << value << "\""); + if(flag) _pprintString_(name << ": \"" << value << "\"" << "\n"); return; } @@ -66,7 +66,7 @@ if(flag) _pprintString_(indent << " "); for (i=0;i<10-strlen(name);i++) if(flag) _pprintString_(" "); - if(flag) _pprintLine_(name << ": \"" << value << "\""); + if(flag) _pprintString_(name << ": \"" << value << "\"" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_PolyStyle.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_PolyStyle.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_PolyStyle.cpp (revision 15099) @@ -40,11 +40,11 @@ bool flag=true; - if(flag) _pprintLine_("KML_PolyStyle:"); + if(flag) _pprintString_("KML_PolyStyle:" << "\n"); KML_ColorStyle::Echo(); - if(flag) _pprintLine_(" fill: " << fill); - if(flag) _pprintLine_(" outline: " << outline); + if(flag) _pprintString_(" fill: " << fill << "\n"); + if(flag) _pprintString_(" outline: " << outline << "\n"); return; } @@ -64,11 +64,11 @@ bool flag=true; - if(flag) _pprintLine_(indent << "KML_PolyStyle:"); + if(flag) _pprintString_(indent << "KML_PolyStyle:" << "\n"); KML_ColorStyle::DeepEcho(indent); - if(flag) _pprintLine_(indent << " fill: " << fill); - if(flag) _pprintLine_(indent << " outline: " << outline); + if(flag) _pprintString_(indent << " fill: " << fill << "\n"); + if(flag) _pprintString_(indent << " outline: " << outline << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Object.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Object.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Object.cpp (revision 15099) @@ -65,9 +65,9 @@ bool flag=true; - if(flag) _pprintLine_(" attrib: (size=" << attrib->Size() << ")"); - if(flag) _pprintLine_(" commnt: (size=" << commnt->Size() << ")"); - if(flag) _pprintLine_(" kmlobj: (size=" << kmlobj->Size() << ")"); + if(flag) _pprintString_(" attrib: (size=" << attrib->Size() << ")" << "\n"); + if(flag) _pprintString_(" commnt: (size=" << commnt->Size() << ")" << "\n"); + if(flag) _pprintString_(" kmlobj: (size=" << kmlobj->Size() << ")" << "\n"); return; } @@ -96,7 +96,7 @@ ((KML_Attribute *)attrib->GetObjectByOffset(i))->DeepEcho(indent); } else - if(flag) _pprintLine_(indent << " attrib: [empty]"); + if(flag) _pprintString_(indent << " attrib: [empty]" << "\n"); /* loop over the comments for the object */ @@ -105,7 +105,7 @@ ((KML_Comment *)commnt->GetObjectByOffset(i))->DeepEcho(indent); } else - if(flag) _pprintLine_(indent << " commnt: [empty]"); + if(flag) _pprintString_(indent << " commnt: [empty]" << "\n"); /* loop over the unknown objects for the object */ @@ -114,12 +114,12 @@ if (kmlobj->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " kmlobj: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " kmlobj: -------- begin [" << i << "] --------" << "\n"); ((KML_Unknown *)kmlobj->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " kmlobj: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " kmlobj: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " kmlobj: [empty]"); + if(flag) _pprintString_(indent << " kmlobj: [empty]" << "\n"); return; } @@ -263,7 +263,7 @@ // } else if (!strncmp(kstr,"<",1)) { - _pprintLine_("KML_Object::Read -- Unrecognized opening tag " << kstr << "."); + _pprintString_("KML_Object::Read -- Unrecognized opening tag " << kstr << "." << "\n"); // KMLFileTagSkip(kstr, // fid); kobj=(KML_Object*)new KML_Unknown(); Index: ../trunk-jpl/src/c/kml/KML_LineString.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_LineString.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_LineString.cpp (revision 15099) @@ -45,13 +45,13 @@ bool flag=true; - if(flag) _pprintLine_("KML_LineString:"); + if(flag) _pprintString_("KML_LineString:" << "\n"); KML_Geometry::Echo(); - if(flag) _pprintLine_(" extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(" tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(" altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(" coords: (ncoord=" << ncoord << ")"); + if(flag) _pprintString_(" extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(" tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(" altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(" coords: (ncoord=" << ncoord << ")" << "\n"); return; } @@ -72,15 +72,15 @@ int i; bool flag=true; - if(flag) _pprintLine_(indent << "KML_LineString:"); + if(flag) _pprintString_(indent << "KML_LineString:" << "\n"); KML_Geometry::DeepEcho(indent); - if(flag) _pprintLine_(indent << " extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(indent << " tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(indent << " altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(indent << " coords: (ncoord=" << ncoord << ")"); + if(flag) _pprintString_(indent << " extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(indent << " coords: (ncoord=" << ncoord << ")" << "\n"); for (i=0; iDeepEcho(indent2); else - _pprintLine_(indent << " icon: " << icon); + _pprintString_(indent << " icon: " << icon << "\n"); } /*}}}*/ /*FUNCTION KML_Overlay::Write {{{*/ Index: ../trunk-jpl/src/c/kml/KML_Container.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Container.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Container.cpp (revision 15099) @@ -46,7 +46,7 @@ KML_Feature::Echo(); - if(flag) _pprintLine_(" feature: (size=" << feature->Size() << ")"); + if(flag) _pprintString_(" feature: (size=" << feature->Size() << ")" << "\n"); return; } @@ -77,12 +77,12 @@ if (feature->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " feature: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " feature: -------- begin [" << i << "] --------" << "\n"); ((KML_Feature *)feature->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " feature: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " feature: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " feature: [empty]"); + if(flag) _pprintString_(indent << " feature: [empty]" << "\n"); return; } Index: ../trunk-jpl/src/c/kml/KML_Polygon.cpp =================================================================== --- ../trunk-jpl/src/c/kml/KML_Polygon.cpp (revision 15098) +++ ../trunk-jpl/src/c/kml/KML_Polygon.cpp (revision 15099) @@ -51,14 +51,14 @@ bool flag=true; - if(flag) _pprintLine_("KML_Polygon:"); + if(flag) _pprintString_("KML_Polygon:" << "\n"); KML_Geometry::Echo(); - if(flag) _pprintLine_(" extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(" tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(" altmode: \"" << altmode << "\""); - if(flag) _pprintLine_(" outer: (size=" << outer->Size() << ")"); - if(flag) _pprintLine_(" inner: (size=" << inner->Size() << ")"); + if(flag) _pprintString_(" extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(" tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(" altmode: \"" << altmode << "\"" << "\n"); + if(flag) _pprintString_(" outer: (size=" << outer->Size() << ")" << "\n"); + if(flag) _pprintString_(" inner: (size=" << inner->Size() << ")" << "\n"); return; } @@ -80,33 +80,33 @@ char indent2[81]; bool flag=true; - if(flag) _pprintLine_(indent << "KML_Polygon:"); + if(flag) _pprintString_(indent << "KML_Polygon:" << "\n"); KML_Geometry::DeepEcho(indent); - if(flag) _pprintLine_(indent << " extrude: " << (extrude ? "true" : "false")); - if(flag) _pprintLine_(indent << " tessellate: " << (tessellate ? "true" : "false")); - if(flag) _pprintLine_(indent << " altmode: \"" << altmode << "\""); + if(flag) _pprintString_(indent << " extrude: " << (extrude ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " tessellate: " << (tessellate ? "true" : "false") << "\n"); + if(flag) _pprintString_(indent << " altmode: \"" << altmode << "\"" << "\n"); memcpy(indent2,indent,(strlen(indent)+1)*sizeof(char)); strcat(indent2," "); if (outer->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " outer: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " outer: -------- begin [" << i << "] --------" << "\n"); ((KML_LinearRing *)outer->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " outer: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " outer: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " outer: [empty]"); + if(flag) _pprintString_(indent << " outer: [empty]" << "\n"); if (inner->Size()) for (i=0; iSize(); i++) { - if(flag) _pprintLine_(indent << " inner: -------- begin [" << i << "] --------"); + if(flag) _pprintString_(indent << " inner: -------- begin [" << i << "] --------" << "\n"); ((KML_LinearRing *)inner->GetObjectByOffset(i))->DeepEcho(indent2); - if(flag) _pprintLine_(indent << " inner: -------- end [" << i << "] --------"); + if(flag) _pprintString_(indent << " inner: -------- end [" << i << "] --------" << "\n"); } else - if(flag) _pprintLine_(indent << " inner: [empty]"); + if(flag) _pprintString_(indent << " inner: [empty]" << "\n"); return; } Index: ../trunk-jpl/src/c/main/kriging.cpp =================================================================== --- ../trunk-jpl/src/c/main/kriging.cpp (revision 15098) +++ ../trunk-jpl/src/c/main/kriging.cpp (revision 15099) @@ -50,10 +50,10 @@ ProcessInputfile(&x,&y,&data,&nobs,&x_interp,&y_interp,&ninterp,&options,input_fid); pfclose(input_fid,binfilename); - _pprintLine_("call computational core:"); + _pprintString_("call computational core:" << "\n"); pKrigingx(&predictions,&error,x,y,data,nobs,x_interp,y_interp,ninterp,options); - _pprintLine_("write results to disk:"); + _pprintString_("write results to disk:" << "\n"); Results *results = new Results(); if(IssmComm::GetRank()==0){ output_fid=pfopen(outbinfilename,"wb"); @@ -67,7 +67,7 @@ } /*Close output and toolkits options file and write lock file if requested*/ - _pprintLine_("write lock file:"); + _pprintString_("write lock file:" << "\n"); WriteLockFile(lockfilename); /*Free ressources */ Index: ../trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/ListofIntersectionTriangles.cpp (revision 15099) @@ -168,7 +168,7 @@ //C.Echo(); //x.Echo(); //y.Echo(); - //_printLine_("cx = " << cx << ", cy=" << cy); + //_printString_("cx = " << cx << ", cy=" << cy << "\n"); si += sint; if ( nbv3){ - _printLine_(" reshape lSegsI from " << mneo << " to " << MaxNbSeg); + _printString_(" reshape lSegsI from " << mneo << " to " << MaxNbSeg << "\n"); } _assert_(lSegsI && NbSeg3) _printLine_(" ListofIntersectionTriangles ReShape Maxsize " << MaxSize << " -> " << MaxNbSeg); + if(verbosity>3) _printString_(" ListofIntersectionTriangles ReShape Maxsize " << MaxSize << " -> " << MaxNbSeg << "\n"); MaxSize = newsize; delete [] lIntTria;// remove old lIntTria = nw; // copy pointer Index: ../trunk-jpl/src/c/bamg/Triangle.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/Triangle.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/Triangle.cpp (revision 15099) @@ -108,26 +108,26 @@ int i; - _printLine_("Triangle:"); - _printLine_(" vertices pointer towards three vertices"); - _printLine_(" vertices[0] vertices[1] vertices[2] = " << vertices[0] << " " << vertices[1] << " " << vertices[2]); - _printLine_(" adj pointer towards three adjacent triangles"); - _printLine_(" adj[0] adj[1] adj[2] = " << adj[0] << " " << adj[1] << " " << adj[2]); - _printLine_(" det (integer triangle determinant) = " << det); + _printString_("Triangle:" << "\n"); + _printString_(" vertices pointer towards three vertices" << "\n"); + _printString_(" vertices[0] vertices[1] vertices[2] = " << vertices[0] << " " << vertices[1] << " " << vertices[2] << "\n"); + _printString_(" adj pointer towards three adjacent triangles" << "\n"); + _printString_(" adj[0] adj[1] adj[2] = " << adj[0] << " " << adj[1] << " " << adj[2] << "\n"); + _printString_(" det (integer triangle determinant) = " << det << "\n"); if (link){ - _printLine_(" link (pointer toward duplicate triangle)= " << link); + _printString_(" link (pointer toward duplicate triangle)= " << link << "\n"); } else{ - _printLine_(" color = " << color); + _printString_(" color = " << color << "\n"); } - _printLine_("\nThree vertices:"); + _printString_("\nThree vertices:" << "\n"); for(i=0;i<3;i++){ if (vertices[i]){ vertices[i]->Echo(); } else{ - _printLine_(" vertex " << i+1 << " does not exist"); + _printString_(" vertex " << i+1 << " does not exist" << "\n"); } } Index: ../trunk-jpl/src/c/bamg/Metric.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/Metric.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/Metric.cpp (revision 15099) @@ -70,8 +70,8 @@ /*FUNCTION Metric::Echo {{{*/ void Metric::Echo(void){ - _printLine_("Metric:"); - _printLine_(" [a11 a21 a22]: [" << a11 << " " << a21 << " " << a22 << "]"); + _printString_("Metric:" << "\n"); + _printString_(" [a11 a21 a22]: [" << a11 << " " << a21 << " " << a22 << "]" << "\n"); return; } @@ -199,7 +199,7 @@ } LastMetricInterpole.lab=l; LastMetricInterpole.opt=i; - if (i>200 && kkk++<10) _printLine_("WARNING: LengthInterpole: ( i=" << i << " l=" << l << " sss=" << sss << " ) " << sstop); + if (i>200 && kkk++<10) _printString_("WARNING: LengthInterpole: ( i=" << i << " l=" << l << " sss=" << sss << " ) " << sstop << "\n"); return l; } /*}}}*/ Index: ../trunk-jpl/src/c/bamg/Geometry.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/Geometry.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/Geometry.cpp (revision 15099) @@ -79,7 +79,7 @@ //Vertices if (bamggeom->Vertices){ - if(verbose>5) _printLine_(" processing Vertices"); + if(verbose>5) _printString_(" processing Vertices" << "\n"); if (bamggeom->VerticesSize[1]!=3) _error_("Vertices should have 3 columns"); vertices = new GeomVertex[nbv]; for (i=0;i5) _printLine_(" processing Edges"); + if(verbose>5) _printString_(" processing Edges" << "\n"); if (bamggeom->EdgesSize[1]!=3) _error_("Edges should have 3 columns"); edges = new GeomEdge[nbe]; @@ -179,7 +179,7 @@ //hVertices if(bamgopts->hVertices && bamgopts->hVerticesSize[0]==nbv){ - if(verbose>5) _printLine_(" processing hVertices"); + if(verbose>5) _printString_(" processing hVertices" << "\n"); for (i=0;i< nbv;i++){ if (!xIsNan(bamgopts->hVertices[i])){ vertices[i].m=Metric((double)bamgopts->hVertices[i]); @@ -189,7 +189,7 @@ //MetricVertices if(bamgopts->metric && bamgopts->metric[0]==nbv){ - if(verbose>5) _printLine_(" processing MetricVertices"); + if(verbose>5) _printString_(" processing MetricVertices" << "\n"); for (i=0;i< nbv;i++) { vertices[i].m = Metric((double)bamgopts->metric[i*3+0],(double)bamgopts->metric[i*3+1],(double)bamgopts->metric[i*3+2]); } @@ -197,7 +197,7 @@ //MaxCornerAngle if (bamgopts->MaxCornerAngle){ - if(verbose>5) _printLine_(" processing MaxCornerAngle"); + if(verbose>5) _printString_(" processing MaxCornerAngle" << "\n"); MaxCornerAngle=bamgopts->MaxCornerAngle*Pi/180; } @@ -236,7 +236,7 @@ //RequiredVertices if(bamggeom->RequiredVertices){ - if(verbose>5) _printLine_(" processing RequiredVertices"); + if(verbose>5) _printString_(" processing RequiredVertices" << "\n"); if (bamggeom->RequiredVerticesSize[1]!=1) _error_("RequiredVertices should have 1 column"); n=bamggeom->RequiredVerticesSize[0]; for (i=0;iRequiredEdges){ - if(verbose>5) _printLine_(" processing RequiredEdges"); + if(verbose>5) _printString_(" processing RequiredEdges" << "\n"); if (bamggeom->RequiredEdgesSize[1]!=1) _error_("RequiredEdges should have 1 column"); n=bamggeom->RequiredEdgesSize[0]; for (i=0;iSubDomains){ - if(verbose>5) _printLine_(" processing SubDomains"); + if(verbose>5) _printString_(" processing SubDomains" << "\n"); if (bamggeom->SubDomainsSize[1]!=4) _error_("SubDomains should have 4 columns"); nbsubdomains=bamggeom->SubDomainsSize[0]; subdomains = new GeomSubDomain[nbsubdomains]; @@ -292,7 +292,7 @@ verbose=bamgopts->verbose; /*Vertices*/ - if(verbose>5) _printLine_(" writing Vertices"); + if(verbose>5) _printString_(" writing Vertices" << "\n"); bamggeom->VerticesSize[0]=nbv; bamggeom->VerticesSize[1]=3; if (nbv){ @@ -308,7 +308,7 @@ } /*Edges*/ - if(verbose>5) _printLine_(" writing Edges"); + if(verbose>5) _printString_(" writing Edges" << "\n"); bamggeom->EdgesSize[0]=nbe; bamggeom->EdgesSize[1]=3; if (nbe){ @@ -326,7 +326,7 @@ } /*RequiredEdges*/ - if(verbose>5) _printLine_(" writing " << nbreq << " RequiredEdges"); + if(verbose>5) _printString_(" writing " << nbreq << " RequiredEdges" << "\n"); bamggeom->RequiredEdgesSize[0]=nbreq; bamggeom->RequiredEdgesSize[1]=1; if (nbreq){ @@ -343,7 +343,7 @@ //No corners /*RequiredVertices*/ - if(verbose>5) _printLine_(" writing " << nbreqv << " RequiredVertices"); + if(verbose>5) _printString_(" writing " << nbreqv << " RequiredVertices" << "\n"); bamggeom->RequiredVerticesSize[0]=nbreqv; bamggeom->RequiredVerticesSize[1]=1; if (nbreqv){ @@ -358,7 +358,7 @@ } /*SubDomains*/ - if(verbose>5) _printLine_(" writing SubDomains"); + if(verbose>5) _printString_(" writing SubDomains" << "\n"); bamggeom->SubDomainsSize[0]=nbsubdomains; bamggeom->SubDomainsSize[1]=4; if (nbsubdomains){ @@ -372,7 +372,7 @@ } /*TangentAtEdges*/ - if(verbose>5) _printLine_(" writing TangentAtEdges"); + if(verbose>5) _printString_(" writing TangentAtEdges" << "\n"); bamggeom->TangentAtEdgesSize[0]=nbtan; bamggeom->TangentAtEdgesSize[1]=4; if (nbtan){ @@ -401,20 +401,20 @@ /*FUNCTION Geometry::Echo {{{*/ void Geometry::Echo(void){ - _printLine_("Geometry:"); - _printLine_(" nbv (number of vertices) : " << nbv); - _printLine_(" nbe (number of edges) : " << nbe); - _printLine_(" nbsubdomains: " << nbsubdomains); - _printLine_(" nbcurves: " << nbcurves); - _printLine_(" vertices: " << vertices); - _printLine_(" edges: " << edges); - _printLine_(" quadtree: " << quadtree); - _printLine_(" subdomains: " << subdomains); - _printLine_(" curves: " << curves); - _printLine_(" pmin (x,y): (" << pmin.x << " " << pmin.y << ")"); - _printLine_(" pmax (x,y): (" << pmax.x << " " << pmax.y << ")"); - _printLine_(" coefIcoor: " << coefIcoor); - _printLine_(" MaxCornerAngle: " << MaxCornerAngle); + _printString_("Geometry:" << "\n"); + _printString_(" nbv (number of vertices) : " << nbv << "\n"); + _printString_(" nbe (number of edges) : " << nbe << "\n"); + _printString_(" nbsubdomains: " << nbsubdomains << "\n"); + _printString_(" nbcurves: " << nbcurves << "\n"); + _printString_(" vertices: " << vertices << "\n"); + _printString_(" edges: " << edges << "\n"); + _printString_(" quadtree: " << quadtree << "\n"); + _printString_(" subdomains: " << subdomains << "\n"); + _printString_(" curves: " << curves << "\n"); + _printString_(" pmin (x,y): (" << pmin.x << " " << pmin.y << ")" << "\n"); + _printString_(" pmax (x,y): (" << pmax.x << " " << pmax.y << ")" << "\n"); + _printString_(" coefIcoor: " << coefIcoor << "\n"); + _printString_(" MaxCornerAngle: " << MaxCornerAngle << "\n"); return; } @@ -523,9 +523,9 @@ /*if there is a vertex found that is to close to vertices[i] -> error*/ if( v && Norme1(v->r - vertices[i].r) < eps ){ - _printLine_("reference numbers: " << v->ReferenceNumber << " " << vertices[i].ReferenceNumber); - _printLine_("Id: " << i+1); - _printLine_("Coords: ["<r.x<<" "<r.y<<"] ["<ReferenceNumber << " " << vertices[i].ReferenceNumber << "\n"); + _printString_("Id: " << i+1 << "\n"); + _printString_("Coords: ["<r.x<<" "<r.y<<"] ["<=mxe ) { - _printLine_("WARNING: on the class Mesh before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)"); + _printString_("WARNING: on the class Mesh before call Geometry::ProjectOnCurve is having issues (isn't it Eric?)" << "\n"); NbTry++; if (NbTry<2) goto retry; - _printLine_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve"); - _printLine_("That bug might come from:"); - _printLine_(" 1) a mesh edge contening more than " << mxe/2 << " geometrical edges"); - _printLine_(" 2) code bug : be sure that we call Mesh::SetVertexFieldOn() before"); - _printLine_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)"); + _printString_("Fatal Error: on the class Mesh before call Geometry::ProjectOnCurve" << "\n"); + _printString_("That bug might come from:" << "\n"); + _printString_(" 1) a mesh edge contening more than " << mxe/2 << " geometrical edges" << "\n"); + _printString_(" 2) code bug : be sure that we call Mesh::SetVertexFieldOn() before" << "\n"); + _printString_("To solve the problem do a coarsening of the geometrical mesh or change the constant value of mxe (dangerous)" << "\n"); _error_("see above"); } GeomEdge* tmpge = eg1; Index: ../trunk-jpl/src/c/bamg/BamgVertex.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/BamgVertex.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/BamgVertex.cpp (revision 15099) @@ -14,10 +14,10 @@ void BamgVertex::Echo(void){ - _printLine_("Vertex:"); - _printLine_(" integer coordinates i.x: " << i.x << ", i.y: " << i.y); - _printLine_(" Euclidean coordinates r.x: " << r.x << ", r.y: " << r.y); - _printLine_(" ReferenceNumber = " << ReferenceNumber); + _printString_("Vertex:" << "\n"); + _printString_(" integer coordinates i.x: " << i.x << ", i.y: " << i.y << "\n"); + _printString_(" Euclidean coordinates r.x: " << r.x << ", r.y: " << r.y << "\n"); + _printString_(" ReferenceNumber = " << ReferenceNumber << "\n"); m.Echo(); return; Index: ../trunk-jpl/src/c/bamg/Edge.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/Edge.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/Edge.cpp (revision 15099) @@ -26,11 +26,11 @@ /*}}}*/ /*FUNCTION Edge::Echo {{{*/ void Edge::Echo(void){ - _printLine_("Edge:"); - _printLine_(" pointers towards two vertices: " << v[0] << " " << v[1]); - _printLine_(" ReferenceNumber = " << ReferenceNumber); - _printLine_(" GeomEdgeHook = " << GeomEdgeHook); - _printLine_(" two adjacent edges on the same curve: " << adj[0] << " " << adj[1]); + _printString_("Edge:" << "\n"); + _printString_(" pointers towards two vertices: " << v[0] << " " << v[1] << "\n"); + _printString_(" ReferenceNumber = " << ReferenceNumber << "\n"); + _printString_(" GeomEdgeHook = " << GeomEdgeHook << "\n"); + _printString_(" two adjacent edges on the same curve: " << adj[0] << " " << adj[1] << "\n"); } /*}}}*/ /*FUNCTION Edge::Renumbering{{{*/ Index: ../trunk-jpl/src/c/bamg/EigenMetric.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/EigenMetric.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/EigenMetric.cpp (revision 15099) @@ -113,11 +113,11 @@ /*FUNCTION EigenMetric::Echo {{{*/ void EigenMetric::Echo(void){ - _printLine_("EigenMetric:"); - _printLine_(" lambda1: " << lambda1); - _printLine_(" lambda2: " << lambda2); - _printLine_(" v.x: " << v.x); - _printLine_(" v.y: " << v.y); + _printString_("EigenMetric:" << "\n"); + _printString_(" lambda1: " << lambda1 << "\n"); + _printString_(" lambda2: " << lambda2 << "\n"); + _printString_(" v.x: " << v.x << "\n"); + _printString_(" v.y: " << v.y << "\n"); return; } Index: ../trunk-jpl/src/c/bamg/Mesh.cpp =================================================================== --- ../trunk-jpl/src/c/bamg/Mesh.cpp (revision 15098) +++ ../trunk-jpl/src/c/bamg/Mesh.cpp (revision 15099) @@ -30,7 +30,7 @@ /*Build Geometry if not provided*/ if(bamggeom->Edges==NULL) { /*Recreate geometry if needed*/ - _printLine_("WARNING: mesh present but no geometry found. Reconstructing..."); + _printString_("WARNING: mesh present but no geometry found. Reconstructing..." << "\n"); BuildGeometryFromMesh(bamgopts); Gh.PostRead(); } @@ -102,9 +102,9 @@ for (i=0;i=0) kk[i]=k++; } - _printLine_(" number of vertices " << k << ", remove = " << Tho.nbv - k); - _printLine_(" number of triangles " << kt << ", remove = " << nbInT-kt); - _printLine_(" number of New boundary edge " << nbNewBedge); + _printString_(" number of vertices " << k << ", remove = " << Tho.nbv - k << "\n"); + _printString_(" number of triangles " << kt << ", remove = " << nbInT-kt << "\n"); + _printString_(" number of New boundary edge " << nbNewBedge << "\n"); long imaxnbv =k; Init(imaxnbv); for (i=0;i(nbv); orderedvertices=xNew(nbv); for (i=0;i(nbv); for(i=0;iVertices){ - if(verbose>5) _printLine_(" processing Vertices"); + if(verbose>5) _printString_(" processing Vertices" << "\n"); vertices=xNew(nbv); orderedvertices=xNew(nbv); @@ -367,7 +367,7 @@ //Triangles if(bamgmesh->Triangles){ - if(verbose>5) _printLine_(" processing Triangles"); + if(verbose>5) _printString_(" processing Triangles" << "\n"); triangles =new Triangle[maxnbt]; //we cannot allocate only nbt triangles since //other triangles will be added for each edge for (i=0;iQuadrilaterals){ - if(verbose>5) _printLine_(" processing Quadrilaterals"); + if(verbose>5) _printString_(" processing Quadrilaterals" << "\n"); long i1,i2,i3,i4; triangles =new Triangle[nbt]; for (i=0;iQuadrilateralsSize[0];i++){ @@ -407,7 +407,7 @@ //VerticesOnGeomEdge if(bamgmesh->VerticesOnGeomEdge){ - if(verbose>5) _printLine_(" processing VerticesOnGeomEdge"); + if(verbose>5) _printString_(" processing VerticesOnGeomEdge" << "\n"); NbVerticesOnGeomEdge=bamgmesh->VerticesOnGeomEdgeSize[0]; VerticesOnGeomEdge= new VertexOnGeom[NbVerticesOnGeomEdge] ; for (i=0;iVerticesOnGeomVertexSize[0]){ - if(verbose>5) _printLine_(" processing VerticesOnGeomVertex"); + if(verbose>5) _printString_(" processing VerticesOnGeomVertex" << "\n"); NbVerticesOnGeomVertex=bamgmesh->VerticesOnGeomVertexSize[0]; VerticesOnGeomVertex = new VertexOnGeom[NbVerticesOnGeomVertex] ; for (i=0;i5) _printLine_(" processing Edges"); + if(verbose>5) _printString_(" processing Edges" << "\n"); nbe=bamgmesh->EdgesSize[0]; edges= new Edge[nbe]; //initialize length of each edge (used to provided metric) @@ -498,7 +498,7 @@ //EdgeOnGeomEdge if(bamgmesh->EdgesOnGeomEdge){ - if(verbose>5) _printLine_(" processing EdgesOnGeomEdge"); + if(verbose>5) _printString_(" processing EdgesOnGeomEdge" << "\n"); int i1,i2,i,j; i2=bamgmesh->EdgesOnGeomEdgeSize[0]; for (i1=0;i1SubDomains){ long i3,head,direction; - if(verbose>5) _printLine_(" processing SubDomains"); + if(verbose>5) _printString_(" processing SubDomains" << "\n"); nbsubdomains=bamgmesh->SubDomainsSize[0]; subdomains = new SubDomain [ nbsubdomains ]; for (i=0;i5) _printLine_(" writing Vertices"); + if(verbose>5) _printString_(" writing Vertices" << "\n"); bamgmesh->VerticesSize[0]=nbv; bamgmesh->VerticesSize[1]=3; if (nbv){ @@ -597,7 +597,7 @@ } /*Edges*/ - if(verbose>5) _printLine_(" writing Edges"); + if(verbose>5) _printString_(" writing Edges" << "\n"); bamgmesh->EdgesSize[0]=nbe; bamgmesh->EdgesSize[1]=3; int NumIssmSegments=0; @@ -614,7 +614,7 @@ } /*Element edges*/ - if(verbose>5) _printLine_(" writing element edges"); + if(verbose>5) _printString_(" writing element edges" << "\n"); SetOfEdges4* edge4=new SetOfEdges4(nbt*3,nbv); double* elemedge=NULL; elemedge=xNew(3*nbt); @@ -670,7 +670,7 @@ xDelete(elemedge); /*IssmSegments*/ - if(verbose>5) _printLine_(" writing IssmSegments"); + if(verbose>5) _printString_(" writing IssmSegments" << "\n"); bamgmesh->IssmSegmentsSize[0]=NumIssmSegments; bamgmesh->IssmSegmentsSize[1]=4; bamgmesh->IssmSegments=xNew(4*NumIssmSegments); @@ -713,7 +713,7 @@ } /*Triangles*/ - if(verbose>5) _printLine_(" writing Triangles"); + if(verbose>5) _printString_(" writing Triangles" << "\n"); k=nbInT-nbq*2; num=0; bamgmesh->TrianglesSize[0]=k; @@ -734,7 +734,7 @@ } /*Quadrilaterals*/ - if(verbose>5) _printLine_(" writing Quadrilaterals"); + if(verbose>5) _printString_(" writing Quadrilaterals" << "\n"); bamgmesh->QuadrilateralsSize[0]=nbq; bamgmesh->QuadrilateralsSize[1]=5; if (nbq){ @@ -755,7 +755,7 @@ } /*SubDomains*/ - if(verbose>5) _printLine_(" writing SubDomains"); + if(verbose>5) _printString_(" writing SubDomains" << "\n"); bamgmesh->SubDomainsSize[0]=nbsubdomains; bamgmesh->SubDomainsSize[1]=4; if (nbsubdomains){ @@ -769,7 +769,7 @@ } /*SubDomainsFromGeom*/ - if(verbose>5) _printLine_(" writing SubDomainsFromGeom"); + if(verbose>5) _printString_(" writing SubDomainsFromGeom" << "\n"); bamgmesh->SubDomainsFromGeomSize[0]=Gh.nbsubdomains; bamgmesh->SubDomainsFromGeomSize[1]=4; if (Gh.nbsubdomains){ @@ -783,7 +783,7 @@ } /*VerticesOnGeomVertex*/ - if(verbose>5) _printLine_(" writing VerticesOnGeomVertex"); + if(verbose>5) _printString_(" writing VerticesOnGeomVertex" << "\n"); bamgmesh->VerticesOnGeomVertexSize[0]=NbVerticesOnGeomVertex; bamgmesh->VerticesOnGeomVertexSize[1]=2; if (NbVerticesOnGeomVertex){ @@ -797,7 +797,7 @@ } /*VertexOnGeomEdge*/ - if(verbose>5) _printLine_(" writing VerticesOnGeomEdge"); + if(verbose>5) _printString_(" writing VerticesOnGeomEdge" << "\n"); bamgmesh->VerticesOnGeomEdgeSize[0]=NbVerticesOnGeomEdge; bamgmesh->VerticesOnGeomEdgeSize[1]=3; if (NbVerticesOnGeomEdge){ @@ -814,7 +814,7 @@ } /*EdgesOnGeomEdge*/ - if(verbose>5) _printLine_(" writing EdgesOnGeomEdge"); + if(verbose>5) _printString_(" writing EdgesOnGeomEdge" << "\n"); k=0; for (i=0;i5) _printLine_(" writing Element connectivity"); + if(verbose>5) _printString_(" writing Element connectivity" << "\n"); bamgmesh->ElementConnectivitySize[0]=nbt-nbtout; bamgmesh->ElementConnectivitySize[1]=3; bamgmesh->ElementConnectivity=xNew(3*(nbt-nbtout)); @@ -854,7 +854,7 @@ } /*ElementNodal Connectivity*/ - if(verbose>5) _printLine_(" writing Nodal element connectivity"); + if(verbose>5) _printString_(" writing Nodal element connectivity" << "\n"); bamgmesh->NodalElementConnectivitySize[0]=nbv; bamgmesh->NodalElementConnectivitySize[1]=connectivitymax_1; bamgmesh->NodalElementConnectivity=xNew(connectivitymax_1*nbv); @@ -869,7 +869,7 @@ } /*Nodal Connectivity*/ - if(verbose>5) _printLine_(" writing Nodal connectivity"); + if(verbose>5) _printString_(" writing Nodal connectivity" << "\n"); //chaining algorithm (again...) int* head_2=NULL; int* next_2=NULL; @@ -923,7 +923,7 @@ } /*Cracked vertices*/ - if(verbose>5) _printLine_(" writing Cracked vertices"); + if(verbose>5) _printString_(" writing Cracked vertices" << "\n"); bamgmesh->CrackedVerticesSize[0]=NbCrackedVertices; bamgmesh->CrackedVerticesSize[1]=2; if (NbCrackedVertices){ @@ -935,7 +935,7 @@ } /*Cracked vertices*/ - if(verbose>5) _printLine_(" writing Cracked vertices"); + if(verbose>5) _printString_(" writing Cracked vertices" << "\n"); bamgmesh->CrackedEdgesSize[0]=NbCrackedEdges; bamgmesh->CrackedEdgesSize[1]=4; if (NbCrackedEdges){ @@ -963,7 +963,7 @@ /*Intermediary*/ int i,j; - if(bamgopts->verbose>3) _printLine_(" processing metric"); + if(bamgopts->verbose>3) _printString_(" processing metric" << "\n"); double hmin = Max(bamgopts->hmin,MinimalHmin()); double hmax = Min(bamgopts->hmax,MaximalHmax()); double coef = bamgopts->coeff; @@ -1264,7 +1264,7 @@ double lminaniso = 1/ (Max(hminaniso*hminaniso,1e-100)); //display info - if (verbose > 1) _printLine_(" BoundAnisotropy by " << anisomax); + if (verbose > 1) _printString_(" BoundAnisotropy by " << anisomax << "\n"); double h1=1.e30,h2=1e-30; double coef = 1./(anisomax*anisomax); @@ -1291,8 +1291,8 @@ //display info if (verbose>2){ - _printLine_(" input: Hmin = " << pow(h2,-0.5) << ", Hmax = " << pow(h1,-0.5) << ", factor of anisotropy max = " << pow(rx,0.5)); - _printLine_(" output: Hmin = " << pow(hn2,-0.5) << ", Hmax = " << pow(hn1,-0.5)<< ", factor of anisotropy max = " <1) _printLine_(" construction of the geometry from the 2d mesh"); + if (verbose>1) _printString_(" construction of the geometry from the 2d mesh" << "\n"); //check that the mesh is not empty if (nbt<=0 || nbv <=0 ) { @@ -1374,10 +1374,10 @@ } //else (see 3 lines above), the edge has been called more than twice: return error else { - _printLine_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << "," << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles (" << k << ")"); - _printLine_("Edge " << j << " of triangle " << i); - _printLine_("Edge " << (-st[k]+2)%3 << " of triangle " << (-st[k]+2)/3); - _printLine_("Edge " << triangles[(-st[k]+2)/3].NuEdgeTriangleAdj((int)((-st[k]+2)%3)) << " of triangle " << GetId(triangles[(-st[k]+2)/3].TriangleAdj((int)((-st[k]+2)%3)))); + _printString_("The edge (" << GetId(triangles[i][VerticesOfTriangularEdge[j][0]]) << "," << GetId(triangles[i][VerticesOfTriangularEdge[j][1]]) << ") belongs to more than 2 triangles (" << k << ")" << "\n"); + _printString_("Edge " << j << " of triangle " << i << "\n"); + _printString_("Edge " << (-st[k]+2)%3 << " of triangle " << (-st[k]+2)/3 << "\n"); + _printString_("Edge " << triangles[(-st[k]+2)/3].NuEdgeTriangleAdj((int)((-st[k]+2)%3)) << " of triangle " << GetId(triangles[(-st[k]+2)/3].TriangleAdj((int)((-st[k]+2)%3))) << "\n"); _error_("An edge belongs to more than 2 triangles"); } } @@ -1389,12 +1389,12 @@ //display info if(verbose>5) { - _printLine_(" info on Mesh:"); - _printLine_(" - number of vertices = " << nbv); - _printLine_(" - number of triangles = " << nbt); - _printLine_(" - number of given edges = " << nbe); - _printLine_(" - number of all edges = " << nbedges); - _printLine_(" - Euler number 1 - nb of holes = " << nbt-nbedges+nbv); + _printString_(" info on Mesh:" << "\n"); + _printString_(" - number of vertices = " << nbv << "\n"); + _printString_(" - number of triangles = " << nbt << "\n"); + _printString_(" - number of given edges = " << nbe << "\n"); + _printString_(" - number of all edges = " << nbedges << "\n"); + _printString_(" - Euler number 1 - nb of holes = " << nbt-nbedges+nbv << "\n"); } // check consistency of edge[].adj and geometrical required vertices @@ -1425,7 +1425,7 @@ k =0; //display info - if(verbose>4) _printLine_(" Construction of the edges " << nbe); + if(verbose>4) _printString_(" Construction of the edges " << nbe << "\n"); for (i=0;iGetReferenceNumber(),edges[add].v[1]->GetReferenceNumber()); @@ -1566,7 +1566,7 @@ nbsubdomains++; } } - if (verbose> 3) _printLine_(" The Number of sub domain = " << nbsubdomains); + if (verbose> 3) _printString_(" The Number of sub domain = " << nbsubdomains << "\n"); //build subdomains long isd; @@ -1618,7 +1618,7 @@ Gh.edges = new GeomEdge[nbe]; Gh.nbsubdomains = nbsubdomains; Gh.subdomains = new GeomSubDomain[nbsubdomains]; - if (verbose>3) _printLine_(" number of vertices = " << Gh.nbv << "\n number of edges = " << Gh.nbe); + if (verbose>3) _printString_(" number of vertices = " << Gh.nbv << "\n number of edges = " << Gh.nbe << "\n"); NbVerticesOnGeomVertex = Gh.nbv; VerticesOnGeomVertex = new VertexOnGeom[NbVerticesOnGeomVertex]; NbVerticesOnGeomEdge =0; @@ -1790,7 +1790,7 @@ //display infos if(verbose>1) { - _printLine_(" Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")"); + _printString_(" Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")" << "\n"); } //first, build the chains that will be used for the Hessian computation, as weel as the area of each element @@ -1862,11 +1862,11 @@ double absmax=Max(Abs(smin),Abs(smax)); //display info - if(verbose>2) _printLine_(" Solution " << nusol << ", Min = " << smin << ", Max = " << smax << ", Delta = " << sdelta); + if(verbose>2) _printString_(" Solution " << nusol << ", Min = " << smin << ", Max = " << smax << ", Delta = " << sdelta << "\n"); //skip constant field if (sdelta < 1.0e-10*Max(absmax,1e-20)){ - _printLine_(" Solution " << nusol << " is constant, skipping..."); + _printString_(" Solution " << nusol << " is constant, skipping..." << "\n"); continue; } @@ -1992,7 +1992,7 @@ //display infos if(verbose>1) { - _printLine_(" Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")"); + _printString_(" Construction of Metric: number of field: " << nbsol << " (nbt=" << nbt << ", nbv=" << nbv << ")" << "\n"); } //initialize Mmass, OnBoundary and Massxx by zero @@ -2075,11 +2075,11 @@ double absmax=Max(Abs(smin),Abs(smax)); //display info - if(verbose>2) _printLine_(" Solution " << nusol << ", Min = " << smin << ", Max = " << smax << ", Delta = " << sdelta << ", number of fields = " << nbsol); + if(verbose>2) _printString_(" Solution " << nusol << ", Min = " << smin << ", Max = " << smax << ", Delta = " << sdelta << ", number of fields = " << nbsol << "\n"); //skip constant field if (sdelta < 1.0e-10*Max(absmax,1e-20) ){ - if (verbose>2) _printLine_(" Solution " << nusol << " is constant, skipping..."); + if (verbose>2) _printString_(" Solution " << nusol << " is constant, skipping..." << "\n"); continue; } @@ -2264,7 +2264,7 @@ //Return if no edge is cracked if(k==0) return; - if (verbose>4) _printLine_(" number of Cracked Edges = " << k); + if (verbose>4) _printString_(" number of Cracked Edges = " << k << "\n"); //Initialize Cracked edge NbCrackedEdges=k; @@ -2305,7 +2305,7 @@ _assert_(k==NbCrackedEdges); //Add new vertices - if (verbose>4) _printLine_(" number of Cracked Vertices = " << NbCrackedVertices); + if (verbose>4) _printString_(" number of Cracked Vertices = " << NbCrackedVertices << "\n"); if (NbCrackedVertices){ CrackedVertices=xNew(2*NbCrackedVertices); num=0; @@ -2374,7 +2374,7 @@ break; } } - //_printLine_(element_renu[GetId(ta.t)] << " -> " << GetId((*ta.t)[0])+1 << " " << GetId((*ta.t)[1])+1 << " " << GetId((*ta.t)[2])+1 << ", edge [" << i1 << "->" << j1 << " " << i2 << "->" << j2 << "]"); + //_printString_(element_renu[GetId(ta.t)] << " -> " << GetId((*ta.t)[0])+1 << " " << GetId((*ta.t)[1])+1 << " " << GetId((*ta.t)[2])+1 << ", edge [" << i1 << "->" << j1 << " " << i2 << "->" << j2 << "]" << "\n"); ta = Next(ta).Adj(); if (count++>50) _error_("Maximum number of iteration exceeded"); }while ((tbegin != ta)); @@ -2398,21 +2398,21 @@ int i; - _printLine_("Mesh Echo:"); - _printLine_(" nbv = " << nbv); - _printLine_(" nbt = " << nbt); - _printLine_(" nbe = " << nbe); - _printLine_(" nbq = " << nbq); - _printLine_(" index:"); + _printString_("Mesh Echo:" << "\n"); + _printString_(" nbv = " << nbv << "\n"); + _printString_(" nbt = " << nbt << "\n"); + _printString_(" nbe = " << nbe << "\n"); + _printString_(" nbq = " << nbq << "\n"); + _printString_(" index:" << "\n"); for (i=0;i 2) _printLine_(" ForceBoundary nb of edge: " << nbe); + if (verbose > 2) _printString_(" ForceBoundary nb of edge: " << nbe << "\n"); //check that there is no triangle with 0 determinant for (int t = 0; t < nbt; t++){ @@ -2457,7 +2457,7 @@ for (int j=0;j 3) _printLine_(" number of inforced edge = " << nbfe << ", number of swap= " << Nbswap); + if (verbose > 3) _printString_(" number of inforced edge = " << nbfe << ", number of swap= " << Nbswap << "\n"); } /*}}}*/ /*FUNCTION Mesh::FindSubDomain{{{*/ @@ -2467,8 +2467,8 @@ long int verbose=0; if (verbose >2){ - if (OutSide) _printLine_(" Find all external sub-domain"); - else _printLine_(" Find all internal sub-domain"); + if (OutSide) _printString_(" Find all external sub-domain" << "\n"); + else _printString_(" Find all internal sub-domain" << "\n"); } short * HeapArete = new short[nbt]; Triangle ** HeapTriangle = new Triangle* [nbt]; @@ -2612,7 +2612,7 @@ t1->link=0; }//while (t) } - if(verbose>4) _printLine_(" Number of removes subdomains (OutSideMesh) = " << nbsubdomains-j); + if(verbose>4) _printString_(" Number of removes subdomains (OutSideMesh) = " << nbsubdomains-j << "\n"); nbsubdomains=j; } @@ -2691,7 +2691,7 @@ } if (inew < nbsubdomains) { - if (verbose>5) _printLine_("WARNING: " << nbsubdomains-inew << " SubDomains are being removed"); + if (verbose>5) _printString_("WARNING: " << nbsubdomains-inew << " SubDomains are being removed" << "\n"); nbsubdomains=inew;} for (it=0;it2) _printLine_(" Insert initial " << nbv << " vertices"); + if (verbose>2) _printString_(" Insert initial " << nbv << " vertices" << "\n"); //Compute integer coordinates for the existing vertices SetIntCoor(); @@ -2889,7 +2889,7 @@ /*Now, add the vertices One by One*/ long NbSwap=0; - if (verbose>3) _printLine_(" Begining of insertion process..."); + if (verbose>3) _printString_(" Begining of insertion process..." << "\n"); for (int icount=2; icount3) { - _printLine_(" NbSwap of insertion: " << NbSwap); - _printLine_(" NbSwap/nbv: " << NbSwap/nbv); + _printString_(" NbSwap of insertion: " << NbSwap << "\n"); + _printString_(" NbSwap/nbv: " << NbSwap/nbv << "\n"); } #ifdef NBLOOPOPTIM @@ -2927,8 +2927,8 @@ for (int is1=0; is1Optim(0,0); if (verbose>3) { - _printLine_(" Optim Loop: " << Nbloop); - _printLine_(" NbSwap/nbv: " << NbSwap/nbv); + _printString_(" Optim Loop: " << Nbloop << "\n"); + _printString_(" NbSwap/nbv: " << NbSwap/nbv << "\n"); } if(!NbSwap) break; } @@ -2951,7 +2951,7 @@ const long nbvnew=nbv-nbvold; //display info if required - if (verbose>5) _printLine_(" Try to Insert " << nbvnew << " new points"); + if (verbose>5) _printString_(" Try to Insert " << nbvnew << " new points" << "\n"); //return if no new points if (!nbvnew) return 0; @@ -3001,14 +3001,14 @@ } } if (verbose>3) { - _printLine_(" number of new points: " << iv); - _printLine_(" number of to close (?) points: " << nbv-iv); - _printLine_(" number of swap after: " << NbSwap); + _printString_(" number of new points: " << iv << "\n"); + _printString_(" number of to close (?) points: " << nbv-iv << "\n"); + _printString_(" number of swap after: " << NbSwap << "\n"); } nbv = iv; for (i=nbvold;i3) _printLine_(" NbSwap=" << NbSwap); + if (verbose>3) _printString_(" NbSwap=" << NbSwap << "\n"); NbTSwap += NbSwap ; return nbv-nbvold; @@ -3054,7 +3054,7 @@ for ( i=0;i2) _printLine_("MakeQuadrangles costheta = " << costheta); + if (verbose>2) _printString_("MakeQuadrangles costheta = " << costheta << "\n"); if (costheta >1) { - if (verbose>5) _printLine_(" do nothing: costheta > 1"); + if (verbose>5) _printString_(" do nothing: costheta > 1" << "\n"); } long nbqq = (nbt*3)/2; @@ -3097,9 +3097,9 @@ } nbq = kk; if (verbose>2){ - _printLine_(" number of quadrilaterals = " << nbq); - _printLine_(" number of triangles = " << nbt-nbtout- nbq*2); - _printLine_(" number of outside triangles = " << nbtout); + _printString_(" number of quadrilaterals = " << nbq << "\n"); + _printString_(" number of triangles = " << nbt-nbtout- nbq*2 << "\n"); + _printString_(" number of outside triangles = " << nbtout << "\n"); } delete [] qq; } @@ -3125,7 +3125,7 @@ long int verbose=0; const double maxsubdiv2 = maxsubdiv*maxsubdiv; - if(verbose>1) _printLine_(" Limit the subdivision of a edges in the new mesh by " << maxsubdiv); + if(verbose>1) _printString_(" Limit the subdivision of a edges in the new mesh by " << maxsubdiv << "\n"); // for all the edges // if the len of the edge is to long long it,nbchange=0; @@ -3168,7 +3168,7 @@ } } if(verbose>3){ - _printLine_(" number of metric changes = " << nbchange << ", maximum number of subdivision of a edges before change = " << pow(lmax,0.5)); + _printString_(" number of metric changes = " << nbchange << ", maximum number of subdivision of a edges before change = " << pow(lmax,0.5) << "\n"); } } /*}}}*/ @@ -3222,7 +3222,7 @@ /*First, insert old points if requested*/ if (KeepVertices && (&Bh != this) && (nbv+Bh.nbv< maxnbv)){ - if (verbose>5) _printLine_(" Inserting initial mesh points"); + if (verbose>5) _printString_(" Inserting initial mesh points" << "\n"); for (i=0;i5) _printLine_(" Big loop"); + if (verbose>5) _printString_(" Big loop" << "\n"); do { /*Update variables*/ iter++; @@ -3472,7 +3472,7 @@ // find extrema coordinates of vertices pmin,pmax long i; - if(verbose>2) _printLine_(" Reconstruct mesh of " << nbv << " vertices"); + if(verbose>2) _printString_(" Reconstruct mesh of " << nbv << " vertices" << "\n"); //initialize orderedvertices _assert_(orderedvertices); @@ -3529,12 +3529,12 @@ //Display info if required if(verbose>5) { - _printLine_(" info of Mesh:"); - _printLine_(" - number of vertices = " << nbv << " "); - _printLine_(" - number of triangles = " << nbt << " "); - _printLine_(" - number of given edges = " << nbe << " "); - _printLine_(" - number of all edges = " << edge4->nb()); - _printLine_(" - Euler number 1 - nb of holes = " << nbt-edge4->nb()+nbv); + _printString_(" info of Mesh:" << "\n"); + _printString_(" - number of vertices = " << nbv << " " << "\n"); + _printString_(" - number of triangles = " << nbt << " " << "\n"); + _printString_(" - number of given edges = " << nbe << " " << "\n"); + _printString_(" - number of all edges = " << edge4->nb() << "\n"); + _printString_(" - Euler number 1 - nb of holes = " << nbt-edge4->nb()+nbv << "\n"); } //check the consistency of edge[].adj and the geometrical required vertex @@ -3551,10 +3551,10 @@ k=k+1; if (k<10) { //print only 10 edges - _printLine_("Lost boundary edges " << i << " : " << edge4->i(i) << " " << edge4->j(i)); + _printString_("Lost boundary edges " << i << " : " << edge4->i(i) << " " << edge4->j(i) << "\n"); } else if (k==10){ - _printLine_("Other lost boundary edges not shown..."); + _printString_("Other lost boundary edges not shown..." << "\n"); } } } @@ -3742,16 +3742,16 @@ /*The edge is on Geometry and does not have 2 adjacent edges... (not on a closed curve)*/ /*Check that the 2 vertices are on geometry AND required*/ if(!edges[i][j].GeomEdgeHook->IsRequiredVertex()){ - _printLine_("ReconstructExistingMesh error message: problem with the edge number " << i+1 << ": [" << GetId(edges[i][0])+1 << " " << GetId(edges[i][1])+1 << "]"); - _printLine_("This edge is on geometrical edge number " << Gh.GetId(edges[i].GeomEdgeHook)+1); + _printString_("ReconstructExistingMesh error message: problem with the edge number " << i+1 << ": [" << GetId(edges[i][0])+1 << " " << GetId(edges[i][1])+1 << "]" << "\n"); + _printString_("This edge is on geometrical edge number " << Gh.GetId(edges[i].GeomEdgeHook)+1 << "\n"); if (edges[i][j].GeomEdgeHook->OnGeomVertex()) - _printLine_("the vertex number " << GetId(edges[i][j])+1 << " of this edge is a geometric BamgVertex number " << Gh.GetId(edges[i][j].GeomEdgeHook->gv)+1); + _printString_("the vertex number " << GetId(edges[i][j])+1 << " of this edge is a geometric BamgVertex number " << Gh.GetId(edges[i][j].GeomEdgeHook->gv)+1 << "\n"); else if (edges[i][j].GeomEdgeHook->OnGeomEdge()) - _printLine_("the vertex number " << GetId(edges[i][j])+1 << " of this edge is a geometric Edge number " << Gh.GetId(edges[i][j].GeomEdgeHook->ge)+1); + _printString_("the vertex number " << GetId(edges[i][j])+1 << " of this edge is a geometric Edge number " << Gh.GetId(edges[i][j].GeomEdgeHook->ge)+1 << "\n"); else - _printLine_("Its pointer is " << edges[i][j].GeomEdgeHook); + _printString_("Its pointer is " << edges[i][j].GeomEdgeHook << "\n"); - _printLine_("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required"); + _printString_("This edge is on geometry and has no adjacent edge (open curve) and one of the tip is not required" << "\n"); _error_("See above (might be cryptic...)"); } } @@ -3839,15 +3839,15 @@ BamgVertex * ve = vertices+nbv; long it,ie,i; - _printLine_("renumbering triangles"); + _printString_("renumbering triangles" << "\n"); for ( it=0;it2) _printLine_(" SmoothingVertex: nb Iteration = " << nbiter << ", Omega=" << omega); + if(verbose>2) _printString_(" SmoothingVertex: nb Iteration = " << nbiter << ", Omega=" << omega << "\n"); for (k=0;k3) _printLine_(" move max = " << pow(delta,0.5) << ", iteration = " << k << ", nb of swap = " << NbSwap); + if (verbose>3) _printString_(" move max = " << pow(delta,0.5) << ", iteration = " << k << ", nb of swap = " << NbSwap << "\n"); } delete [] tstart; @@ -4123,7 +4123,7 @@ long int verbose=0; if(raisonmax<1.1) return; - if(verbose > 1) _printLine_(" Mesh::SmoothMetric raisonmax = " << raisonmax); + if(verbose > 1) _printString_(" Mesh::SmoothMetric raisonmax = " << raisonmax << "\n"); CreateSingleVertexToTriangleConnectivity(); long i,j,kch,kk,ip; long *first_np_or_next_t0 = new long[nbv]; @@ -4189,7 +4189,7 @@ Head1 = -1; Exchange(first_np_or_next_t0,first_np_or_next_t1); } - if(verbose>2) _printLine_(" number of iterations = " << kch); + if(verbose>2) _printString_(" number of iterations = " << kch << "\n"); delete [] first_np_or_next_t0; delete [] first_np_or_next_t1; } @@ -4377,7 +4377,7 @@ if (t.link && ( (aa=Area2( A.r , t[1].r , t[2].r )) < 0.0 || (bb=Area2( t[0].r , A.r , t[2].r )) < 0.0 || (cc=Area2( t[0].r , t[1].r , A.r )) < 0.0)){ - _printLine_(ke + nbvold << " not in triangle " << i << " In= " << !!t.link << " " << aa << " " << bb << " " << cc << " " << dd); + _printString_(ke + nbvold << " not in triangle " << i << " In= " << !!t.link << " " << aa << " " << bb << " " << cc << " " << dd << "\n"); _error_("Number of triangles with P2 interpolation Problem"); } } @@ -4385,7 +4385,7 @@ if (tt.link && ( (aa=Area2( A.r , tt[1].r , tt[2].r )) < 0 || (bb=Area2( tt[0].r , A.r , tt[2].r )) < 0 || (cc=Area2( tt[0].r , tt[1].r , A.r )) < 0)){ - _printLine_(ke + nbvold << " not in triangle " << ii << " In= " << !!tt.link << " " << aa << " " << bb << " " << cc << " " << dd); + _printString_(ke + nbvold << " not in triangle " << ii << " In= " << !!tt.link << " " << aa << " " << bb << " " << cc << " " << dd << "\n"); _error_("Number of triangles with P2 interpolation Problem"); } } @@ -4678,9 +4678,9 @@ ReconstructExistingMesh(); if (verbose>2){ - _printLine_(" number of quadrilaterals = " << nbq); - _printLine_(" number of triangles = " << nbt-nbtout- nbq*2); - _printLine_(" number of outside triangles = " << nbtout); + _printString_(" number of quadrilaterals = " << nbq << "\n"); + _printString_(" number of triangles = " << nbt-nbtout- nbq*2 << "\n"); + _printString_(" number of outside triangles = " << nbtout << "\n"); } return 0; //ok @@ -4747,7 +4747,7 @@ vi.DirOfSearch =NoDirOfSearch; Triangle *tcvi = TriangleFindFromCoord(vi.i,det3); if (tcvi && !tcvi->link) { - _printLine_("problem inserting point in SplitInternalEdgeWithBorderVertices (tcvj && !tcvj->link)"); + _printString_("problem inserting point in SplitInternalEdgeWithBorderVertices (tcvj && !tcvj->link)" << "\n"); } quadtree->Add(vi); @@ -4759,13 +4759,13 @@ iv++; } if (verbose>3) { - _printLine_(" number of points: " << iv); - _printLine_(" number of swap to split internal edges with border vertices: " << NbSwap); + _printString_(" number of points: " << iv << "\n"); + _printString_(" number of swap to split internal edges with border vertices: " << NbSwap << "\n"); nbv = iv; } } - if (NbSplitEdge>nbv-nbvold) _printLine_("WARNING: not enough vertices to split all internal edges, we lost " << NbSplitEdge - ( nbv-nbvold) << " edges..."); - if (verbose>2) _printLine_("SplitInternalEdgeWithBorderVertices: Number of splited edge " << NbSplitEdge); + if (NbSplitEdge>nbv-nbvold) _printString_("WARNING: not enough vertices to split all internal edges, we lost " << NbSplitEdge - ( nbv-nbvold) << " edges..." << "\n"); + if (verbose>2) _printString_("SplitInternalEdgeWithBorderVertices: Number of splited edge " << NbSplitEdge << "\n"); return NbSplitEdge; } @@ -4935,7 +4935,7 @@ nbv=nods; //Vertices - if(verbose) _printLine_("Reading vertices (" << nbv << ")"); + if(verbose) _printString_("Reading vertices (" << nbv << ")" << "\n"); for (i=0;i4) _printLine_(" -- current number of vertices = " << nbv); - if (verbose>3) _printLine_(" Creating initial Constrained Delaunay Triangulation..."); - if (verbose>3) _printLine_(" Inserting boundary points"); + if (verbose>4) _printString_(" -- current number of vertices = " << nbv << "\n"); + if (verbose>3) _printString_(" Creating initial Constrained Delaunay Triangulation..." << "\n"); + if (verbose>3) _printString_(" Inserting boundary points" << "\n"); Insert(); //Force the boundary - if (verbose>3) _printLine_(" Forcing boundaries"); + if (verbose>3) _printString_(" Forcing boundaries" << "\n"); ForceBoundary(); //Extract SubDomains - if (verbose>3) _printLine_(" Extracting subdomains"); + if (verbose>3) _printString_(" Extracting subdomains" << "\n"); FindSubDomain(); - if (verbose>3) _printLine_(" Inserting internal points"); + if (verbose>3) _printString_(" Inserting internal points" << "\n"); NewPoints(*this,bamgopts,0) ; - if (verbose>4) _printLine_(" -- current number of vertices = " << nbv); + if (verbose>4) _printString_(" -- current number of vertices = " << nbv << "\n"); } /*}}}*/ /*FUNCTION Mesh::TriangulateFromGeom1{{{*/ @@ -5365,11 +5365,11 @@ /*Get curve number*/ int nc=ei.GeomEdgeHook->CurveNumber; - //_printLine_("Dealing with curve number " << nc); - //_printLine_("edge on geometry is same as GhCurve? " << (ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge)?"yes":"no"); + //_printString_("Dealing with curve number " << nc << "\n"); + //_printString_("edge on geometry is same as GhCurve? " << (ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge)?"yes":"no" << "\n"); //if(ei.GeomEdgeHook==Gh.curves[nc].FirstEdge || ei.GeomEdgeHook==Gh.curves[nc].LastEdge){ - // _printLine_("Do we have the right extremity? curve first vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].FirstEdge)[Gh.curves[nc].FirstVertexIndex])?"yes":"no"); - // _printLine_("Do we have the right extremity? curve last vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].LastEdge)[Gh.curves[nc].LastVertexIndex])?"yes":"no"); + // _printString_("Do we have the right extremity? curve first vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].FirstEdge)[Gh.curves[nc].FirstVertexIndex])?"yes":"no" << "\n"); + // _printString_("Do we have the right extremity? curve last vertex -> " << ((GeomVertex *)*ei[je].GeomEdgeHook==&(*Gh.curves[nc].LastEdge)[Gh.curves[nc].LastVertexIndex])?"yes":"no" << "\n"); //} //BUG FIX from original bamg /*Check that we are on the same edge and right vertex (0 or 1) */ @@ -5576,22 +5576,22 @@ delete [] bcurve; //Insert points inside existing triangles - if (verbose>4) _printLine_(" -- current number of vertices = " << nbv); - if (verbose>3) _printLine_(" Creating initial Constrained Delaunay Triangulation..."); - if (verbose>3) _printLine_(" Inserting boundary points"); + if (verbose>4) _printString_(" -- current number of vertices = " << nbv << "\n"); + if (verbose>3) _printString_(" Creating initial Constrained Delaunay Triangulation..." << "\n"); + if (verbose>3) _printString_(" Inserting boundary points" << "\n"); Insert(); //Force the boundary - if (verbose>3) _printLine_(" Forcing boundaries"); + if (verbose>3) _printString_(" Forcing boundaries" << "\n"); ForceBoundary(); //Extract SubDomains - if (verbose>3) _printLine_(" Extracting subdomains"); + if (verbose>3) _printString_(" Extracting subdomains" << "\n"); FindSubDomain(); - if (verbose>3) _printLine_(" Inserting internal points"); + if (verbose>3) _printString_(" Inserting internal points" << "\n"); NewPoints(BTh,bamgopts,KeepVertices) ; - if (verbose>4) _printLine_(" -- current number of vertices = " << nbv); + if (verbose>4) _printString_(" -- current number of vertices = " << nbv << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/Exceptions/Exceptions.cpp (revision 15099) @@ -45,12 +45,12 @@ } else{ if(num_procs==1){ - _printLine_("\n??? Error in ==> " << file_name.c_str() << ":" << file_line); - _printLine_(function_name.c_str() << " error message: " << what() << "\n"); + _printString_("\n??? Error in ==> " << file_name.c_str() << ":" << file_line << "\n"); + _printString_(function_name.c_str() << " error message: " << what() << "\n" << "\n"); } else{ - _printLine_("\n[" << my_rank<< "] ??? Error using ==> " << file_name.c_str() << ":" << file_line); - _printLine_( "[" << my_rank << "] " << function_name.c_str() << " error message: " << what() << "\n"); + _printString_("\n[" << my_rank<< "] ??? Error using ==> " << file_name.c_str() << ":" << file_line << "\n"); + _printString_( "[" << my_rank << "] " << function_name.c_str() << " error message: " << what() << "\n" << "\n"); } } return; Index: ../trunk-jpl/src/c/shared/Exceptions/exceptions.h =================================================================== --- ../trunk-jpl/src/c/shared/Exceptions/exceptions.h (revision 15098) +++ ../trunk-jpl/src/c/shared/Exceptions/exceptions.h (revision 15099) @@ -63,11 +63,11 @@ return 0;\ }\ catch (exception& e) {\ - _printLine_("Standard exception: " << e.what() << "\n");\ + _printString_("Standard exception: " << e.what() << "\n" << "\n");\ return 0;\ }\ catch(...){\ - _printLine_("An unexpected error occurred \n");\ + _printString_("An unexpected error occurred \n" << "\n");\ return 0;\ } /*}}}*/ Index: ../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/Numerics/BrentSearch.cpp (revision 15099) @@ -49,13 +49,13 @@ fxmin = (*f)(xmin,optargs); if (xIsNan(fxmin)) _error_("Function evaluation returned NaN"); cout<(fxmax)) _error_("Function evaluation returned NaN"); - if(VerboseControl()) _pprintLine_(" N/A "<(cm_jump) && (xmin==0) && (fxmax/fxmin)(cm_jump) && (xmin==0) && ((fxbest/fxmin)=maxiter){ - if(VerboseControl()) _pprintLine_(" exiting: Maximum number of iterations has been exceeded ('maxiter'=" << maxiter << ")"); + if(VerboseControl()) _pprintString_(" exiting: Maximum number of iterations has been exceeded ('maxiter'=" << maxiter << ")" << "\n"); loop=false; } else if (!xIsNan(cm_jump) && (xmin==0) && ((fxbest/fxmin)(ngaus); *pxwgt =xNew(ngaus); @@ -1137,7 +1137,7 @@ sizeof(wgt19)/sizeof(IssmPDouble), sizeof(wgt20)/sizeof(IssmPDouble)}; - // _pprintLine_("GaussLegendreTria: iord=" << iord); + // _pprintString_("GaussLegendreTria: iord=" << iord << "\n"); /* check to see if Gauss points need to be calculated */ if (iord <= MAX_TRIA_SYM_ORD) { @@ -1197,9 +1197,9 @@ xDelete(xgaus); } - // _pprintLine_("GaussLegendreTria - ngaus=" << *pngaus); + // _pprintString_("GaussLegendreTria - ngaus=" << *pngaus << "\n"); // for (i=0; i<*pngaus; i++) - // _pprintLine_("i=" << i << ": l1gaus=" << (*pl1 )[i] << ",l2gaus=" << (*pl2 )[i] << ",l3gaus=" << (*pl3 )[i]<< ",wgt=" << (*pwgt)[i]<< "\n"); + // _pprintString_("i=" << i << ": l1gaus=" << (*pl1 )[i] << ",l2gaus=" << (*pl2 )[i] << ",l3gaus=" << (*pl3 )[i]<< ",wgt=" << (*pwgt)[i]<< "\n" << "\n"); return; }/*}}}*/ @@ -1395,7 +1395,7 @@ sizeof(wgt5 )/sizeof(IssmPDouble), sizeof(wgt6 )/sizeof(IssmPDouble)}; - // _pprintLine_("GaussLegendreTetra: iord=" << iord); + // _pprintString_("GaussLegendreTetra: iord=" << iord << "\n"); /* check to see if Gauss points need to be calculated */ if (iord <= MAX_TETRA_SYM_ORD) { @@ -1518,7 +1518,7 @@ sizeof(wgt4 )/sizeof(IssmPDouble), sizeof(wgt5 )/sizeof(IssmPDouble)}; - // _pprintLine_("Gauss-Lobatto recurrence coefficients ngaus=" << ngaus); + // _pprintString_("Gauss-Lobatto recurrence coefficients ngaus=" << ngaus << "\n"); *pxgaus =xNew(ngaus); *pxwgt =xNew(ngaus); Index: ../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/Numerics/OptimalSearch.cpp (revision 15099) @@ -46,10 +46,10 @@ fx1= (*f)(x1,optargs); if (xIsNan(fx1)) _error_("Function evaluation returned NaN"); cout<(fx2)) _error_("Function evaluation returned NaN"); if(VerboseControl()) - _pprintLine_(" "<fabs(fx2-fx1)?fabs(fx2-fx1):fabs(x2-x1))); + _pprintString_(" "<fabs(fx2-fx1)?fabs(fx2-fx1):fabs(x2-x1)) << "\n"); //Stop the optimization? if ((fabs(x2-x1)+seps)=maxiter){ - if(VerboseControl()) _pprintLine_(" " << "exiting: Maximum number of iterations has been exceeded - increase 'maxiter'"); + if(VerboseControl()) _pprintString_(" " << "exiting: Maximum number of iterations has been exceeded - increase 'maxiter'" << "\n"); loop=false; } else{ Index: ../trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/LatLong/Ll2xyx.cpp (revision 15099) @@ -113,12 +113,12 @@ if (sgn == 1) { *pdelta= 45; *pslat = 70; - if(flag) _pprintLine_("Info: creating coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)."); + if(flag) _pprintString_("Info: creating coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)." << "\n"); } else if (sgn == -1) { *pdelta= 0; *pslat = 71; - if(flag) _pprintLine_("Info: creating coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)."); + if(flag) _pprintString_("Info: creating coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)." << "\n"); } else _error_("Sign should be either +1 or -1.\n"); Index: ../trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp =================================================================== --- ../trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/LatLong/Xy2llx.cpp (revision 15099) @@ -121,12 +121,12 @@ if (sgn == 1) { *pdelta= 45; *pslat = 70; - if(flag) _pprintLine_("Warning: expecting coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)."); + if(flag) _pprintString_("Warning: expecting coordinates in polar stereographic (Std Latitude: 70N Meridian: 45)." << "\n"); } else if (sgn == -1) { *pdelta= 0; *pslat = 71; - if(flag) _pprintLine_("Warning: expecting coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)."); + if(flag) _pprintString_("Warning: expecting coordinates in polar stereographic (Std Latitude: 71S Meridian: 0)." << "\n"); } else _error_("Sign should be either +1 or -1.\n"); Index: ../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/Matrix/MatrixUtils.cpp (revision 15099) @@ -204,13 +204,13 @@ ipiv=icol; pindx[ipiv]++; - // _printLine_("pivot for i=" << i << ": irow=" << irow << ", icol=" << icol << ", pindx[" << ipiv << "]=" << pindx[ipiv] << "\n"); + // _printString_("pivot for i=" << i << ": irow=" << irow << ", icol=" << icol << ", pindx[" << ipiv << "]=" << pindx[ipiv] << "\n" << "\n"); /* switch rows to put pivot element on diagonal, noting that the column stays the same and the determinant changes sign */ if (irow != icol) { - // _printLine_("row switch for i=" << i << ": irow=" << irow << ", icol=" << icol << "\n"); + // _printString_("row switch for i=" << i << ": irow=" << irow << ", icol=" << icol << "\n" << "\n"); ipt=irow*ndim; jpt=icol*ndim; @@ -291,7 +291,7 @@ irow=pivrc1[j]; icol=pivrc2[j]; - // _printLine_("column switch back for j=" << j << ": irow=" << irow << ", icol=" << icol << "\n"); + // _printString_("column switch back for j=" << j << ": irow=" << irow << ", icol=" << icol << "\n" << "\n"); ipt=0; for (k=0; k(size); - - /* Try to print in the allocated space. */ - va_start(args, format); - n=vsnprintf(buffer,size,format,args); - va_end(args); - - /* If that worked, return the string. */ - if(n>-1 && n-1) /* glibc 2.1 */ - size=n+1; /* precisely what is needed */ - else /* glibc 2.0 */ - size*=2; /* twice the old size */ - - xDelete(buffer); - } - - /*Ok, if we are running in parallel, get node 0 to print*/ - if(my_rank==0)_printString_(buffer); - - /*Clean up and return*/ - xDelete(buffer); - return 1; -} -int PrintfFunction(const string & message){ +int PrintfFunctionOnCpu0(const string & message){ int my_rank; /*recover my_rank:*/ @@ -71,35 +29,18 @@ #ifdef _HAVE_ANDROID_JNI_ __android_log_print(ANDROID_LOG_INFO, "Native",message.c_str()); #else - ApiPrintf("%s\n",message.c_str()); + ApiPrintf("%s",message.c_str()); #endif } return 1; } -int PrintfFunction2(const string & message){ - int my_rank; +int PrintfFunctionOnAllCpus(const string & message){ - /*recover my_rank:*/ - my_rank=IssmComm::GetRank(); - - if(my_rank==0){ - ApiPrintf("%s",message.c_str()); - } - return 1; -} -int PrintfFunction3(const string & message){ - #ifdef _HAVE_ANDROID_JNI_ __android_log_print(ANDROID_LOG_INFO, "Native",message.c_str()); #else - ApiPrintf("%s\n",message.c_str()); + ApiPrintf("%s",message.c_str()); #endif return 1; } -int PrintfFunction4(const string & message){ - - ApiPrintf("%s",message.c_str()); - - return 1; -} Index: ../trunk-jpl/src/c/shared/Elements/PrintArrays.cpp =================================================================== --- ../trunk-jpl/src/c/shared/Elements/PrintArrays.cpp (revision 15098) +++ ../trunk-jpl/src/c/shared/Elements/PrintArrays.cpp (revision 15099) @@ -4,17 +4,17 @@ using namespace std; void printarray(IssmPDouble* array,int lines,int cols){ - _printLine_(""); + _printString_("" << "\n"); for(int i=0;i "< "<styleurl ,"#RandomLineEmptyPoly"); if (pnpart[i] > 0) - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n"); if (pnvert[i] > 1) - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnvert[i] << " > 1 vertices.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnvert[i] << " > 1 vertices.\n" << "\n"); kpoint=new KML_Point(); @@ -463,7 +463,7 @@ else { if (!kpoly) { - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n" << "\n"); continue; } @@ -511,7 +511,7 @@ sprintf(kplace->styleurl ,"#RandomLineEmptyPoly"); if (pnpart[i] > 0) - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n"); /* create a multigeometry to hold all the points */ @@ -554,14 +554,14 @@ /* multipatch types */ else if (pstype[i] == SHPT_MULTIPATCH) { - _printLine_("Warning -- Shape " << i << " of type \"" <=100) _printLine_("\r interpolation progress: "<=100) _printString_("\r interpolation progress: "<(reft); Index: ../trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Reducevectorgtofx/Reducevectorgtofx.cpp (revision 15099) @@ -16,7 +16,7 @@ IssmDouble *ug_serial = NULL; bool oldalloc = false; - if(VerboseModule()) _pprintLine_(" Reduce vector from g to f set"); + if(VerboseModule()) _pprintString_(" Reduce vector from g to f set" << "\n"); /*first figure out fsize: */ parameters->FindParam(&configuration_type,ConfigurationTypeEnum); Index: ../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp (revision 15099) @@ -167,7 +167,7 @@ } } if (debug) - _printLine_("\r interpolation progress: "< *vec_old_floatingice = NULL; Element *element = NULL; - if(VerboseModule()) _pprintLine_(" Migrating grounding line"); + if(VerboseModule()) _pprintString_(" Migrating grounding line" << "\n"); /*retrieve parameters: */ parameters->FindParam(&migration_style,GroundinglineMigrationEnum); @@ -161,7 +161,7 @@ #ifdef _HAVE_MPI_ MPI_Allreduce(&local_nflipped,&nflipped,1,MPI_INT,MPI_SUM,IssmComm::GetComm()); - if(VerboseConvergence()) _pprintLine_(" Additional number of vertices allowed to unground: " << nflipped); + if(VerboseConvergence()) _pprintString_(" Additional number of vertices allowed to unground: " << nflipped << "\n"); #else nflipped=local_nflipped; #endif Index: ../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp (revision 15099) @@ -18,7 +18,7 @@ /*output: */ Vector* solution=NULL; - if(VerboseModule()) _pprintLine_(" Get solution from inputs"); + if(VerboseModule()) _pprintString_(" Get solution from inputs" << "\n"); /*retrive parameters: */ parameters->FindParam(&configuration_type,ConfigurationTypeEnum); Index: ../trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Reduceloadx/Reduceloadx.cpp (revision 15099) @@ -21,7 +21,7 @@ bool fromlocalsize = true; bool oldalloc = false; - if(VerboseModule()) _pprintLine_(" Dirichlet lifting applied to load vector"); + if(VerboseModule()) _pprintString_(" Dirichlet lifting applied to load vector" << "\n"); Kfs->GetSize(&global_m,&global_n); if(pf && global_m*global_n){ Index: ../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/ResetConstraintsx/ResetConstraintsx.cpp (revision 15099) @@ -13,7 +13,7 @@ int analysis_type; /*Display message*/ - if(VerboseModule()) _pprintLine_(" Resetting penalties"); + if(VerboseModule()) _pprintString_(" Resetting penalties" << "\n"); /*recover parameters: */ parameters->FindParam(&analysis_type,AnalysisTypeEnum); Index: ../trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp (revision 15099) @@ -53,7 +53,7 @@ itm = reCast((2*siglim/DT + 1.5)); if (itm >= NPDMAX){ - _printLine_("increase NPDMAX in massBalance.cpp"); + _printString_("increase NPDMAX in massBalance.cpp" << "\n"); exit (1); } for (it = 0; it < itm; it++){ @@ -79,7 +79,7 @@ siglimc = 2.5*signormc ; itm = reCast((PDCUT+2.*siglimc)/DT + 1.5); if (itm >= NPDCMAX){ - _printLine_("'increase NPDCMAX in p35com'"); + _printString_("'increase NPDCMAX in p35com'" << "\n"); exit (1); } for (it = 0; it < itm; it++ ){ Index: ../trunk-jpl/src/c/modules/Chacox/Chacox.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Chacox/Chacox.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Chacox/Chacox.cpp (revision 15099) @@ -62,12 +62,12 @@ double tgoal; if (DEBUG_TRACE > 0) { - _printLine_(""); + _printString_("" << "\n"); } if (PRINT_HEADERS) { - _printLine_("\n Chaco 2.0"); - _printLine_(" Sandia National Laboratories\n"); + _printString_("\n Chaco 2.0" << "\n"); + _printString_(" Sandia National Laboratories\n" << "\n"); } Using_Main = TRUE; @@ -165,7 +165,7 @@ for (i=0; i 0) { - _printLine_(""); + _printString_("" << "\n"); smalloc_stats(); } @@ -173,7 +173,7 @@ fclose(params_file); if (DEBUG_TRACE > 1) { - _printLine_(""); + _printString_("" << "\n"); } return(0); Index: ../trunk-jpl/src/c/modules/Chacox/input_parse.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Chacox/input_parse.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Chacox/input_parse.cpp (revision 15099) @@ -36,15 +36,15 @@ int eigensolver; /* which kind of eigensolver to use */ if (DEBUG_TRACE > 0) { - _printLine_(""); + _printString_("" << "\n"); } if (PROMPT) { - _printLine_("Parallel machine architecture:"); - _printLine_(" (0) Hypercube"); - _printLine_(" (1) One-dimensional mesh"); - _printLine_(" (2) Two-dimensional mesh"); - _printLine_(" (3) Three-dimensional mesh"); + _printString_("Parallel machine architecture:" << "\n"); + _printString_(" (0) Hypercube" << "\n"); + _printString_(" (1) One-dimensional mesh" << "\n"); + _printString_(" (2) Two-dimensional mesh" << "\n"); + _printString_(" (3) Three-dimensional mesh" << "\n"); } *architecture = (int)options[OPT_ARCH]; if (*architecture < 0 || *architecture > 3) { @@ -72,14 +72,14 @@ } else { if (PROMPT) { - _printLine_("Global partitioning method:"); - _printLine_(" (1) Multilevel-KL"); - _printLine_(" (2) Spectral"); - _printLine_(" (3) Inertial"); - _printLine_(" (4) Linear"); - _printLine_(" (5) Random"); - _printLine_(" (6) Scattered"); - _printLine_(" (7) Read-from-file"); + _printString_("Global partitioning method:" << "\n"); + _printString_(" (1) Multilevel-KL" << "\n"); + _printString_(" (2) Spectral" << "\n"); + _printString_(" (3) Inertial" << "\n"); + _printString_(" (4) Linear" << "\n"); + _printString_(" (5) Random" << "\n"); + _printString_(" (6) Scattered" << "\n"); + _printString_(" (7) Read-from-file" << "\n"); } *global_method = (int)options[OPT_GLOBAL]; if (*global_method < 1 || *global_method > 7) { @@ -100,9 +100,9 @@ else if (*global_method == 2) { if (PROMPT) { - _printLine_("Eigensolver:"); - _printLine_(" (1) Multilevel RQI/Symmlq"); - _printLine_(" (2) Lanczos"); + _printString_("Eigensolver:" << "\n"); + _printString_(" (1) Multilevel RQI/Symmlq" << "\n"); + _printString_(" (2) Lanczos" << "\n"); } eigensolver = (int)options[OPT_RQI]; if (eigensolver < 0 || eigensolver > 2) { @@ -161,9 +161,9 @@ *local_method = 1; else { if (PROMPT) { - _printLine_("Local refinement method:"); - _printLine_(" (1) Kernighan-Lin"); - _printLine_(" (2) None"); + _printString_("Local refinement method:" << "\n"); + _printString_(" (1) Kernighan-Lin" << "\n"); + _printString_(" (2) None" << "\n"); } *local_method = (int)options[OPT_LOCAL]; if (*local_method < 1 || *local_method > 2) { @@ -180,7 +180,7 @@ _printString_("Total number of target hypercube dimensions: "); *ndims_tot = nparts[0]; if (*ndims_tot < 1) { - _printLine_(" Number of divisions must be at least 1"); + _printString_(" Number of divisions must be at least 1" << "\n"); printf("%s -- Number of divisions %d must be at least 1.\n", __FUNCT__,nparts[0]); return(-1); @@ -219,9 +219,9 @@ } else if (*nprocs <= 7) { if (PROMPT) { - _printLine_("Partitioning dimension: "); - _printLine_(" (1) Bisection"); - _printLine_(" (2) Quadrisection"); + _printString_("Partitioning dimension: " << "\n"); + _printString_(" (1) Bisection" << "\n"); + _printString_(" (2) Quadrisection" << "\n"); } *ndims = (int)options[OPT_NDIMS]; if (*ndims < 1 || *ndims > 2) { @@ -231,10 +231,10 @@ } else { if (PROMPT) { - _printLine_("Partitioning dimension: "); - _printLine_(" (1) Bisection"); - _printLine_(" (2) Quadrisection"); - _printLine_(" (3) Octasection"); + _printString_("Partitioning dimension: " << "\n"); + _printString_(" (1) Bisection" << "\n"); + _printString_(" (2) Quadrisection" << "\n"); + _printString_(" (3) Octasection" << "\n"); } *ndims = (int)options[OPT_NDIMS]; if (*ndims < 1 || *ndims > 3) { Index: ../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Exp2Kmlx/Exp2Kmlx.cpp (revision 15099) @@ -52,9 +52,9 @@ if (!ExpRead(&nprof,&pnvert,&pprofx,&pprofy,&closed,filexp)) _error_("Error reading exp file."); - _pprintLine_("Exp2Kmlx -- Reading " << nprof << " exp profiles from file \"" << filexp << "\"."); + _pprintString_("Exp2Kmlx -- Reading " << nprof << " exp profiles from file \"" << filexp << "\"." << "\n"); // for (i=0; i\n"); kfile->Write(fid,indent); @@ -286,7 +286,7 @@ clock1=clock(); time1 =time(NULL); - _printLine_("Exp2Kmlx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <\n"); kfile->Write(fid,indent); @@ -86,7 +86,7 @@ clock1=clock(); time1 =time(NULL); - _printLine_("KMLOverlayx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n"); + _printString_("KMLOverlayx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n"); return; } Index: ../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Krigingx/Krigingx.cpp (revision 15099) @@ -82,10 +82,10 @@ observations->ObservationList(&x,&y,&data,&nobs); - _printLine_("Generation Delaunay Triangulation"); + _printString_("Generation Delaunay Triangulation" << "\n"); BamgTriangulatex(&index,&nel,x,y,nobs); - _printLine_("Interpolating"); + _printString_("Interpolating" << "\n"); xDelete(predictions); InterpFromMeshToMesh2dx(&predictions,index,x,y,nobs,nel,data,nobs,1,x_interp,y_interp,n_interp,options); xDelete(x); @@ -109,7 +109,7 @@ /*launch the thread manager with Krigingxt as a core: */ LaunchThread(NearestNeighbort,(void*)&gate,num); - _printLine_("\r interpolation progress: "<(gate.numdone); } else if(strcmp(output,"idw")==0){ //Inverse distance weighting @@ -131,7 +131,7 @@ /*launch the thread manager with Krigingxt as a core: */ LaunchThread(idwt,(void*)&gate,num); - _printLine_("\r interpolation progress: "<(gate.numdone); } else if(strcmp(output,"v4")==0){ //Inverse distance weighting @@ -153,7 +153,7 @@ /*launch the thread manager with Krigingxt as a core: */ LaunchThread(v4t,(void*)&gate,num); - _printLine_("\r interpolation progress: "<(gate.numdone); } else if(strcmp(output,"prediction")==0){ @@ -176,7 +176,7 @@ /*launch the thread manager with Krigingxt as a core: */ LaunchThread(Krigingxt,(void*)&gate,num); - _printLine_("\r interpolation progress: "<(gate.numdone); } else{ Index: ../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Krigingx/pKrigingx.cpp (revision 15099) @@ -67,10 +67,10 @@ /*partition loop across threads: */ for(int idx=my_rank;idxInterpolationKriging(&predictions[idx],&error[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata,variogram); } - _pprintLine_(" interpolation progress: "<(n_interp); @@ -85,10 +85,10 @@ /*partition loop across threads: */ for(int idx=my_rank;idxInterpolationV4(&predictions[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata); } - _pprintLine_(" interpolation progress: "<(n_interp); @@ -100,10 +100,10 @@ /*partition loop across threads: */ for(int idx=my_rank;idxInterpolationNearestNeighbor(&predictions[idx],x_interp[idx],y_interp[idx],radius); } - _pprintLine_(" interpolation progress: "<(n_interp); @@ -117,10 +117,10 @@ /*partition loop across threads: */ for(int idx=my_rank;idxInterpolationIDW(&predictions[idx],x_interp[idx],y_interp[idx],radius,mindata,maxdata,power); } - _pprintLine_(" interpolation progress: "<(n_interp); @@ -141,9 +141,9 @@ *perror = error; MPI_Barrier(MPI_COMM_WORLD); finish=MPI_Wtime( ); - _printLine_("\n " << setw(34) << left << "Observation fitering elapsed time: " << finish_init-start_init << " seconds \n"); - _printLine_(" " << setw(34) << left << "Kriging prediction elapsed time: " << finish_core-start_core << " seconds \n"); - _printLine_("\n " << "Total elapsed time " << int((finish-start)/3600) << " hrs " << int(int(finish-start)%3600/60) << " min " << int(finish-start)%60 << " sec\n\n"); + _printString_("\n " << setw(34) << left << "Observation fitering elapsed time: " << finish_init-start_init << " seconds \n" << "\n"); + _printString_(" " << setw(34) << left << "Kriging prediction elapsed time: " << finish_core-start_core << " seconds \n" << "\n"); + _printString_("\n " << "Total elapsed time " << int((finish-start)/3600) << " hrs " << int(int(finish-start)%3600/60) << " min " << int(finish-start)%60 << " sec\n\n" << "\n"); return 1; #else _error_("MPI not available"); Index: ../trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/ConfigureObjectsx/ConfigureObjectsx.cpp (revision 15099) @@ -22,19 +22,19 @@ /*Get analysis type: */ parameters->FindParam(&configuration_type,ConfigurationTypeEnum); - if(VerboseMProcessor()) _pprintLine_(" Configuring elements..."); + if(VerboseMProcessor()) _pprintString_(" Configuring elements..." << "\n"); for (i=0;iSize();i++){ element=dynamic_cast(elements->GetObjectByOffset(i)); element->Configure(elements,loads,nodes,vertices,materials,parameters); } - if(VerboseMProcessor()) _pprintLine_(" Configuring loads..."); + if(VerboseMProcessor()) _pprintString_(" Configuring loads..." << "\n"); for (i=0;iSize();i++){ load=(Load*)loads->GetObjectByOffset(i); if (load->InAnalysis(configuration_type)){ load->Configure(elements,loads,nodes,vertices,materials,parameters); } } - if(VerboseMProcessor()) _pprintLine_(" Configuring nodes..."); + if(VerboseMProcessor()) _pprintString_(" Configuring nodes..." << "\n"); for (i=0;iSize();i++){ node=(Node*)nodes->GetObjectByOffset(i); if(node->InAnalysis(configuration_type)){ @@ -42,7 +42,7 @@ } } - if(VerboseMProcessor()) _pprintLine_(" Configuring materials..."); + if(VerboseMProcessor()) _pprintString_(" Configuring materials..." << "\n"); for (i=0;iSize();i++){ material=(Material*)materials->GetObjectByOffset(i); material->Configure(elements); Index: ../trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp (revision 15099) @@ -40,7 +40,7 @@ SetVerbosityLevel(verbose); - if(VerboseMProcessor()) _pprintLine_(" starting model processor "); + if(VerboseMProcessor()) _pprintString_(" starting model processor " << "\n"); for(i=0;iFindParam(&min_mechanical_constraints,DiagnosticRiftPenaltyThresholdEnum); Index: ../trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/ConstraintsStatex/RiftConstraintsState.cpp (revision 15099) @@ -50,7 +50,7 @@ num_unstable_constraints=0; } else if(num_unstable_constraints<=min_mechanical_constraints){ - if(VerboseModule()) _pprintLine_(" freezing constraints"); + if(VerboseModule()) _pprintString_(" freezing constraints" << "\n"); RiftFreezeConstraints(loads,configuration_type); } Index: ../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp (revision 15099) @@ -131,7 +131,7 @@ } } if (debug) - _printLine_("\r interpolation progress: "< *uf=NULL; - if(VerboseModule()) _pprintLine_(" Solving matrix system"); + if(VerboseModule()) _pprintString_(" Solving matrix system" << "\n"); /*Initialize solver: */ solver=new Solver(Kff,pf,uf0,df,parameters); Index: ../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp (revision 15099) @@ -86,7 +86,7 @@ /*launch the thread manager with InterpFromGridToMeshxt as a core: */ LaunchThread(InterpFromGridToMeshxt,(void*)&gate,num); - _printLine_("\r interpolation progress: "<(data_value)) data_value=default_value; Index: ../trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp (revision 15099) @@ -39,24 +39,24 @@ // kfil->DeepEcho(); } -// _pprintLine_(kstr); +// _pprintString_(kstr << "\n"); xDelete(kstr); } if (kxml) { - _pprintLine_("XML declaration:"); + _pprintString_("XML declaration:" << "\n"); kxml->DeepEcho(" "); delete kxml; } if (kdtd) { - _pprintLine_("DTD declaration (not yet implemented):"); + _pprintString_("DTD declaration (not yet implemented):" << "\n"); kdtd->DeepEcho(" "); delete kdtd; } clock1=clock(); time1 =time(NULL); - _printLine_("KMLFileReadx Module -- " <<((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " <FindParam(&configuration_type,ConfigurationTypeEnum); Index: ../trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp (revision 15099) @@ -9,7 +9,7 @@ void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,bool constant, int name){ int i; - if(VerboseModule()) _pprintLine_(" Input updates from constant"); + if(VerboseModule()) _pprintString_(" Input updates from constant" << "\n"); /*Elements and loads drive the update: */ for(i=0;iSize();i++){ @@ -30,7 +30,7 @@ void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,int constant, int name){ int i; - if(VerboseModule()) _pprintLine_(" Input updates from constant"); + if(VerboseModule()) _pprintString_(" Input updates from constant" << "\n"); /*Elements and loads drive the update: */ for(i=0;iSize();i++){ @@ -51,7 +51,7 @@ void InputUpdateFromConstantx( Elements* elements,Nodes* nodes, Vertices* vertices, Loads* loads, Materials* materials, Parameters* parameters,IssmDouble constant, int name){ int i; - if(VerboseModule()) _pprintLine_(" Input updates from constant"); + if(VerboseModule()) _pprintString_(" Input updates from constant" << "\n"); /*Elements and loads drive the update: */ for(i=0;iSize();i++){ Index: ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Bamgx/Bamgx.cpp (revision 15099) @@ -39,8 +39,8 @@ /*Mesh generation {{{*/ //Step1: generate geometry Gh - if (verbosity>0) _printLine_("Construction of a mesh from a given geometry"); - if (verbosity>1) _printLine_(" Processing geometry..."); + if (verbosity>0) _printString_("Construction of a mesh from a given geometry" << "\n"); + if (verbosity>1) _printString_(" Processing geometry..." << "\n"); Geometry Gh(bamggeom_in,bamgopts); //get hmin and hmax from geometry to generate the metric @@ -48,7 +48,7 @@ bamgopts->hmax = Min(bamgopts->hmax,Gh.MaximalHmax()); //build metric using geometry - if (verbosity>1) _printLine_(" Generating Metric..."); + if (verbosity>1) _printString_(" Generating Metric..." << "\n"); for(i=0;i1) _printLine_(" Generating Mesh..."); + if (verbosity>1) _printString_(" Generating Mesh..." << "\n"); Mesh Th(maxnbv,Gh,bamgopts); //Split corners if requested @@ -71,9 +71,9 @@ if(bamgopts->Crack) Th.CrackMesh(bamgopts); //Build output - if (verbosity>1) _printLine_(" Write Mesh..."); + if (verbosity>1) _printString_(" Write Mesh..." << "\n"); Th.WriteMesh(bamgmesh_out,bamgopts); - if (verbosity>1) _printLine_(" Write Geometry..."); + if (verbosity>1) _printString_(" Write Geometry..." << "\n"); Gh.WriteGeometry(bamggeom_out,bamgopts); //clean up @@ -85,8 +85,8 @@ /*Anisotropic mesh adaptation {{{*/ // read background mesh - if (verbosity>0) _printLine_("Anisotropic mesh adaptation"); - if (verbosity>1) _printLine_(" Processing initial mesh and geometry..."); + if (verbosity>0) _printString_("Anisotropic mesh adaptation" << "\n"); + if (verbosity>1) _printString_(" Processing initial mesh and geometry..." << "\n"); Mesh BTh(bamggeom_in,bamgmesh_in,bamgopts); //Make Quadtree from background mesh @@ -98,24 +98,24 @@ //Generate initial metric if (bamgopts->metric){ - if (verbosity>1) _printLine_(" Processing Metric..."); + if (verbosity>1) _printString_(" Processing Metric..." << "\n"); BTh.ReadMetric(bamgopts); } else { - if (verbosity>1) _printLine_(" Generating initial Metric..."); + if (verbosity>1) _printString_(" Generating initial Metric..." << "\n"); Metric Mhmax(bamgopts->hmax); for (int iv=0;ivfield){ - if (verbosity>1) _printLine_(" Merge metric with field provided..."); + if (verbosity>1) _printString_(" Merge metric with field provided..." << "\n"); BTh.AddMetric(bamgopts); } // change using hVertices if provided if(bamgopts->hVertices && bamgopts->hVerticesSize[0]==BTh.nbv){ - if (verbosity>1) _printLine_(" Merging Metric with hVertices..."); + if (verbosity>1) _printString_(" Merging Metric with hVertices..." << "\n"); for (i=0;i(bamgopts->hVertices[i])){ BTh[i].m=Metric((float)bamgopts->hVertices[i]); @@ -125,7 +125,7 @@ // change using hminVertices if provided if (bamgopts->hminVertices){ - if (verbosity>1) _printLine_(" Merging Metric with hminVertices..."); + if (verbosity>1) _printString_(" Merging Metric with hminVertices..." << "\n"); for (i=0;i(bamgopts->hminVertices[i])){ Metric M=BTh.vertices[i].m; @@ -138,7 +138,7 @@ // change using hmaxVertices if provided if (bamgopts->hmaxVertices){ - if (verbosity>1) _printLine_(" Merging Metric with hmaxVertices..."); + if (verbosity>1) _printString_(" Merging Metric with hmaxVertices..." << "\n"); for (i=0;i(bamgopts->hmaxVertices[i])){ Metric M=BTh.vertices[i].m; @@ -162,7 +162,7 @@ BTh.BoundAnisotropy(bamgopts->anisomax,hminaniso); //Build new mesh - if (verbosity>1) _printLine_(" Generating Mesh..."); + if (verbosity>1) _printString_(" Generating Mesh..." << "\n"); Thr=&BTh,Thb=0; Mesh & Th( *(0 ? new Mesh(*Thr,&Thr->Gh,Thb,maxnbv) : new Mesh(maxnbv,BTh,bamgopts,bamgopts->KeepVertices))); if (Thr != &BTh) delete Thr; @@ -183,19 +183,19 @@ //display info if(verbosity>0) { if (Th.nbt-Th.nbtout-Th.nbq*2){ - _printLine_(" new number of triangles = " << (Th.nbt-Th.nbtout-Th.nbq*2)); + _printString_(" new number of triangles = " << (Th.nbt-Th.nbtout-Th.nbq*2) << "\n"); } if (Th.nbq ){ - _printLine_(" new number of quads = " << Th.nbq); + _printString_(" new number of quads = " << Th.nbq << "\n"); } } //Build output - if (verbosity>1) _printLine_(" Write Mesh..."); + if (verbosity>1) _printString_(" Write Mesh..." << "\n"); Th.WriteMesh(bamgmesh_out,bamgopts); - if (verbosity>1) _printLine_(" Write Geometry..."); + if (verbosity>1) _printString_(" Write Geometry..." << "\n"); Th.Gh.WriteGeometry(bamggeom_out,bamgopts); - if (verbosity>1) _printLine_(" Write Metric..."); + if (verbosity>1) _printString_(" Write Metric..." << "\n"); BTh.WriteMetric(bamgopts); /*clean up*/ @@ -205,7 +205,7 @@ } /*No error return*/ - if (verbosity>1) _printLine_(" Exiting Bamg."); + if (verbosity>1) _printString_(" Exiting Bamg." << "\n"); return noerr; } Index: ../trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp (revision 15099) @@ -16,7 +16,7 @@ int ssize; int slocalsize; - if(VerboseModule()) _pprintLine_(" Create nodal constraints"); + if(VerboseModule()) _pprintString_(" Create nodal constraints" << "\n"); /*figure out how many dofs we have: */ ssize=nodes->NumberOfDofs(configuration_type,SsetEnum); Index: ../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp =================================================================== --- ../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp (revision 15099) @@ -79,7 +79,7 @@ (kdoc->style )->AddObject((Object*)kstyle); if (cmap) { - _pprintLine_("Writing " << mcmap << " Matlab colors as KML style templates."); + _pprintString_("Writing " << mcmap << " Matlab colors as KML style templates." << "\n"); ipt=0; for (i=0; i(mncon*nncon); ncfree=true; @@ -145,7 +145,7 @@ edata=data; else if (mdata == mncon) { - _pprintLine_("Averaging nodal data to element data."); + _pprintString_("Averaging nodal data to element data." << "\n"); edata=xNewZeroInit(melem*ndata); edfree=true; @@ -184,28 +184,28 @@ if(ncfree) xDelete(nodecon); clock0a=clock(); time0a =time(NULL); - _printLine_(" Constructed kml document -- " << ((double)(clock0a-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0a,time0) << " elapsed seconds.\n\n"); + _printString_(" Constructed kml document -- " << ((double)(clock0a-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0a,time0) << " elapsed seconds.\n\n" << "\n"); /* write kml file */ - _pprintLine_("Writing kml document to file."); + _pprintString_("Writing kml document to file." << "\n"); fprintf(fid,"\n"); fprintf(fid,"\n"); kdoc->Write(fid,indent); fprintf(fid,"\n"); clock0b=clock(); time0b =time(NULL); - _printLine_(" Wrote kml file -- " << ((double)(clock0b-clock0a))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0b,time0a) << " elapsed seconds.\n\n"); + _printString_(" Wrote kml file -- " << ((double)(clock0b-clock0a))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0b,time0a) << " elapsed seconds.\n\n" << "\n"); - _pprintLine_("Deleting kml document."); + _pprintString_("Deleting kml document." << "\n"); delete kdoc; clock0c=clock(); time0c =time(NULL); - _printLine_(" Deleted kml document -- " << ((double)(clock0c-clock0b))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0c,time0b) << " elapsed seconds.\n\n"); + _printString_(" Deleted kml document -- " << ((double)(clock0c-clock0b))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time0c,time0b) << " elapsed seconds.\n\n" << "\n"); clock1=clock(); time1 =time(NULL); - _printLine_("KMLMeshWritex Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n"); + _printString_("KMLMeshWritex Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n"); return; } @@ -296,7 +296,7 @@ /* write each element as a polygon placemark */ - _pprintLine_("Writing " << melem << " tria elements as KML polygons."); + _pprintString_("Writing " << melem << " tria elements as KML polygons." << "\n"); for (i=0; ifeature )->AddObject((Object*)kplace); // if (!(int)fmod((double)(i+1),1000)) -// _pprintLine_(" " << (i+1) << " tria elements written."); +// _pprintString_(" " << (i+1) << " tria elements written." << "\n"); } - _pprintLine_(" " << melem << " tria elements written."); + _pprintString_(" " << melem << " tria elements written." << "\n"); return(kfold); } Index: ../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/Shp2Kmlx/Shp2Kmlx.cpp (revision 15099) @@ -282,9 +282,9 @@ sprintf(kplace->styleurl ,"#RandomLineEmptyPoly"); if (pnpart[i] > 0) - _printLine_("Warning -- Shape "<< i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n"); + _printString_("Warning -- Shape "<< i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n"); if (pnvert[i] > 1) - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 1 vertices.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 1 vertices.\n" << "\n"); kpoint=new KML_Point(); @@ -451,7 +451,7 @@ else { if (!kpoly) { - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\", part " << j << ", expected to be outer loop (cw).\n" << "\n"); continue; } @@ -499,7 +499,7 @@ sprintf(kplace->styleurl ,"#RandomLineEmptyPoly"); if (pnpart[i] > 0) - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" should not have " << pnpart[i] << " > 0 parts.\n" << "\n"); /* create a multigeometry to hold all the points */ @@ -542,14 +542,14 @@ /* multipatch types */ else if (pstype[i] == SHPT_MULTIPATCH) { - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n"); continue; } /* unknown type */ else { - _printLine_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n"); + _printString_("Warning -- Shape " << i << " of type \"" << SHPTypeName( pstype[i] ) << "\" will be ignored.\n" << "\n"); } } @@ -562,7 +562,7 @@ /* write kml file */ - _pprintLine_("Writing kml document to file."); + _pprintString_("Writing kml document to file." << "\n"); fid=fopen(filkml,"w"); fprintf(fid,"\n"); kfile->Write(fid,indent); @@ -591,7 +591,7 @@ clock1=clock(); time1 =time(NULL); - _printLine_("Shp2Kmlx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n"); + _printString_("Shp2Kmlx Module -- " << ((double)(clock1-clock0))/CLOCKS_PER_SEC << " CPU seconds; " << difftime(time1,time0) << " elapsed seconds.\n\n" << "\n"); return(iret); Index: ../trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp =================================================================== --- ../trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp (revision 15098) +++ ../trunk-jpl/src/c/modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp (revision 15099) @@ -69,7 +69,7 @@ } } if (my_thread==0) - _printLine_("\r loop progress: "<(already); Index: ../trunk-jpl/src/c/solutionsequences/convergence.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/convergence.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/convergence.cpp (revision 15099) @@ -29,7 +29,7 @@ IssmDouble eps_abs; IssmDouble yts; - if(VerboseModule()) _pprintLine_(" checking convergence"); + if(VerboseModule()) _pprintString_(" checking convergence" << "\n"); /*If uf is NULL in input, f-set is nil, model is fully constrained, therefore converged from * the get go: */ @@ -55,7 +55,7 @@ nKUF=KUF->Norm(NORM_TWO); nF=pf->Norm(NORM_TWO); solver_residue=nKUF/nF; - _pprintLine_("\n" << " solver residue: norm(KU-F)/norm(F)=" << solver_residue); + _pprintString_("\n" << " solver residue: norm(KU-F)/norm(F)=" << solver_residue << "\n"); //clean up delete KU; @@ -72,7 +72,7 @@ nF=pf->Norm(NORM_TWO); res=nKUoldF/nF; if (xIsNan(res)){ - _pprintLine_("norm nf = " << nF << "f and norm kuold = " << nKUoldF << "f"); + _pprintString_("norm nf = " << nF << "f and norm kuold = " << nKUoldF << "f" << "\n"); _error_("mechanical equilibrium convergence criterion is NaN!"); } @@ -82,11 +82,11 @@ //print if(res "< "<(eps_rel)){ if((ndu/nu) " << eps_rel*100 << " %"); + if(VerboseConvergence()) _pprintString_(setw(50) << left << " Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " > " << eps_rel*100 << " %" << "\n"); converged=false; } } - else _pprintLine_(setw(50) << left << " Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " %"); + else _pprintString_(setw(50) << left << " Convergence criterion: norm(du)/norm(u)" << ndu/nu*100 << " %" << "\n"); } @@ -130,14 +130,14 @@ //print if (!xIsNan(eps_abs)){ if ((nduinf*yts) " << eps_abs << " m/yr"); + if(VerboseConvergence()) _pprintString_(setw(50) << left << " Convergence criterion: max(du)" << nduinf*yts << " > " << eps_abs << " m/yr" << "\n"); converged=false; } } - else _pprintLine_(setw(50) << left << " Convergence criterion: max(du)" << nduinf*yts << " m/yr"); + else _pprintString_(setw(50) << left << " Convergence criterion: max(du)" << nduinf*yts << " m/yr" << "\n"); } Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp (revision 15099) @@ -90,7 +90,7 @@ ConstraintsStatex(&constraints_converged,&num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); if (!sedconverged){ - if(VerboseConvergence()) _pprintLine_(" #unstable constraints = " << num_unstable_constraints); + if(VerboseConvergence()) _pprintString_(" #unstable constraints = " << num_unstable_constraints << "\n"); if(num_unstable_constraints==0) sedconverged = true; if (sedcount>=hydro_maxiter){ _error_(" maximum number of Sediment iterations (" << hydro_maxiter << ") exceeded"); @@ -130,7 +130,7 @@ ConstraintsStatex(&constraints_converged,&num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); if (!eplconverged){ - if(VerboseConvergence()) _pprintLine_(" #unstable constraints = " << num_unstable_constraints); + if(VerboseConvergence()) _pprintString_(" #unstable constraints = " << num_unstable_constraints << "\n"); if(num_unstable_constraints==0) eplconverged = true; if (eplcount>=hydro_maxiter){ _error_(" maximum number of EPL iterations (" << hydro_maxiter << ") exceeded"); @@ -163,24 +163,24 @@ //print if (!xIsNan(eps_hyd)){ if((ndu_sed/nu_sed) " << eps_hyd*100 << " %"); + if(VerboseConvergence()) _pprintString_(setw(50) << left << " Sediment Convergence criterion:" << ndu_sed/nu_sed*100 << " > " << eps_hyd*100 << " %" << "\n"); hydroconverged=false; } if(isefficientlayer){ if((ndu_epl/nu_epl) " << eps_hyd*100 << " %"); + if(VerboseConvergence()) _pprintString_(setw(50) << left << " EPL Convergence criterion:" << ndu_epl/nu_epl*100 << " > " << eps_hyd*100 << " %" << "\n"); hydroconverged=false; } } } - else _pprintLine_(setw(50) << left << " Convergence criterion:" << ndu_sed/nu_sed*100 << " %"); + else _pprintString_(setw(50) << left << " Convergence criterion:" << ndu_sed/nu_sed*100 << " %" << "\n"); if (hydrocount>=hydro_maxiter){ _error_(" maximum number for hydrological global iterations (" << hydro_maxiter << ") exceeded"); } Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_newton.cpp (revision 15099) @@ -92,7 +92,7 @@ break; } if(count>=max_nonlinear_iterations){ - _pprintLine_(" maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded"); + _pprintString_(" maximum number of Newton iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); bool max_iteration_state=true; int tempStep=1; IssmDouble tempTime=1.0; @@ -103,7 +103,7 @@ count++; } - if(VerboseConvergence()) _pprintLine_("\n total number of iterations: " << count-1); + if(VerboseConvergence()) _pprintString_("\n total number of iterations: " << count-1 << "\n"); /*clean-up*/ delete uf; Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp (revision 15099) @@ -88,7 +88,7 @@ count++; if(converged==true)break; if(count>=max_nonlinear_iterations){ - _pprintLine_(" maximum number of iterations (" << max_nonlinear_iterations << ") exceeded"); + _pprintString_(" maximum number of iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); break; } } Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_thermal_nonlinear.cpp (revision 15099) @@ -58,11 +58,11 @@ ConstraintsStatex(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); if (!converged){ - if(VerboseConvergence()) _pprintLine_(" #unstable constraints = " << num_unstable_constraints); + if(VerboseConvergence()) _pprintString_(" #unstable constraints = " << num_unstable_constraints << "\n"); if (num_unstable_constraints <= thermal_penalty_threshold)converged=true; if (count>=thermal_maxiter){ converged=true; - _pprintLine_(" maximum number of iterations (" << thermal_maxiter << ") exceeded"); + _pprintString_(" maximum number of iterations (" << thermal_maxiter << ") exceeded" << "\n"); } } count++; Index: ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp =================================================================== --- ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp (revision 15098) +++ ../trunk-jpl/src/c/solutionsequences/solutionsequence_nonlinear.cpp (revision 15099) @@ -69,7 +69,7 @@ InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug); ConstraintsStatex(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); - if(VerboseConvergence()) _pprintLine_(" number of unstable constraints: " << num_unstable_constraints); + if(VerboseConvergence()) _pprintString_(" number of unstable constraints: " << num_unstable_constraints << "\n"); //rift convergence if (!constraints_converged) { @@ -89,7 +89,7 @@ break; } if(count>=max_nonlinear_iterations){ - _pprintLine_(" maximum number of nonlinear iterations (" << max_nonlinear_iterations << ") exceeded"); + _pprintString_(" maximum number of nonlinear iterations (" << max_nonlinear_iterations << ") exceeded" << "\n"); converged=true; InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,converged,ConvergedEnum); InputUpdateFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,ug); @@ -101,7 +101,7 @@ } } - if(VerboseConvergence()) _pprintLine_("\n total number of iterations: " << count-1); + if(VerboseConvergence()) _pprintString_("\n total number of iterations: " << count-1 << "\n"); /*clean-up*/ if(conserve_loads){ Index: ../trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h =================================================================== --- ../trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h (revision 15098) +++ ../trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h (revision 15099) @@ -114,12 +114,12 @@ void Echo(void){ int i,j; - _printLine_("IssmDenseMat size " << this->M << "-" << this->N); + _printString_("IssmDenseMat size " << this->M << "-" << this->N << "\n"); for(i=0;imatrix[N*i+j] << " "); } - _printLine_(""); + _printString_("" << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/toolkits/issm/Bucket.h =================================================================== --- ../trunk-jpl/src/c/toolkits/issm/Bucket.h (revision 15098) +++ ../trunk-jpl/src/c/toolkits/issm/Bucket.h (revision 15099) @@ -87,31 +87,31 @@ /*object virtual functions definitions:*/ void Echo(){ /*{{{*/ - _printLine_("Bucket echo (cpu #: "<m<<" num cols: "<n); + _printString_("Bucket echo (cpu #: "<m<<" num cols: "<n << "\n"); } /*}}}*/ void DeepEcho(){ /*{{{*/ int i,j; - _printLine_("Bucket echo (cpu #: "<m<<" num cols: "<n); + _printString_("Bucket echo (cpu #: "<m<<" num cols: "<n << "\n"); if(type==MATRIX_BUCKET){ for (i=0;im;i++){ - _printLine_("row "<idxm[i]<<", column indices: "); + _printString_("row "<idxm[i]<<", column indices: " << "\n"); for (j=0;jn;j++){ - _printLine_(" "<idxn[j]); + _printString_(" "<idxn[j] << "\n"); } - _printLine_("values: "); + _printString_("values: " << "\n"); for (j=0;jn;j++){ - _printLine_(" "<values[m*i+j]); + _printString_(" "<values[m*i+j] << "\n"); } } } else if(type==VECTOR_BUCKET){ for (i=0;im;i++){ - _printLine_("row "<idxm[i]<<", value " << this->values[i]); + _printString_("row "<idxm[i]<<", value " << this->values[i] << "\n"); } } else _error_("unknown type of bucket!"); Index: ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h =================================================================== --- ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h (revision 15098) +++ ../trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h (revision 15099) @@ -131,11 +131,11 @@ /*Do a synchronized dump across all the rows: */ for(i=0;im); + _printString_("cpu " << i << " #rows: " << this->m << "\n"); for (j=0;jm;j++){ - _printLine_("row " << j << " " << this->vector[j]); + _printString_("row " << j << " " << this->vector[j] << "\n"); } - _printLine_(""); + _printString_("" << "\n"); } MPI_Barrier(IssmComm::GetComm()); } Index: ../trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h =================================================================== --- ../trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h (revision 15098) +++ ../trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h (revision 15099) @@ -143,13 +143,13 @@ my_rank=IssmComm::GetRank(); for(i=0;im); + _printString_("cpu " << i << " #rows: " << this->m << "\n"); for (j=0;jm;j++){ - _printLine_("row " << j); + _printString_("row " << j << "\n"); for (k=0;kN;k++){ - _printLine_(this->matrix[j*this->N+k] << " "); + _printString_(this->matrix[j*this->N+k] << " " << "\n"); } - _printLine_(""); + _printString_("" << "\n"); } } MPI_Barrier(IssmComm::GetComm()); Index: ../trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h =================================================================== --- ../trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h (revision 15098) +++ ../trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h (revision 15099) @@ -90,7 +90,7 @@ void Echo(void){ int i; - _printLine_("IssmSeqVec size " << this->M); + _printString_("IssmSeqVec size " << this->M << "\n"); for(i=0;imatrix,MAT_GLOBAL_SUM,&info); - _pprintLine_("=========================== Stiffness matrix allocation info ==========================="); - _pprintLine_(""); - _pprintLine_(" Block size : "<ssize << "): |"); for(i=0;igsize;i++){ if(this->s_set[i])_printString_(" " << svalues[i] << " |"); } - _printLine_(""); + _printString_("" << "\n"); if(doftype){ _printString_(" doftype: |"); for(i=0;igsize << "): |"); for(i=0;igsize;i++){ _printString_(" " << gdoflist[i] << " |"); } - _printLine_(""); + _printString_("" << "\n"); _printString_(" f_doflist (" << this->fsize << "): |"); for(i=0;ifsize;i++){ _printString_(" " << fdoflist[i] << " |"); } - _printLine_(""); + _printString_("" << "\n"); _printString_(" s_doflist (" << this->ssize << "): |"); for(i=0;issize;i++){ _printString_(" " << sdoflist[i] << " |"); } - _printLine_(""); + _printString_("" << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Materials/Matdamageice.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Materials/Matdamageice.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Materials/Matdamageice.cpp (revision 15099) @@ -54,22 +54,22 @@ /*FUNCTION Matdamageice::Echo {{{*/ void Matdamageice::Echo(void){ - _printLine_("Matdamageice:"); - _printLine_(" mid: " << mid); - _printLine_(" inputs:"); + _printString_("Matdamageice:" << "\n"); + _printString_(" mid: " << mid << "\n"); + _printString_(" inputs:" << "\n"); inputs->Echo(); - _printLine_(" element:"); + _printString_(" element:" << "\n"); helement->Echo(); } /*}}}*/ /*FUNCTION Matdamageice::DeepEcho {{{*/ void Matdamageice::DeepEcho(void){ - _printLine_("Matdamageice:"); - _printLine_(" mid: " << mid); - _printLine_(" inputs:"); + _printString_("Matdamageice:" << "\n"); + _printString_(" mid: " << mid << "\n"); + _printString_(" inputs:" << "\n"); inputs->DeepEcho(); - _printLine_(" element:"); + _printString_(" element:" << "\n"); helement->Echo(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Materials/Matice.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Materials/Matice.cpp (revision 15099) @@ -68,22 +68,22 @@ /*FUNCTION Matice::Echo {{{*/ void Matice::Echo(void){ - _printLine_("Matice:"); - _printLine_(" mid: " << mid); - _printLine_(" inputs:"); + _printString_("Matice:" << "\n"); + _printString_(" mid: " << mid << "\n"); + _printString_(" inputs:" << "\n"); inputs->Echo(); - _printLine_(" element:"); + _printString_(" element:" << "\n"); helement->Echo(); } /*}}}*/ /*FUNCTION Matice::DeepEcho {{{*/ void Matice::DeepEcho(void){ - _printLine_("Matice:"); - _printLine_(" mid: " << mid); - _printLine_(" inputs:"); + _printString_("Matice:" << "\n"); + _printString_(" mid: " << mid << "\n"); + _printString_(" inputs:" << "\n"); inputs->DeepEcho(); - _printLine_(" element:"); + _printString_(" element:" << "\n"); helement->Echo(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Materials/Matpar.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Materials/Matpar.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Materials/Matpar.cpp (revision 15099) @@ -94,23 +94,23 @@ /*FUNCTION Matpar::Echo {{{*/ void Matpar::Echo(void){ - _printLine_("Matpar:"); - _printLine_(" mid: " << mid); - _printLine_(" rho_ice: " << rho_ice); - _printLine_(" rho_water: " << rho_water); - _printLine_(" rho_freshwater: " << rho_freshwater); - _printLine_(" mu_water: " << mu_water); - _printLine_(" heatcapacity: " << heatcapacity); - _printLine_(" thermalconductivity: " << thermalconductivity); - _printLine_(" latentheat: " << latentheat); - _printLine_(" beta: " << beta); - _printLine_(" meltingpoint: " << meltingpoint); - _printLine_(" referencetemperature: " << referencetemperature); - _printLine_(" mixed_layer_capacity: " << mixed_layer_capacity); - _printLine_(" thermal_exchange_velocity: " << thermal_exchange_velocity); - _printLine_(" g: " << g); - _printLine_(" desfac: " << desfac); - _printLine_(" s0p: " << s0p); + _printString_("Matpar:" << "\n"); + _printString_(" mid: " << mid << "\n"); + _printString_(" rho_ice: " << rho_ice << "\n"); + _printString_(" rho_water: " << rho_water << "\n"); + _printString_(" rho_freshwater: " << rho_freshwater << "\n"); + _printString_(" mu_water: " << mu_water << "\n"); + _printString_(" heatcapacity: " << heatcapacity << "\n"); + _printString_(" thermalconductivity: " << thermalconductivity << "\n"); + _printString_(" latentheat: " << latentheat << "\n"); + _printString_(" beta: " << beta << "\n"); + _printString_(" meltingpoint: " << meltingpoint << "\n"); + _printString_(" referencetemperature: " << referencetemperature << "\n"); + _printString_(" mixed_layer_capacity: " << mixed_layer_capacity << "\n"); + _printString_(" thermal_exchange_velocity: " << thermal_exchange_velocity << "\n"); + _printString_(" g: " << g << "\n"); + _printString_(" desfac: " << desfac << "\n"); + _printString_(" s0p: " << s0p << "\n"); return; } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/GenericParam.h =================================================================== --- ../trunk-jpl/src/c/classes/Params/GenericParam.h (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/GenericParam.h (revision 15099) @@ -38,9 +38,9 @@ // unfortunately, having to implement such a printer method implies // that any structured P must provide the friend << operator void DeepEcho() { - _printLine_("GenericParam:"); - _printLine_(" enum: " << myEnumVal << " (" << EnumToStringx(myEnumVal) << ")"); - _printLine_(" value: " << myP);; + _printString_("GenericParam:" << "\n"); + _printString_(" enum: " << myEnumVal << " (" << EnumToStringx(myEnumVal) << ")" << "\n"); + _printString_(" value: " << myP << "\n");; } void Echo() {DeepEcho();}; int Id(){ return -1; }; Index: ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/IntVecParam.cpp (revision 15099) @@ -57,9 +57,9 @@ /*FUNCTION IntVecParam::Echo {{{*/ void IntVecParam::Echo(void){ - _printLine_("IntVecParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" vector size: " << this->M); + _printString_("IntVecParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" vector size: " << this->M << "\n"); } /*}}}*/ @@ -68,11 +68,11 @@ int i; - _printLine_("IntVecParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" vector size: " << this->M); + _printString_("IntVecParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" vector size: " << this->M << "\n"); for(i=0;iM;i++){ - _printLine_(i << " " << this->values[i]); + _printString_(i << " " << this->values[i] << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/BoolParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/BoolParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/BoolParam.cpp (revision 15099) @@ -42,9 +42,9 @@ /*FUNCTION BoolParam::DeepEcho{{{*/ void BoolParam::DeepEcho(void){ - _printLine_("BoolParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " <<(this->value?"true":"false")); + _printString_("BoolParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " <<(this->value?"true":"false") << "\n"); } /*}}}*/ /*FUNCTION BoolParam::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/IntMatParam.cpp (revision 15099) @@ -42,9 +42,9 @@ /*FUNCTION IntMatParam::Echo {{{*/ void IntMatParam::Echo(void){ - _printLine_("IntMatParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" matrix size: " << this->M << "x" << this->N); + _printString_("IntMatParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" matrix size: " << this->M << "x" << this->N << "\n"); } /*}}}*/ @@ -53,12 +53,12 @@ int i,j; - _printLine_("IntMatParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" matrix size: " << this->M << "x" << this->N); + _printString_("IntMatParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" matrix size: " << this->M << "x" << this->N << "\n"); for(i=0;iM;i++){ for(i=0;iN;i++){ - _printLine_("(" << i << "," << j << ") " << *(this->value+N*i+j)); + _printString_("(" << i << "," << j << ") " << *(this->value+N*i+j) << "\n"); } } } Index: ../trunk-jpl/src/c/classes/Params/StringParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/StringParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/StringParam.cpp (revision 15099) @@ -43,9 +43,9 @@ /*}}}*/ /*FUNCTION StringParam::DeepEcho{{{*/ void StringParam::DeepEcho(void){ - _printLine_("StringParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); + _printString_("StringParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ /*FUNCTION StringParam::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/DoubleVecParam.cpp (revision 15099) @@ -41,9 +41,9 @@ /*FUNCTION DoubleVecParam::Echo {{{*/ void DoubleVecParam::Echo(void){ - _printLine_("DoubleVecParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" vector size: " << this->M); + _printString_("DoubleVecParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" vector size: " << this->M << "\n"); } /*}}}*/ @@ -52,11 +52,11 @@ int i; - _printLine_("DoubleVecParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" vector size: " << this->M); + _printString_("DoubleVecParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" vector size: " << this->M << "\n"); for(i=0;iM;i++){ - _printLine_(i << " " << this->values[i]); + _printString_(i << " " << this->values[i] << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/DoubleMatParam.cpp (revision 15099) @@ -42,9 +42,9 @@ /*FUNCTION DoubleMatParam::Echo {{{*/ void DoubleMatParam::Echo(void){ - _printLine_("DoubleMatParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" matrix size: " << this->M << "x" << this->N); + _printString_("DoubleMatParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" matrix size: " << this->M << "x" << this->N << "\n"); } /*}}}*/ @@ -53,12 +53,12 @@ int i,j; - _printLine_("DoubleMatParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" matrix size: " << this->M << "x" << this->N); + _printString_("DoubleMatParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" matrix size: " << this->M << "x" << this->N << "\n"); for(i=0;iM;i++){ for(i=0;iN;i++){ - _printLine_(i << " " << j << " " << *(this->value+N*i+j)); + _printString_(i << " " << j << " " << *(this->value+N*i+j) << "\n"); } } } Index: ../trunk-jpl/src/c/classes/Params/FileParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/FileParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/FileParam.cpp (revision 15099) @@ -42,9 +42,9 @@ /*FUNCTION FileParam::DeepEcho{{{*/ void FileParam::DeepEcho(void){ - _printLine_("FileParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); + _printString_("FileParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ /*FUNCTION FileParam::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/DataSetParam.cpp (revision 15099) @@ -43,8 +43,8 @@ /*FUNCTION DataSetParam::DeepEcho{{{*/ void DataSetParam::DeepEcho(void){ - _printLine_("DataSetParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("DataSetParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); this->value->Echo(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/IntParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/IntParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/IntParam.cpp (revision 15099) @@ -42,9 +42,9 @@ /*FUNCTION IntParam::DeepEcho{{{*/ void IntParam::DeepEcho(void){ - _printLine_("IntParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); + _printString_("IntParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ /*FUNCTION IntParam::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Params/VectorParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/VectorParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/VectorParam.cpp (revision 15099) @@ -43,16 +43,16 @@ /*FUNCTION VectorParam::Echo {{{*/ void VectorParam::Echo(void){ - _printLine_("VectorParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("VectorParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); } /*}}}*/ /*FUNCTION VectorParam::DeepEcho{{{*/ void VectorParam::DeepEcho(void){ - _printLine_("VectorParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("VectorParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); value->Echo(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/MatrixParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/MatrixParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/MatrixParam.cpp (revision 15099) @@ -41,16 +41,16 @@ /*FUNCTION MatrixParam::Echo {{{*/ void MatrixParam::Echo(void){ - _printLine_("MatrixParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("MatrixParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); } /*}}}*/ /*FUNCTION MatrixParam::DeepEcho{{{*/ void MatrixParam::DeepEcho(void){ - _printLine_("MatrixParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("MatrixParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); this->value->Echo(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/StringArrayParam.cpp (revision 15099) @@ -69,11 +69,11 @@ int i; char* string=NULL; - _printLine_("StringArrayParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); + _printString_("StringArrayParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); for(i=0;inumstrings;i++){ string=this->value[i]; - _printLine_(" " << i << ": " << string); + _printString_(" " << i << ": " << string << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/TransientParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/TransientParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/TransientParam.cpp (revision 15099) @@ -46,20 +46,20 @@ /*FUNCTION TransientParam::Echo {{{*/ void TransientParam::Echo(void){ - _printLine_("TransientParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" size: " << this->N); + _printString_("TransientParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" size: " << this->N << "\n"); } /*}}}*/ /*FUNCTION TransientParam::DeepEcho{{{*/ void TransientParam::DeepEcho(void){ - _printLine_("TransientParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" size: " << this->N); + _printString_("TransientParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" size: " << this->N << "\n"); for(int i=0;iN;i++){ - _printLine_( "time: " << this->timesteps[i] << " value: " << this->values[i]); + _printString_( "time: " << this->timesteps[i] << " value: " << this->values[i] << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/DoubleParam.cpp (revision 15099) @@ -39,9 +39,9 @@ /*FUNCTION DoubleParam::DeepEcho{{{*/ void DoubleParam::DeepEcho(void){ - _printLine_("DoubleParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); + _printString_("DoubleParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ /*FUNCTION DoubleParam::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Params/DoubleMatArrayParam.cpp (revision 15099) @@ -81,10 +81,10 @@ /*FUNCTION DoubleMatArrayParam::Echo {{{*/ void DoubleMatArrayParam::Echo(void){ - _printLine_("DoubleMatArrayParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" array size: " << this->M); - _printLine_(" array pointer: " << this->array); + _printString_("DoubleMatArrayParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" array size: " << this->M << "\n"); + _printString_(" array pointer: " << this->array << "\n"); } /*}}}*/ @@ -95,11 +95,11 @@ int m,n; IssmDouble* matrix=NULL; - _printLine_("DoubleMatArrayParam:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" array size: " << this->M); + _printString_("DoubleMatArrayParam:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" array size: " << this->M << "\n"); for(i=0;inugget); - _printLine_(" sill : " << this->sill); - _printLine_(" range : " << this->range); + _printString_("ExponentialVariogram" << "\n"); + _printString_(" nugget: " << this->nugget << "\n"); + _printString_(" sill : " << this->sill << "\n"); + _printString_(" range : " << this->range << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/PowerVariogram.cpp (revision 15099) @@ -47,10 +47,10 @@ /*Object virtual functions definitions:*/ /*FUNCTION PowerVariogram::Echo {{{*/ void PowerVariogram::Echo(void){ - _printLine_("PowerVariogram"); - _printLine_(" nugget: " << this->nugget); - _printLine_(" slope : " << this->slope); - _printLine_(" power : " << this->power); + _printString_("PowerVariogram" << "\n"); + _printString_(" nugget: " << this->nugget << "\n"); + _printString_(" slope : " << this->slope << "\n"); + _printString_(" power : " << this->power << "\n"); } /*}}}*/ @@ -84,7 +84,7 @@ /*return semi-variogram*/ gamma = this->nugget + this->slope*pow(h,this->power); - //if(h>1000) _printLine_("gamma = " << gamma << " h=" << h); + //if(h>1000) _printString_("gamma = " << gamma << " h=" << h << "\n"); return gamma; } /*}}}*/ Index: ../trunk-jpl/src/c/classes/kriging/Quadtree.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/Quadtree.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/Quadtree.cpp (revision 15099) @@ -296,21 +296,21 @@ /*FUNCTION Quadtree::Echo{{{*/ void Quadtree::Echo(void){ - _printLine_("Quadtree:"); - _printLine_(" MaxDepth = " << this->MaxDepth); - _printLine_(" NbQuadtreeBox = " << this->NbQuadtreeBox); - _printLine_(" NbObs = " << this->NbObs); - _printLine_(" root = " << this->root); + _printString_("Quadtree:" << "\n"); + _printString_(" MaxDepth = " << this->MaxDepth << "\n"); + _printString_(" NbQuadtreeBox = " << this->NbQuadtreeBox << "\n"); + _printString_(" NbObs = " << this->NbObs << "\n"); + _printString_(" root = " << this->root << "\n"); }/*}}}*/ /*FUNCTION Quadtree::DeepEcho{{{*/ void Quadtree::DeepEcho(void){ - _printLine_("Quadtree:"); - _printLine_(" MaxDepth = " << this->MaxDepth); - _printLine_(" NbQuadtreeBox = " << this->NbQuadtreeBox); - _printLine_(" NbObs = " << this->NbObs); - _printLine_(" root = " << this->root); + _printString_("Quadtree:" << "\n"); + _printString_(" MaxDepth = " << this->MaxDepth << "\n"); + _printString_(" NbQuadtreeBox = " << this->NbQuadtreeBox << "\n"); + _printString_(" NbObs = " << this->NbObs << "\n"); + _printString_(" root = " << this->root << "\n"); boxcontainer->Echo(); }/*}}}*/ @@ -511,11 +511,11 @@ /*FUNCTION QuadtreeBox::Echo{{{*/ void Quadtree::QuadtreeBox::Echo(void){ - _printLine_("QuadtreeBox:"); - _printLine_(" nbitems = " << this->nbitems); - _printLine_(" xcenter = " << this->xcenter); - _printLine_(" ycenter = " << this->ycenter); - _printLine_(" length = " << this->length); + _printString_("QuadtreeBox:" << "\n"); + _printString_(" nbitems = " << this->nbitems << "\n"); + _printString_(" xcenter = " << this->xcenter << "\n"); + _printString_(" ycenter = " << this->ycenter << "\n"); + _printString_(" length = " << this->length << "\n"); }/*}}}*/ /*FUNCTION QuadtreeBox::IsWithinRange{{{*/ Index: ../trunk-jpl/src/c/classes/kriging/Observations.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/Observations.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/Observations.cpp (revision 15099) @@ -106,9 +106,9 @@ this->quadtree->AddAndAverage(x[i],y[i],observations_list[i]); } } - _pprintLine_("done"); - _pprintLine_("Initial number of observations: " << n); - _pprintLine_(" Final number of observations: " << this->quadtree->NbObs); + _pprintString_("done" << "\n"); + _pprintString_("Initial number of observations: " << n << "\n"); + _pprintString_(" Final number of observations: " << this->quadtree->NbObs << "\n"); } /*}}}*/ /*FUNCTION Observations::~Observations(){{{*/ Index: ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/GaussianVariogram.cpp (revision 15099) @@ -46,10 +46,10 @@ /*Object virtual functions definitions:*/ /*FUNCTION GaussianVariogram::Echo {{{*/ void GaussianVariogram::Echo(void){ - _printLine_("GaussianVariogram"); - _printLine_(" nugget: " << this->nugget); - _printLine_(" sill : " << this->sill); - _printLine_(" range : " << this->range); + _printString_("GaussianVariogram" << "\n"); + _printString_(" nugget: " << this->nugget << "\n"); + _printString_(" sill : " << this->sill << "\n"); + _printString_(" range : " << this->range << "\n"); } /*}}}*/ @@ -88,8 +88,8 @@ a = 1./3.; gamma = (sill-nugget)*(1.-exp(-h2/(a*range*range))) + nugget; - //if(h2>1000*1000) _printLine_("gamma = " << gamma << " h= " << sqrt(h2)); - _printLine_("h = " << sqrt(h2) << " gamma = " << gamma); + //if(h2>1000*1000) _printString_("gamma = " << gamma << " h= " << sqrt(h2) << "\n"); + _printString_("h = " << sqrt(h2) << " gamma = " << gamma << "\n"); return gamma; } /*}}}*/ Index: ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/SphericalVariogram.cpp (revision 15099) @@ -46,10 +46,10 @@ /*Object virtual functions definitions:*/ /*FUNCTION SphericalVariogram::Echo {{{*/ void SphericalVariogram::Echo(void){ - _printLine_("SphericalVariogram"); - _printLine_(" nugget: " << this->nugget); - _printLine_(" sill : " << this->sill); - _printLine_(" range : " << this->range); + _printString_("SphericalVariogram" << "\n"); + _printString_(" nugget: " << this->nugget << "\n"); + _printString_(" sill : " << this->sill << "\n"); + _printString_(" range : " << this->range << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/kriging/Observation.cpp =================================================================== --- ../trunk-jpl/src/c/classes/kriging/Observation.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/kriging/Observation.cpp (revision 15099) @@ -34,14 +34,14 @@ /*FUNCTION Observation::Echo {{{*/ void Observation::Echo(void){ - _printLine_("Observation"); - _printLine_(" index : " << this->index); - _printLine_(" x : " << this->x); - _printLine_(" y : " << this->y); - _printLine_(" xi : "); printbinary(this->xi); _printLine_(""); - _printLine_(" yi : "); printbinary(this->yi); _printLine_(""); - _printLine_(" weight: " << this->weight); - _printLine_(" value : " << this->value); + _printString_("Observation" << "\n"); + _printString_(" index : " << this->index << "\n"); + _printString_(" x : " << this->x << "\n"); + _printString_(" y : " << this->y << "\n"); + _printString_(" xi : " << "\n"); printbinary(this->xi); _printString_("\n"); + _printString_(" yi : " << "\n"); printbinary(this->yi); _printString_("\n"); + _printString_(" weight: " << this->weight << "\n"); + _printString_(" value : " << this->value << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Options/Options.h =================================================================== --- ../trunk-jpl/src/c/classes/Options/Options.h (revision 15098) +++ ../trunk-jpl/src/c/classes/Options/Options.h (revision 15099) @@ -63,7 +63,7 @@ genericoption->Get(pvalue); } else{ - if(GetOption(name)) _printLine_("WARNING: option "<Echo(); return; @@ -61,9 +61,9 @@ /*FUNCTION Penpair::DeepEcho {{{*/ void Penpair::DeepEcho(void){ - _printLine_("Penpair:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Penpair:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->DeepEcho(); return; Index: ../trunk-jpl/src/c/classes/Loads/Icefront.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Icefront.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Loads/Icefront.cpp (revision 15099) @@ -133,32 +133,32 @@ /*Object virtual functions definitions:*/ /*FUNCTION Icefront::Echo {{{*/ void Icefront::Echo(void){ - _printLine_("Icefront:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Icefront:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->Echo(); hvertices->Echo(); helement->Echo(); hmatpar->Echo(); - _printLine_(" parameters: " << parameters); + _printString_(" parameters: " << parameters << "\n"); if(parameters)parameters->Echo(); - _printLine_(" inputs: " << inputs); + _printString_(" inputs: " << inputs << "\n"); if(inputs)inputs->Echo(); } /*}}}*/ /*FUNCTION Icefront::DeepEcho{{{*/ void Icefront::DeepEcho(void){ - _printLine_("Icefront:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Icefront:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->DeepEcho(); hvertices->DeepEcho(); helement->DeepEcho(); hmatpar->DeepEcho(); - _printLine_(" parameters: " << parameters); + _printString_(" parameters: " << parameters << "\n"); if(parameters)parameters->DeepEcho(); - _printLine_(" inputs: " << inputs); + _printString_(" inputs: " << inputs << "\n"); if(inputs)inputs->DeepEcho(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Loads/Friction.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Friction.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Loads/Friction.cpp (revision 15099) @@ -42,9 +42,9 @@ /*methods: */ /*FUNCTION Friction::Echo {{{*/ void Friction::Echo(void){ - _printLine_("Friction:"); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); - _printLine_(" element_type: " << this->element_type); + _printString_("Friction:" << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); + _printString_(" element_type: " << this->element_type << "\n"); inputs->Echo(); matpar->Echo(); } Index: ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Loads/Riftfront.cpp (revision 15099) @@ -137,43 +137,43 @@ input=(Input*)this->inputs->GetInput(FrictionEnum); input->GetInputValue(&friction); input=(Input*)this->inputs->GetInput(FractionIncrementEnum); input->GetInputValue(&fractionincrement); - _printLine_("Riftfront:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); - _printLine_(" hnodes: " << hnodes); - _printLine_(" helements: " << helements); - _printLine_(" hmatpar: " << hmatpar); - _printLine_(" parameters: " << parameters); - _printLine_(" inputs: " << inputs); - _printLine_(" internal parameters: "); - _printLine_(" normal: " << normal[0] << "|" << normal[1]); - _printLine_(" length: " << length); - _printLine_(" penalty_lock: " << penalty_lock); - _printLine_(" active: " <<(active ? "true":"false")); - _printLine_(" counter: " << counter); - _printLine_(" prestable: " << (prestable ? "true":"false")); - _printLine_(" material_converged: " << (material_converged ? "true":"false")); - _printLine_(" fill: " << fill); - _printLine_(" friction: " << friction); - _printLine_(" fraction: " << fraction); - _printLine_(" fractionincrement: " << fractionincrement); - _printLine_(" state: " << state); - _printLine_(" frozen: " << (frozen ? "true":"false")); + _printString_("Riftfront:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); + _printString_(" hnodes: " << hnodes << "\n"); + _printString_(" helements: " << helements << "\n"); + _printString_(" hmatpar: " << hmatpar << "\n"); + _printString_(" parameters: " << parameters << "\n"); + _printString_(" inputs: " << inputs << "\n"); + _printString_(" internal parameters: " << "\n"); + _printString_(" normal: " << normal[0] << "|" << normal[1] << "\n"); + _printString_(" length: " << length << "\n"); + _printString_(" penalty_lock: " << penalty_lock << "\n"); + _printString_(" active: " <<(active ? "true":"false") << "\n"); + _printString_(" counter: " << counter << "\n"); + _printString_(" prestable: " << (prestable ? "true":"false") << "\n"); + _printString_(" material_converged: " << (material_converged ? "true":"false") << "\n"); + _printString_(" fill: " << fill << "\n"); + _printString_(" friction: " << friction << "\n"); + _printString_(" fraction: " << fraction << "\n"); + _printString_(" fractionincrement: " << fractionincrement << "\n"); + _printString_(" state: " << state << "\n"); + _printString_(" frozen: " << (frozen ? "true":"false") << "\n"); } /*}}}*/ /*FUNCTION Riftfront::DeepEcho{{{*/ void Riftfront::DeepEcho(void){ - _printLine_("Riftfront:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Riftfront:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->DeepEcho(); helements->DeepEcho(); hmatpar->DeepEcho(); - _printLine_(" parameters"); + _printString_(" parameters" << "\n"); if(parameters)parameters->DeepEcho(); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); if(inputs)inputs->DeepEcho(); } /*}}}*/ @@ -686,7 +686,7 @@ /*increase melange fraction: */ this->fraction+=fractionincrement; if (this->fraction>1)this->fraction=(IssmDouble)1.0; - //_printLine_("riftfront " << this->Id() << " fraction: " << this->fraction); + //_printString_("riftfront " << this->Id() << " fraction: " << this->fraction << "\n"); } //Figure out stability of this penalty @@ -701,7 +701,7 @@ //Set penalty flag this->active=activate; - //if ((penetration>0) && (this->active==1))_printLine_("Riftfront " << Id() << " wants to be released"); + //if ((penetration>0) && (this->active==1))_printString_("Riftfront " << Id() << " wants to be released" << "\n"); /*assign output pointer: */ *punstable=unstable; Index: ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Loads/Numericalflux.cpp (revision 15099) @@ -154,31 +154,31 @@ /*Object virtual functions definitions:*/ /*FUNCTION Numericalflux::Echo {{{*/ void Numericalflux::Echo(void){ - _printLine_("Numericalflux:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Numericalflux:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->Echo(); hvertices->Echo(); helement->Echo(); - _printLine_(" parameters: " << parameters); - _printLine_(" inputs: " << inputs); + _printString_(" parameters: " << parameters << "\n"); + _printString_(" inputs: " << inputs << "\n"); } /*}}}*/ /*FUNCTION Numericalflux::DeepEcho {{{*/ void Numericalflux::DeepEcho(void){ - _printLine_("Numericalflux:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Numericalflux:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnodes->DeepEcho(); hvertices->DeepEcho(); helement->DeepEcho(); - _printLine_(" parameters"); + _printString_(" parameters" << "\n"); if(parameters) parameters->DeepEcho(); else - _printLine_(" NULL"); - _printLine_(" inputs"); + _printString_(" NULL" << "\n"); + _printString_(" inputs" << "\n"); inputs->DeepEcho(); } Index: ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 15099) @@ -102,17 +102,17 @@ /*FUNCTION Pengrid::DeepEcho{{{*/ void Pengrid::DeepEcho(void){ - _printLine_("Pengrid:"); - _printLine_(" id: " << id); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Pengrid:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); hnode->DeepEcho(); helement->DeepEcho(); hmatpar->DeepEcho(); - _printLine_(" active " << this->active); - _printLine_(" zigzag_counter " << this->zigzag_counter); - _printLine_(" parameters"); + _printString_(" active " << this->active << "\n"); + _printString_(" zigzag_counter " << this->zigzag_counter << "\n"); + _printString_(" parameters" << "\n"); parameters->DeepEcho(); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); inputs->DeepEcho(); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Profiler.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Profiler.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Profiler.cpp (revision 15099) @@ -35,8 +35,8 @@ /*FUNCTION Profiler::Echo{{{*/ void Profiler::Echo(void){ - _printLine_("Profiler:"); - _printLine_(" time tags: "); + _printString_("Profiler:" << "\n"); + _printString_(" time tags: " << "\n"); this->time->Echo(); } @@ -44,8 +44,8 @@ /*FUNCTION Profiler::DeepEcho{{{*/ void Profiler::DeepEcho(void){ - _printLine_("Profiler:"); - _printLine_(" time tags: "); + _printString_("Profiler:" << "\n"); + _printString_(" time tags: " << "\n"); this->time->DeepEcho(); } Index: ../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp =================================================================== --- ../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/matrix/ElementMatrix.cpp (revision 15099) @@ -376,45 +376,45 @@ void ElementMatrix::Echo(void){ int i,j; - _printLine_("Element Matrix echo:"); - _printLine_(" nrows: " << this->nrows); - _printLine_(" ncols: " << this->ncols); - _printLine_(" dofsymmetrical: " << (dofsymmetrical?"true":"false")); + _printString_("Element Matrix echo:" << "\n"); + _printString_(" nrows: " << this->nrows << "\n"); + _printString_(" ncols: " << this->ncols << "\n"); + _printString_(" dofsymmetrical: " << (dofsymmetrical?"true":"false") << "\n"); - _printLine_(" values:"); + _printString_(" values:" << "\n"); for(i=0;iid); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" step: " << this->step); - _printLine_(" time: " << this->time); + _printString_(" id: " << this->id << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" step: " << this->step << "\n"); + _printString_(" time: " << this->time << "\n"); } /*}}}*/ void GenericWriteData(FILE* fid){/*{{{*/ @@ -142,9 +142,9 @@ /*Specific instantiations for bool: */ template <> inline void GenericExternalResult::DeepEcho(void){ /*{{{*/ - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" value: " <<(this->value?"true":"false")); + _printString_(" value: " <<(this->value?"true":"false") << "\n"); } /*}}}*/ template <> inline int GenericExternalResult::ObjectEnum(void){ /*{{{*/ @@ -154,9 +154,9 @@ /*Specific instantiations for int: */ template <> inline void GenericExternalResult::DeepEcho(void){ /*{{{*/ - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" value: " << this->value); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ template <> inline int GenericExternalResult::ObjectEnum(void){ /*{{{*/ @@ -166,9 +166,9 @@ /*Specific instantiations for double: */ template <> inline void GenericExternalResult::DeepEcho(void){ /*{{{*/ - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" value: " << this->value); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ template <> inline int GenericExternalResult::ObjectEnum(void){ /*{{{*/ @@ -191,9 +191,9 @@ } /*}}}*/ template <> inline void GenericExternalResult::DeepEcho(void){ /*{{{*/ - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" value: " << this->value); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ template <> inline void GenericExternalResult::WriteData(FILE* fid,bool io_gather){ /*{{{*/ @@ -251,25 +251,25 @@ } /*}}}*/ template <> inline void GenericExternalResult::Echo(void){ /*{{{*/ - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" matrix size: " << this->M << "-" << this->N); + _printString_(" matrix size: " << this->M << "-" << this->N << "\n"); } /*}}}*/ template <> inline void GenericExternalResult::DeepEcho(void){ /*{{{*/ int i,j; - _printLine_("GenericExternalResult:"); + _printString_("GenericExternalResult:" << "\n"); this->GenericEcho(); - _printLine_(" matrix size: " << this->M << "-" << this->N); + _printString_(" matrix size: " << this->M << "-" << this->N << "\n"); for (i=0;iM;i++){ _printString_(" [ "); for (j=0;jN;j++){ _printString_( " " << setw(11) << setprecision (5) << this->value[i*this->N+j]); } - _printLine_(" ]"); + _printString_(" ]" << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/FemModel.cpp =================================================================== --- ../trunk-jpl/src/c/classes/FemModel.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/FemModel.cpp (revision 15099) @@ -117,7 +117,7 @@ this->parameters->FindParam(&waitonlock,SettingsWaitonlockEnum); this->parameters->FindParam(&lockfilename,LockFileNameEnum); if (waitonlock>0){ - _pprintLine_("write lock file:"); + _pprintString_("write lock file:" << "\n"); WriteLockFile(lockfilename); } @@ -136,23 +136,23 @@ /*Before we delete the profiler, report statistics for this run: */ profiler->Tag(Finish); //final tagging - _pprintLine_(""); - _pprintLine_(" "<DeltaTime(StartInit,FinishInit)); - _pprintLine_(" "<DeltaTime(StartCore,FinishCore)); - _pprintLine_(""); - _pprintLine_(" Total elapsed time:" + _pprintString_("" << "\n"); + _pprintString_(" "<DeltaTime(StartInit,FinishInit) << "\n"); + _pprintString_(" "<DeltaTime(StartCore,FinishCore) << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Total elapsed time:" <DeltaTimeModHour(Start,Finish)<<" hrs " <DeltaTimeModMin(Start,Finish)<<" min " <DeltaTimeModSec(Start,Finish)<<" sec" ); - _pprintLine_(""); + _pprintString_("" << "\n"); /*Now delete: */ delete profiler; /*Finalize PETSC for this model: */ #ifdef _HAVE_PETSC_ - _pprintLine_("closing Petsc"); + _pprintString_("closing Petsc" << "\n"); PetscFinalize(); #endif @@ -163,12 +163,12 @@ /*FUNCTION FemModel::Echo {{{*/ void FemModel::Echo(void){ - _printLine_("FemModel echo: "); - _printLine_(" number of fem models: " << nummodels); - _printLine_(" analysis_type_list: "); - for(int i=0;iSetCurrentConfiguration(analysis_type); if(i==0){ - if(VerboseMProcessor()) _pprintLine_(" creating vertex degrees of freedom"); + if(VerboseMProcessor()) _pprintString_(" creating vertex degrees of freedom" << "\n"); VerticesDofx(vertices,parameters); //only call once, we only have one set of vertices } - if(VerboseMProcessor()) _pprintLine_(" resolving node constraints"); + if(VerboseMProcessor()) _pprintString_(" resolving node constraints" << "\n"); SpcNodesx(nodes,constraints,parameters,analysis_type); - if(VerboseMProcessor()) _pprintLine_(" creating nodal degrees of freedom"); + if(VerboseMProcessor()) _pprintString_(" creating nodal degrees of freedom" << "\n"); NodesDofx(nodes,parameters,analysis_type); - if(VerboseMProcessor()) _pprintLine_(" configuring element and loads"); + if(VerboseMProcessor()) _pprintString_(" configuring element and loads" << "\n"); ConfigureObjectsx(elements, loads, nodes, vertices, materials,parameters); } @@ -246,7 +246,7 @@ /*FUNCTION FemModel::OutputResults {{{*/ void FemModel::OutputResults(void){ - _pprintLine_("write results to disk:"); + _pprintString_("write results to disk:" << "\n"); /*Just call the OutputResultsx module: */ OutputResultsx(this->elements, this->nodes, this->vertices, this->loads, this->materials, this->parameters,this->results); @@ -293,7 +293,7 @@ /*take care of toolkits options, that depend on this analysis type (present only after model processor)*/ if(this->parameters->Exist(ToolkitsOptionsStringsEnum)){ ToolkitsOptionsFromAnalysis(this->parameters,analysis_type); - if(VerboseSolver()) _pprintLine_(" toolkits Options set for analysis type: " << EnumToStringx(analysis_type)); + if(VerboseSolver()) _pprintString_(" toolkits Options set for analysis type: " << EnumToStringx(analysis_type) << "\n"); } } @@ -316,7 +316,7 @@ int solution_type; void (*solutioncore)(FemModel*)=NULL; //core solution function pointer - _pprintLine_("call computational core:"); + _pprintString_("call computational core:" << "\n"); /*Retrieve solution_type from parameters: */ parameters->FindParam(&solution_type,SolutionTypeEnum); @@ -342,9 +342,9 @@ solution_flops=profiler->DeltaFlops(StartCore,FinishCore); solution_memory=profiler->Memory(FinishCore); - _pprintLine_("Solution elapsed time : " << solution_time << " Seconds"); - _pprintLine_("Solution elapsed flops : " << solution_flops << " Flops"); - _pprintLine_("Solution memory used : " << solution_memory << " Bytes"); + _pprintString_("Solution elapsed time : " << solution_time << " Seconds" << "\n"); + _pprintString_("Solution elapsed flops : " << solution_flops << " Flops" << "\n"); + _pprintString_("Solution memory used : " << solution_memory << " Bytes" << "\n"); /*Add to results: */ results->AddObject(new GenericExternalResult(results->Size()+1, ProfilingSolutionTimeEnum, solution_time, 1, 0)); @@ -675,7 +675,7 @@ parameters->FindParam(&time,TimeEnum); /*start module: */ - if(VerboseModule()) _pprintLine_(" Updating constraints for time: " << time); + if(VerboseModule()) _pprintString_(" Updating constraints for time: " << time << "\n"); /*First, update dof constraints in nodes, using constraints: */ SpcNodesx(nodes,constraints,parameters,analysis_type); @@ -828,7 +828,7 @@ IssmDouble kmax = 0; /*Display message*/ - if(VerboseModule()) _pprintLine_(" Generating matrices"); + if(VerboseModule()) _pprintString_(" Generating matrices" << "\n"); /*retrive parameters: */ this->parameters->FindParam(&configuration_type,ConfigurationTypeEnum); @@ -1550,7 +1550,7 @@ _printString_(" responses: " << d_numresponses << ": "); for(i=0;ienum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]"); - _printLine_(" step: " << this->step); - _printLine_(" time: " << this->time); + _printString_("PentaP1ElementResult:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]" << "\n"); + _printString_(" step: " << this->step << "\n"); + _printString_(" time: " << this->time << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp =================================================================== --- ../trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/ElementResults/DoubleElementResult.cpp (revision 15099) @@ -41,11 +41,11 @@ /*FUNCTION DoubleElementResult::DeepEcho{{{*/ void DoubleElementResult::DeepEcho(void){ - _printLine_("DoubleElementResult:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); - _printLine_(" step: " << this->step); - _printLine_(" time: " << this->time); + _printString_("DoubleElementResult:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); + _printString_(" step: " << this->step << "\n"); + _printString_(" time: " << this->time << "\n"); } /*}}}*/ /*FUNCTION DoubleElementResult::Id{{{*/ Index: ../trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp =================================================================== --- ../trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/ElementResults/BoolElementResult.cpp (revision 15099) @@ -41,11 +41,11 @@ /*FUNCTION BoolElementResult::DeepEcho{{{*/ void BoolElementResult::DeepEcho(void){ - _printLine_("BoolElementResult:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: "<<(this->value?"true":"false")); - _printLine_(" step: " << this->step); - _printLine_(" time: " << this->time); + _printString_("BoolElementResult:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: "<<(this->value?"true":"false") << "\n"); + _printString_(" step: " << this->step << "\n"); + _printString_(" time: " << this->time << "\n"); } /*}}}*/ /*FUNCTION BoolElementResult::Id{{{*/ Index: ../trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp =================================================================== --- ../trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/ElementResults/TriaP1ElementResult.cpp (revision 15099) @@ -43,11 +43,11 @@ /*FUNCTION TriaP1ElementResult::DeepEcho{{{*/ void TriaP1ElementResult::DeepEcho(void){ - _printLine_("TriaP1ElementResult:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]"); - _printLine_(" step: " << this->step); - _printLine_(" time: " << this->time); + _printString_("TriaP1ElementResult:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]" << "\n"); + _printString_(" step: " << this->step << "\n"); + _printString_(" time: " << this->time << "\n"); } /*}}}*/ /*FUNCTION TriaP1ElementResult::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 15099) @@ -934,34 +934,34 @@ /*FUNCTION Tria::DeepEcho{{{*/ void Tria::DeepEcho(void){ - _printLine_("Tria:"); - _printLine_(" id: " << id); + _printString_("Tria:" << "\n"); + _printString_(" id: " << id << "\n"); if(nodes){ nodes[0]->DeepEcho(); nodes[1]->DeepEcho(); nodes[2]->DeepEcho(); } - else _printLine_("nodes = NULL"); + else _printString_("nodes = NULL" << "\n"); if (material) material->DeepEcho(); - else _printLine_("material = NULL"); + else _printString_("material = NULL" << "\n"); if (matpar) matpar->DeepEcho(); - else _printLine_("matpar = NULL"); + else _printString_("matpar = NULL" << "\n"); - _printLine_(" parameters"); + _printString_(" parameters" << "\n"); if (parameters) parameters->DeepEcho(); - else _printLine_("parameters = NULL"); + else _printString_("parameters = NULL" << "\n"); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); if (inputs) inputs->DeepEcho(); - else _printLine_("inputs=NULL"); + else _printString_("inputs=NULL" << "\n"); if (results) results->DeepEcho(); - else _printLine_("results=NULL"); + else _printString_("results=NULL" << "\n"); - _printLine_("neighboor sids: "); - _printLine_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2]); + _printString_("neighboor sids: " << "\n"); + _printString_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n"); return; } @@ -1046,34 +1046,34 @@ /*}}}*/ /*FUNCTION Tria::Echo{{{*/ void Tria::Echo(void){ - _printLine_("Tria:"); - _printLine_(" id: " << id); + _printString_("Tria:" << "\n"); + _printString_(" id: " << id << "\n"); if(nodes){ nodes[0]->Echo(); nodes[1]->Echo(); nodes[2]->Echo(); } - else _printLine_("nodes = NULL"); + else _printString_("nodes = NULL" << "\n"); if (material) material->Echo(); - else _printLine_("material = NULL"); + else _printString_("material = NULL" << "\n"); if (matpar) matpar->Echo(); - else _printLine_("matpar = NULL"); + else _printString_("matpar = NULL" << "\n"); - _printLine_(" parameters"); + _printString_(" parameters" << "\n"); if (parameters) parameters->Echo(); - else _printLine_("parameters = NULL"); + else _printString_("parameters = NULL" << "\n"); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); if (inputs) inputs->Echo(); - else _printLine_("inputs=NULL"); + else _printString_("inputs=NULL" << "\n"); if (results) results->Echo(); - else _printLine_("results=NULL"); + else _printString_("results=NULL" << "\n"); - _printLine_("neighboor sids: "); - _printLine_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2]); + _printString_("neighboor sids: " << "\n"); + _printString_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n"); } /*}}}*/ /*FUNCTION Tria::ObjectEnum{{{*/ @@ -1558,7 +1558,7 @@ elementresult->GetElementVectorFromResults(vector,sid); } else{ - _printLine_("Interpolation " << EnumToStringx(interp) << " not supported"); + _printString_("Interpolation " << EnumToStringx(interp) << " not supported" << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 15099) @@ -667,8 +667,8 @@ /*FUNCTION Penta::DeepEcho{{{*/ void Penta::DeepEcho(void){ - _printLine_("Penta:"); - _printLine_(" id: " << id); + _printString_("Penta:" << "\n"); + _printString_(" id: " << id << "\n"); nodes[0]->DeepEcho(); nodes[1]->DeepEcho(); nodes[2]->DeepEcho(); @@ -677,15 +677,15 @@ nodes[5]->DeepEcho(); material->DeepEcho(); matpar->DeepEcho(); - _printLine_(" neighbor ids: " << verticalneighbors[0]->Id() << "-" << verticalneighbors[1]->Id()); - _printLine_(" parameters"); + _printString_(" neighbor ids: " << verticalneighbors[0]->Id() << "-" << verticalneighbors[1]->Id() << "\n"); + _printString_(" parameters" << "\n"); parameters->DeepEcho(); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); inputs->DeepEcho(); - _printLine_(" results"); + _printString_(" results" << "\n"); results->DeepEcho(); - _printLine_("neighboor sids: "); - _printLine_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2]); + _printString_("neighboor sids: " << "\n"); + _printString_(" " << horizontalneighborsids[0] << " " << horizontalneighborsids[1] << " " << horizontalneighborsids[2] << "\n"); } /*}}}*/ /*FUNCTION Penta::DeleteResults {{{*/ @@ -1334,7 +1334,7 @@ elementresult->GetElementVectorFromResults(vector,sid); } else{ - _printLine_("Interpolation " << EnumToStringx(interp) << " not supported"); + _printString_("Interpolation " << EnumToStringx(interp) << " not supported" << "\n"); } } /*}}}*/ @@ -4559,8 +4559,8 @@ /*Check solution*/ if(xIsNan(values[i])) _error_("NaN found in solution vector"); - //if(values[i]<0) _printLine_("temperature < 0°K found in solution vector"); - //if(values[i]>275) _printLine_("temperature > 275°K found in solution vector (Paterson's rheology associated is negative)"); + //if(values[i]<0) _printString_("temperature < 0°K found in solution vector" << "\n"); + //if(values[i]>275) _printString_("temperature > 275°K found in solution vector (Paterson's rheology associated is negative)" << "\n"); } /*Get all inputs and parameters*/ Index: ../trunk-jpl/src/c/classes/DependentObject.cpp =================================================================== --- ../trunk-jpl/src/c/classes/DependentObject.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/DependentObject.cpp (revision 15099) @@ -39,15 +39,15 @@ /*FUNCTION DependentObject::Echo{{{*/ void DependentObject::Echo(void){ - _printLine_("DependentObject:"); - _printLine_(" name: " << EnumToStringx(this->name)); + _printString_("DependentObject:" << "\n"); + _printString_(" name: " << EnumToStringx(this->name) << "\n"); if(this->type==0) - _printLine_(" type: scalar"); + _printString_(" type: scalar" << "\n"); else if(this->type==1) - _printLine_(" type: vertex"); + _printString_(" type: vertex" << "\n"); else _error_(" unknown type: " << this->type); - if(this->index>=0) _printLine_(" index: " << this->index); + if(this->index>=0) _printString_(" index: " << this->index << "\n"); } /*}}}*/ /*FUNCTION DependentObject::DeepEcho{{{*/ Index: ../trunk-jpl/src/c/classes/Hook.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Hook.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Hook.cpp (revision 15099) @@ -65,17 +65,17 @@ int i; if (num){ - _printLine_(" Hook: "); - _printLine_(" num=" << this->num); + _printString_(" Hook: " << "\n"); + _printString_(" num=" << this->num << "\n"); _printString_(" ids: "); for (i=0;inum;i++) _printString_(this->ids[i] << " "); - _printLine_(""); + _printString_("" << "\n"); _printString_(" offsets: "); for (i=0;inum;i++) _printString_(this->offsets[i] << " "); - _printLine_(""); + _printString_("" << "\n"); } else{ - _printLine_(" Hook: num=0 "); + _printString_(" Hook: num=0 " << "\n"); } } /*}}}*/ @@ -84,26 +84,26 @@ int i; if (num){ - _printLine_(" Hook: "); - _printLine_(" num=" << this->num); + _printString_(" Hook: " << "\n"); + _printString_(" num=" << this->num << "\n"); _printString_(" ids: "); for (i=0;inum;i++) _printString_(this->ids[i] << " "); - _printLine_(""); + _printString_("" << "\n"); _printString_(" offsets: "); for (i=0;inum;i++) _printString_(this->offsets[i] << " "); - _printLine_(""); - if (!objects) _printLine_(" warning: object not hooked yet"); + _printString_("" << "\n"); + if (!objects) _printString_(" warning: object not hooked yet" << "\n"); else{ _printString_(" objects:\n "); for (i=0;inum;i++){ - _printLine_(" object " << i); + _printString_(" object " << i << "\n"); if(objects[i]) objects[i]->DeepEcho(); - else _printLine_(" no object hooked yet (not configured)"); + else _printString_(" no object hooked yet (not configured)" << "\n"); } } } else{ - _printLine_(" Hook: num=0 "); + _printString_(" Hook: num=0 " << "\n"); } } /*}}}*/ Index: ../trunk-jpl/src/c/classes/gauss/GaussTria.cpp =================================================================== --- ../trunk-jpl/src/c/classes/gauss/GaussTria.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/gauss/GaussTria.cpp (revision 15099) @@ -262,38 +262,38 @@ /*FUNCTION GaussTria::Echo{{{*/ void GaussTria::Echo(void){ - _printLine_("GaussTria:"); - _printLine_(" numgauss: " << numgauss); + _printString_("GaussTria:" << "\n"); + _printString_(" numgauss: " << numgauss << "\n"); if (weights){ _printString_(" weights = ["); - for(int i=0;ienum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_("---values: "); if (values) values->Echo(); - _printLine_("---savedvalues: ");if (savedvalues) savedvalues->Echo(); - _printLine_("---minvalues: "); if (minvalues) minvalues->Echo(); - _printLine_("---maxvalues: "); if (maxvalues) maxvalues->Echo(); - _printLine_("---gradient: "); if (gradient) gradient->Echo(); + _printString_("ControlInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_("---values: " << "\n"); if (values) values->Echo(); + _printString_("---savedvalues: " << "\n");if (savedvalues) savedvalues->Echo(); + _printString_("---minvalues: " << "\n"); if (minvalues) minvalues->Echo(); + _printString_("---maxvalues: " << "\n"); if (maxvalues) maxvalues->Echo(); + _printString_("---gradient: " << "\n"); if (gradient) gradient->Echo(); } /*}}}*/ /*FUNCTION ControlInput::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/DatasetInput.cpp (revision 15099) @@ -41,9 +41,9 @@ /*FUNCTION DatasetInput::DeepEcho{{{*/ void DatasetInput::DeepEcho(void){ - _printLine_("DatasetInput:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_("---inputs: "); inputs->Echo(); + _printString_("DatasetInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_("---inputs: " << "\n"); inputs->Echo(); } /*}}}*/ /*FUNCTION DatasetInput::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/IntInput.cpp (revision 15099) @@ -34,9 +34,9 @@ /*FUNCTION IntInput::DeepEcho{{{*/ void IntInput::DeepEcho(void){ - _printLine_("IntInput:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << (int)this->value); + _printString_("IntInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << (int)this->value << "\n"); } /*}}}*/ /*FUNCTION IntInput::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/BoolInput.cpp (revision 15099) @@ -39,9 +39,9 @@ /*FUNCTION BoolInput::DeepEcho{{{*/ void BoolInput::DeepEcho(void){ - _printLine_("BoolInput:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " <<(value?"true":"false")); + _printString_("BoolInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " <<(value?"true":"false") << "\n"); } /*}}}*/ /*FUNCTION BoolInput::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/TriaP1Input.cpp (revision 15099) @@ -50,9 +50,9 @@ /*FUNCTION TriaP1Input::DeepEcho{{{*/ void TriaP1Input::DeepEcho(void){ - _printLine_("TriaP1Input:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]"); + _printString_("TriaP1Input:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << "]" << "\n"); } /*}}}*/ /*FUNCTION TriaP1Input::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/TransientInput.cpp (revision 15099) @@ -60,12 +60,12 @@ int i; - _printLine_("TransientInput:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" numtimesteps: " << this->numtimesteps); - _printLine_("---inputs: "); + _printString_("TransientInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" numtimesteps: " << this->numtimesteps << "\n"); + _printString_("---inputs: " << "\n"); for(i=0;inumtimesteps;i++){ - _printLine_(" time: " << this->timesteps[i] << " "); + _printString_(" time: " << this->timesteps[i] << " " << "\n"); ((Input*)this->inputs->GetObjectByOffset(i))->Echo(); } } Index: ../trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/PentaP1Input.cpp (revision 15099) @@ -50,9 +50,9 @@ /*FUNCTION PentaP1Input::DeepEcho{{{*/ void PentaP1Input::DeepEcho(void){ - _printLine_("PentaP1Input:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]"); + _printString_("PentaP1Input:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" values: [" << this->values[0] << " " << this->values[1] << " " << this->values[2] << " " << this->values[3] << " " << this->values[4] << " " << this->values[5] << "]" << "\n"); } /*}}}*/ /*FUNCTION PentaP1Input::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Inputs/DoubleInput.cpp (revision 15099) @@ -39,9 +39,9 @@ /*FUNCTION DoubleInput::DeepEcho{{{*/ void DoubleInput::DeepEcho(void){ - _printLine_("DoubleInput:"); - _printLine_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")"); - _printLine_(" value: " << this->value); + _printString_("DoubleInput:" << "\n"); + _printString_(" enum: " << this->enum_type << " (" << EnumToStringx(this->enum_type) << ")" << "\n"); + _printString_(" value: " << this->value << "\n"); } /*}}}*/ /*FUNCTION DoubleInput::Id{{{*/ Index: ../trunk-jpl/src/c/classes/Segment.h =================================================================== --- ../trunk-jpl/src/c/classes/Segment.h (revision 15098) +++ ../trunk-jpl/src/c/classes/Segment.h (revision 15099) @@ -51,10 +51,10 @@ /*FUNCTION Echo{{{*/ void Echo(void){ - _printLine_("Segment:"); - _printLine_(" eid: " << eid); - _printLine_(" node 1: " << this->x1 << "|" << this->y1); - _printLine_(" node 2: " << this->x2 << "|" << this->y2); + _printString_("Segment:" << "\n"); + _printString_(" eid: " << eid << "\n"); + _printString_(" node 1: " << this->x1 << "|" << this->y1 << "\n"); + _printString_(" node 2: " << this->x2 << "|" << this->y2 << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/IndependentObject.cpp =================================================================== --- ../trunk-jpl/src/c/classes/IndependentObject.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/IndependentObject.cpp (revision 15099) @@ -40,15 +40,15 @@ /*FUNCTION IndependentObject::Echo{{{*/ void IndependentObject::Echo(void){ - _printLine_("IndependentObject:"); - _printLine_(" name: " << EnumToStringx(this->name)); + _printString_("IndependentObject:" << "\n"); + _printString_(" name: " << EnumToStringx(this->name) << "\n"); if(this->type==0) - _printLine_(" type: scalar"); + _printString_(" type: scalar" << "\n"); else if(this->type==1) - _printLine_(" type: vertex"); + _printString_(" type: vertex" << "\n"); else _error_(" unknown type: " << this->type); - _printLine_(" numberofvertices: " << this->numberofvertices); + _printString_(" numberofvertices: " << this->numberofvertices << "\n"); } /*}}}*/ /*FUNCTION IndependentObject::DeepEcho{{{*/ Index: ../trunk-jpl/src/c/classes/Node.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Node.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Node.cpp (revision 15099) @@ -154,27 +154,27 @@ /*FUNCTION Node::Echo{{{*/ void Node::Echo(void){ - _printLine_("Node:"); - _printLine_(" id: " << id); - _printLine_(" sid: " << sid); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Node:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); indexing.Echo(); - _printLine_(" hvertex: not displayed"); - _printLine_(" inputs: " << inputs); + _printString_(" hvertex: not displayed" << "\n"); + _printString_(" inputs: " << inputs << "\n"); } /*}}}*/ /*FUNCTION Node::DeepEcho{{{*/ void Node::DeepEcho(void){ - _printLine_("Node:"); - _printLine_(" id: " << id); - _printLine_(" sid: " << sid); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("Node:" << "\n"); + _printString_(" id: " << id << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); indexing.DeepEcho(); - _printLine_("Vertex:"); + _printString_("Vertex:" << "\n"); hvertex->DeepEcho(); - _printLine_(" inputs"); + _printString_(" inputs" << "\n"); } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp (revision 15099) @@ -41,13 +41,13 @@ /*FUNCTION SpcDynamic::Echo {{{*/ void SpcDynamic::Echo(void){ - _printLine_("SpcDynamic:"); - _printLine_(" sid: " << sid); - _printLine_(" nodeid: " << nodeid); - _printLine_(" dof: " << dof); - _printLine_(" value: " << value); - _printLine_(" isset: " <<(isset?"true":"false")); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("SpcDynamic:" << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" nodeid: " << nodeid << "\n"); + _printString_(" dof: " << dof << "\n"); + _printString_(" value: " << value << "\n"); + _printString_(" isset: " <<(isset?"true":"false") << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); return; } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Constraints/SpcStatic.cpp (revision 15099) @@ -40,24 +40,24 @@ /*FUNCTION SpcStatic::Echo {{{*/ void SpcStatic::Echo(void){ - _printLine_("SpcStatic:"); - _printLine_(" sid: " << sid); - _printLine_(" nodeid: " << nodeid); - _printLine_(" dof: " << dof); - _printLine_(" value: " << value); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("SpcStatic:" << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" nodeid: " << nodeid << "\n"); + _printString_(" dof: " << dof << "\n"); + _printString_(" value: " << value << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); return; } /*}}}*/ /*FUNCTION SpcStatic::DeepEcho {{{*/ void SpcStatic::DeepEcho(void){ - _printLine_("SpcStatic:"); - _printLine_(" sid: " << sid); - _printLine_(" nodeid: " << nodeid); - _printLine_(" dof: " << dof); - _printLine_(" value: " << value); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); + _printString_("SpcStatic:" << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" nodeid: " << nodeid << "\n"); + _printString_(" dof: " << dof << "\n"); + _printString_(" value: " << value << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); return; } /*}}}*/ Index: ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp =================================================================== --- ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp (revision 15098) +++ ../trunk-jpl/src/c/classes/Constraints/SpcTransient.cpp (revision 15099) @@ -55,15 +55,15 @@ void SpcTransient::Echo(void){ int i; - _printLine_("SpcTransient:"); - _printLine_(" sid: " << sid); - _printLine_(" nodeid: " << nodeid); - _printLine_(" dof: " << dof); - _printLine_(" nsteps: " << nsteps); - _printLine_(" analysis_type: " << EnumToStringx(analysis_type)); - _printLine_(" steps|times|values"); + _printString_("SpcTransient:" << "\n"); + _printString_(" sid: " << sid << "\n"); + _printString_(" nodeid: " << nodeid << "\n"); + _printString_(" dof: " << dof << "\n"); + _printString_(" nsteps: " << nsteps << "\n"); + _printString_(" analysis_type: " << EnumToStringx(analysis_type) << "\n"); + _printString_(" steps|times|values" << "\n"); for(i=0;idata){ for(int i=0;idata[i]){ - _pprintLine_("Info: previous pointer of " << EnumToStringx(i) << " has not been freed (DeleteData has not been called)"); + _pprintString_("Info: previous pointer of " << EnumToStringx(i) << " has not been freed (DeleteData has not been called)" << "\n"); } } } @@ -124,20 +124,20 @@ } else{ if(record_enum!=MaximumNumberOfEnums){ - _pprintLine_(""); - _pprintLine_("========================================================================="); - _pprintLine_(" Enums in marshalled file are not compatible with compiled code "); - _pprintLine_(" "); - _pprintLine_(" * If you are running ISSM on a remote cluster: "); - _pprintLine_(" make sure that you are using the same version of ISSM on your local "); - _pprintLine_(" machine and remote cluster (you might need to run svn update) "); - _pprintLine_(" * If you are running ISSM on your local machine: "); - _pprintLine_(" make sure that all the code is compiled (modules and executables) "); - _pprintLine_(" * If you are a developer and just added a new Enum: "); - _pprintLine_(" you might need to run ./Synchronize.sh in src/c/EnumDefinitions "); - _pprintLine_(" and recompile "); - _pprintLine_("========================================================================="); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_("=========================================================================" << "\n"); + _pprintString_(" Enums in marshalled file are not compatible with compiled code " << "\n"); + _pprintString_(" " << "\n"); + _pprintString_(" * If you are running ISSM on a remote cluster: " << "\n"); + _pprintString_(" make sure that you are using the same version of ISSM on your local " << "\n"); + _pprintString_(" machine and remote cluster (you might need to run svn update) " << "\n"); + _pprintString_(" * If you are running ISSM on your local machine: " << "\n"); + _pprintString_(" make sure that all the code is compiled (modules and executables) " << "\n"); + _pprintString_(" * If you are a developer and just added a new Enum: " << "\n"); + _pprintString_(" you might need to run ./Synchronize.sh in src/c/EnumDefinitions " << "\n"); + _pprintString_(" and recompile " << "\n"); + _pprintString_("=========================================================================" << "\n"); + _pprintString_("" << "\n"); _error_("Enums not consistent (See error message above)"); } } Index: ../trunk-jpl/src/c/datastructures/DataSet.cpp =================================================================== --- ../trunk-jpl/src/c/datastructures/DataSet.cpp (revision 15098) +++ ../trunk-jpl/src/c/datastructures/DataSet.cpp (revision 15099) @@ -129,7 +129,7 @@ if(this==NULL)_error_("trying to echo a NULL dataset"); - _pprintLine_("DataSet echo: " << objects.size() << " objects"); + _pprintString_("DataSet echo: " << objects.size() << " objects" << "\n"); for ( object=objects.begin() ; object < objects.end(); object++ ){ @@ -146,7 +146,7 @@ if(this==NULL)_error_("trying to echo a NULL dataset"); - _pprintLine_("DataSet echo: " << objects.size() << " objects"); + _pprintString_("DataSet echo: " << objects.size() << " objects" << "\n"); for ( object=objects.begin() ; object < objects.end(); object++ ){ Index: ../trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp =================================================================== --- ../trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/python/io/FetchPythonData.cpp (revision 15099) @@ -727,7 +727,7 @@ FetchData(&name,PyTuple_GetItem(py_tuple,(Py_ssize_t)i)); if(i+1 == nrhs) _error_("Argument " << i+2 << " must exist and be value of option \"" << name << "\"."); - _pprintLine_("FetchData for Options not implemented yet, ignoring option \"" << name << "\"!"); + _pprintString_("FetchData for Options not implemented yet, ignoring option \"" << name << "\"!" << "\n"); // option=(Option*)OptionParse(name,&PyTuple_GetItem(py_tuple,(Py_ssize_t)(i+1))); // options->AddOption(option); Index: ../trunk-jpl/src/wrappers/NodeConnectivity/NodeConnectivity.cpp =================================================================== --- ../trunk-jpl/src/wrappers/NodeConnectivity/NodeConnectivity.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/NodeConnectivity/NodeConnectivity.cpp (revision 15099) @@ -5,9 +5,9 @@ #include "./NodeConnectivity.h" void NodeConnectivityUsage(void){/*{{{*/ - _pprintLine_(""); - _pprintLine_(" usage: connectivity = " << __FUNCT__ << "(elements, numnodes);"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_(" usage: connectivity = " << __FUNCT__ << "(elements, numnodes);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(NodeConnectivity){ Index: ../trunk-jpl/src/wrappers/BamgConvertMesh/BamgConvertMesh.cpp =================================================================== --- ../trunk-jpl/src/wrappers/BamgConvertMesh/BamgConvertMesh.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/BamgConvertMesh/BamgConvertMesh.cpp (revision 15099) @@ -5,12 +5,12 @@ void BamgConvertMeshUsage(void){/*{{{*/ _pprintString_("BAMGCONVERTMESH - convert [x y index] to a bamg geom and mesh geom"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [bamggeom bamgmesh]=BamgConvertMesh(index,x,y);"); - _pprintLine_(" index: index of the mesh"); - _pprintLine_(" x,y: coordinates of the nodes"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [bamggeom bamgmesh]=BamgConvertMesh(index,x,y)" << "\n"); + _pprintString_(" index: index of the mesh" << "\n"); + _pprintString_(" x,y: coordinates of the nodes" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(BamgConvertMesh){ Index: ../trunk-jpl/src/wrappers/KMLOverlay/KMLOverlay.cpp =================================================================== --- ../trunk-jpl/src/wrappers/KMLOverlay/KMLOverlay.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/KMLOverlay/KMLOverlay.cpp (revision 15099) @@ -4,25 +4,25 @@ #include "./KMLOverlay.h" void KMLOverlayUsage(void){/*{{{*/ - _pprintLine_("KMLOverlay - KML file overlay module:"); - _pprintLine_(""); - _pprintLine_(" This module reads a list of image files and writes a KML or KMZ overlay file."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" ierror=KMLOverlay(kmlfile,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" kmlfile KML or KMZ file name (string)"); - _pprintLine_(""); - _pprintLine_(" lataxis latitude axis (double vector [south north], required)"); - _pprintLine_(" longaxis longitude axis (double vector [west east], required)"); - _pprintLine_(" images relative or http image file names (string or array of strings or cell array of strings, required)"); - _pprintLine_(" zip flag to zip the doc.kml and image files into kmzfile (double, non-zero for kmz)"); - _pprintLine_(""); - _pprintLine_(" ierror error flag (double, non-zero for error)"); - _pprintLine_(""); - _pprintLine_(" Example:"); - _pprintLine_(" KMLOverlay(kmlfile,'lataxis',[south north],'longaxis',[west east],'images',{'file1.png','http://issm/file2.png'},'zip',1);"); - _pprintLine_(""); + _pprintString_("KMLOverlay - KML file overlay module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module reads a list of image files and writes a KML or KMZ overlay file." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" ierror=KMLOverlay(kmlfile,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" kmlfile KML or KMZ file name (string)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" lataxis latitude axis (double vector [south north], required)" << "\n"); + _pprintString_(" longaxis longitude axis (double vector [west east], required)" << "\n"); + _pprintString_(" images relative or http image file names (string or array of strings or cell array of strings, required)" << "\n"); + _pprintString_(" zip flag to zip the doc.kml and image files into kmzfile (double, non-zero for kmz)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ierror error flag (double, non-zero for error)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Example:" << "\n"); + _pprintString_(" KMLOverlay(kmlfile,'lataxis',[south north],'longaxis',[west east],'images',{'file1.png','http://issm/file2.png'},'zip',1);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(KMLOverlay){ @@ -62,13 +62,13 @@ FetchData(&options,NRHS,nrhs,prhs); options->Get(&lataxis ,&nlat ,(char*)"lataxis"); - if (verbose && lataxis) for (i=0; iGet(&longaxis,&nlong,(char*)"longaxis"); - if (verbose && longaxis) for (i=0; iGet(&pimages,&nimages,(char*)"images"); - if (verbose && pimages) for (i=0; iGet(&dzip,(char*)"zip",0.); - if (verbose) _printLine_(" dzip=" << dzip); + if (verbose) _printString_(" dzip=" << dzip << "\n"); /*some checks*/ if (nlat !=2) _error_("Latitudinal axes \"lataxis\" require two double values, not " << nlat << "."); @@ -83,14 +83,14 @@ if(!strlen(filkml)) strcpy(filkml,"stdout"); - if(verbose) _printLine_("Opening kml overlay file \"" << filkml << "\"."); + if(verbose) _printString_("Opening kml overlay file \"" << filkml << "\"." << "\n"); fid=fopen(filkml,"w"); /* Run core computations: */ - if (verbose) _printLine_("Calling core:"); + if (verbose) _printString_("Calling core:" << "\n"); KMLOverlayx(&ierror,lataxis,longaxis,nimages,pimages,fid); - if (verbose) _printLine_("Closing file \"" << filkml << "\"."); + if (verbose) _printString_("Closing file \"" << filkml << "\"." << "\n"); fclose(fid); /* Create kmz file, if specified: */ @@ -107,8 +107,8 @@ strcat(czip," "); strcat(czip,pimages[i]); } - if (verbose) _printLine_("Zipping file \"" << filkmz << "\"."); - if (verbose) _printLine_(czip); + if (verbose) _printString_("Zipping file \"" << filkmz << "\"." << "\n"); + if (verbose) _printString_(czip << "\n"); if (mexEvalString(czip)) _error_("Error zipping file \"" << filkmz << "\"."); xDelete(czip); Index: ../trunk-jpl/src/wrappers/ContourToNodes/ContourToNodes.cpp =================================================================== --- ../trunk-jpl/src/wrappers/ContourToNodes/ContourToNodes.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/ContourToNodes/ContourToNodes.cpp (revision 15099) @@ -5,14 +5,14 @@ #include "./ContourToNodes.h" void ContourToNodesUsage(void){/*{{{*/ - _printLine_(" usage:"); - _printLine_(" [flags]=ContourToNodes(x,y,contourname,edgevalue);\n"); - _printLine_(" where:"); - _printLine_(" x,y: list of nodes."); - _printLine_(" contourname: name of .exp file containing the contours, or resulting structure from call to expread."); - _printLine_(" edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons."); - _printLine_(" flags: vector of flags (0 or 1), of size nods."); - _printLine_(""); + _printString_(" usage:" << "\n"); + _printString_(" [flags]=ContourToNodes(x,y,contourname,edgevalue);" << "\n"); + _printString_(" where:" << "\n"); + _printString_(" x,y: list of nodes." << "\n"); + _printString_(" contourname: name of .exp file containing the contours, or resulting structure from call to expread." << "\n"); + _printString_(" edgevalue: integer (0, 1 or 2) defining the value associated to the nodes on the edges of the polygons." << "\n"); + _printString_(" flags: vector of flags (0 or 1), of size nods." << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(ContourToNodes){ Index: ../trunk-jpl/src/wrappers/HoleFiller/HoleFiller.cpp =================================================================== --- ../trunk-jpl/src/wrappers/HoleFiller/HoleFiller.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/HoleFiller/HoleFiller.cpp (revision 15099) @@ -12,13 +12,13 @@ #include "./HoleFiller.h" void HoleFillerUsage(void){/*{{{*/ - _printLine_(" HoleFiller usage:"); - _printLine_(" [image_out]=HoleFiller(image_in,smooth);\n"); - _printLine_(" where:"); - _printLine_(" image_in in double format"); - _printLine_(" smooth: 1 to smooth with a box filer, 0 to leave data raw"); - _printLine_(" image_out in double format"); - _printLine_(""); + _printString_(" HoleFiller usage:" << "\n"); + _printString_(" [image_out]=HoleFiller(image_in,smooth);" << "\n"); + _printString_(" where:" << "\n"); + _printString_(" image_in in double format" << "\n"); + _printString_(" smooth: 1 to smooth with a box filer, 0 to leave data raw" << "\n"); + _printString_(" image_out in double format" << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(HoleFiller){ Index: ../trunk-jpl/src/wrappers/Shp2Exp/Shp2Exp.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Shp2Exp/Shp2Exp.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Shp2Exp/Shp2Exp.cpp (revision 15099) @@ -11,21 +11,21 @@ #include "./Shp2Exp.h" void Shp2ExpUsage(void){/*{{{*/ - _pprintLine_("Shp2Exp - shp to exp file conversion module:"); - _pprintLine_(""); - _pprintLine_(" This module converts a file from shp to exp format."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [ret]=Shp2Exp(filshp,filexp,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" filshp file name of shp file to be read (char, extension optional)"); - _pprintLine_(" filexp file name of exp file to be written (char)"); - _pprintLine_(""); - _pprintLine_(" ret return code (non-zero for warning)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [ret]=Shp2Exp('file.shp','file.exp');"); - _pprintLine_(""); + _pprintString_("Shp2Exp - shp to exp file conversion module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module converts a file from shp to exp format." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [ret]=Shp2Exp(filshp,filexp,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" filshp file name of shp file to be read (char, extension optional)" << "\n"); + _pprintString_(" filexp file name of exp file to be written (char)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ret return code (non-zero for warning)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [ret]=Shp2Exp('file.shp','file.exp');" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Shp2Exp){ Index: ../trunk-jpl/src/wrappers/EdgeDetection/EdgeDetection.cpp =================================================================== --- ../trunk-jpl/src/wrappers/EdgeDetection/EdgeDetection.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/EdgeDetection/EdgeDetection.cpp (revision 15099) @@ -5,17 +5,17 @@ #include "./EdgeDetection.h" void EdgeDetectionUsage(void){/*{{{*/ - _pprintLine_("EDGEDETECTION usage- detect edges of a boolean image"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" contours=EdgeDetection(image);"); - _pprintLine_(""); - _pprintLine_(" image: boolean matrix"); - _pprintLine_(""); - _pprintLine_(" Example:"); - _pprintLine_(" load('velocities.mat');"); - _pprintLine_(" md.inversion.vx_obs=EdgeDetection(x_n,y_m,vx,md.mesh.x,md.mesh.y,0);"); - _pprintLine_(""); + _pprintString_("EDGEDETECTION usage- detect edges of a boolean image" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" contours=EdgeDetection(image);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" image: boolean matrix" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Example:" << "\n"); + _pprintString_(" load('velocities.mat');" << "\n"); + _pprintString_(" md.inversion.vx_obs=EdgeDetection(x_n,y_m,vx,md.mesh.x,md.mesh.y,0);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(EdgeDetection){ Index: ../trunk-jpl/src/wrappers/MeshProfileIntersection/MeshProfileIntersection.cpp =================================================================== --- ../trunk-jpl/src/wrappers/MeshProfileIntersection/MeshProfileIntersection.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/MeshProfileIntersection/MeshProfileIntersection.cpp (revision 15099) @@ -18,16 +18,16 @@ #include "./MeshProfileIntersection.h" void MeshProfileIntersectionUsage(void){/*{{{*/ - _printLine_(" usage:"); - _printLine_(" [segments]=MeshProfileIntersection(index,x,y,filename);"); - _printLine_(" where:"); - _printLine_(" input:"); - _printLine_(" index,x,y is a triangulation"); - _printLine_(" filename: name of Argus style .exp file containing the segments (can be groups of disconnected segments)"); - _printLine_(" output:"); - _printLine_(" segments: array made of x1,y1,x2,y2,element_id lines (x1,y1) and (x2,y2) are segment extremities for a segment "); - _printLine_(" belonging to the elemnt_id element. there are as many lines in segments as there are segments intersecting the "); - _printLine_(" mesh."); + _printString_(" usage:" << "\n"); + _printString_(" [segments]=MeshProfileIntersection(index,x,y,filename);" << "\n"); + _printString_(" where:" << "\n"); + _printString_(" input:" << "\n"); + _printString_(" index,x,y is a triangulation" << "\n"); + _printString_(" filename: name of Argus style .exp file containing the segments (can be groups of disconnected segments)" << "\n"); + _printString_(" output:" << "\n"); + _printString_(" segments: array made of x1,y1,x2,y2,element_id lines (x1,y1) and (x2,y2) are segment extremities for a segment " << "\n"); + _printString_(" belonging to the elemnt_id element. there are as many lines in segments as there are segments intersecting the " << "\n"); + _printString_(" mesh." << "\n"); }/*}}}*/ WRAPPER(MeshProfileIntersection){ Index: ../trunk-jpl/src/wrappers/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp =================================================================== --- ../trunk-jpl/src/wrappers/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/InterpFromMeshToMesh3d/InterpFromMeshToMesh3d.cpp (revision 15099) @@ -5,25 +5,25 @@ #include "./InterpFromMeshToMesh3d.h" void InterpFromMeshToMesh3dUsage(void){/*{{{*/ - _pprintLine_("INTERPFROMMESHTOMESH3D - interpolation from a 3d hexahedron mesh onto a list of point"); - _pprintLine_(""); - _pprintLine_(" This function is a multi-threaded mex file that interpolates a field"); - _pprintLine_(" defined on a triangular mesh onto a list of point"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" data_prime=InterpFromMeshToMesh3d(index,x,y,z,data,x_prime,y_prime,z_prime,default_value);"); - _pprintLine_(""); - _pprintLine_(" index: index of the mesh where data is defined"); - _pprintLine_(" x,y,z: coordinates of the nodes where data is defined"); - _pprintLine_(" data: matrix holding the data to be interpolated onto the mesh."); - _pprintLine_(" x_prime,y_prime,z_prime: coordinates of the points onto which we interpolate."); - _pprintLine_(" default_value: default value if no data is found (holes)."); - _pprintLine_(" data_prime: vector of mesh interpolated data."); - _pprintLine_(""); - _pprintLine_(" Example:"); - _pprintLine_(" load('temperature.mat');"); - _pprintLine_(" md.initialization.temperature=InterpFromMeshToMesh3d(index,x,y,z,temperature,md.mesh.x,md.mesh.y,md.mesh.z,253);"); - _pprintLine_(""); + _pprintString_("INTERPFROMMESHTOMESH3D - interpolation from a 3d hexahedron mesh onto a list of point" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This function is a multi-threaded mex file that interpolates a field" << "\n"); + _pprintString_(" defined on a triangular mesh onto a list of point" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" data_prime=InterpFromMeshToMesh3d(index,x,y,z,data,x_prime,y_prime,z_prime,default_value);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" index: index of the mesh where data is defined" << "\n"); + _pprintString_(" x,y,z: coordinates of the nodes where data is defined" << "\n"); + _pprintString_(" data: matrix holding the data to be interpolated onto the mesh." << "\n"); + _pprintString_(" x_prime,y_prime,z_prime: coordinates of the points onto which we interpolate." << "\n"); + _pprintString_(" default_value: default value if no data is found (holes)." << "\n"); + _pprintString_(" data_prime: vector of mesh interpolated data." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Example:" << "\n"); + _pprintString_(" load('temperature.mat');" << "\n"); + _pprintString_(" md.initialization.temperature=InterpFromMeshToMesh3d(index,x,y,z,temperature,md.mesh.x,md.mesh.y,md.mesh.z,253);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(InterpFromMeshToMesh3d){ Index: ../trunk-jpl/src/wrappers/Ll2xy/Ll2xy.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Ll2xy/Ll2xy.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Ll2xy/Ll2xy.cpp (revision 15099) @@ -4,28 +4,28 @@ #include "./Ll2xy.h" void Ll2xyUsage(void){/*{{{*/ - _pprintLine_("Ll2xy - lat/long to x/y coordinate transformation module:"); - _pprintLine_(""); - _pprintLine_(" This module transforms lat/long to x/y coordinates."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [x,y]=Ll2xy(lat,lon,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" lat latitude coordinates (double vector)"); - _pprintLine_(" lon longitude coordinates (double vector)"); - _pprintLine_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))"); - _pprintLine_(""); - _pprintLine_(" central_meridian central meridian (double, optional, but must specify with sp)"); - _pprintLine_(" standard_parallel standard parallel (double, optional, but must specify with cm)"); - _pprintLine_(""); - _pprintLine_(" x x coordinates (double vector)"); - _pprintLine_(" y y coordinates (double vector)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [x,y]=Ll2xy(lat,lon, 1);"); - _pprintLine_(" [x,y]=Ll2xy(lat,lon, 1,'central_meridian',45,'standard_parallel',70);"); - _pprintLine_(" [x,y]=Ll2xy(lat,lon,-1,'central_meridian', 0,'standard_parallel',71);"); - _pprintLine_(""); + _pprintString_("Ll2xy - lat/long to x/y coordinate transformation module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module transforms lat/long to x/y coordinates." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [x,y]=Ll2xy(lat,lon,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" lat latitude coordinates (double vector)" << "\n"); + _pprintString_(" lon longitude coordinates (double vector)" << "\n"); + _pprintString_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" central_meridian central meridian (double, optional, but must specify with sp)" << "\n"); + _pprintString_(" standard_parallel standard parallel (double, optional, but must specify with cm)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" x x coordinates (double vector)" << "\n"); + _pprintString_(" y y coordinates (double vector)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [x,y]=Ll2xy(lat,lon, 1);" << "\n"); + _pprintString_(" [x,y]=Ll2xy(lat,lon, 1,'central_meridian',45,'standard_parallel',70);" << "\n"); + _pprintString_(" [x,y]=Ll2xy(lat,lon,-1,'central_meridian', 0,'standard_parallel',71);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Ll2xy){ @@ -63,13 +63,13 @@ /* defaults are in Ll2xydef, so don't duplicate them here, and only use user values if both have been specified */ if(options->GetOption("central_meridian") || options->GetOption("standard_parallel")){ options->Get(&cm,"central_meridian"); - if (verbose) _printLine_(" cm=" << cm); + if (verbose) _printString_(" cm=" << cm << "\n"); options->Get(&sp,"standard_parallel"); - if (verbose) _printLine_(" sp=" << sp); + if (verbose) _printString_(" sp=" << sp << "\n"); } /*some checks*/ - if (verbose) _printLine_("Checking inputs:"); + if (verbose) _printString_("Checking inputs:" << "\n"); if (nlat != nlon){_error_("Must have same number of lat[" << nlat << "] and lon[" << nlon << "] coordinates.");} else ncoord=nlat; if (sgn != +1 && sgn != -1) _error_("Hemisphere sgn=" << sgn << " must be +1 (north) or -1 (south)."); Index: ../trunk-jpl/src/wrappers/BamgMesher/BamgMesher.cpp =================================================================== --- ../trunk-jpl/src/wrappers/BamgMesher/BamgMesher.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/BamgMesher/BamgMesher.cpp (revision 15099) @@ -4,9 +4,9 @@ #include "./BamgMesher.h" void BamgMesherUsage(void){/*{{{*/ - _pprintLine_(""); - _pprintLine_(" usage: [bamgmesh,bamggeom]=" << __FUNCT__ << "(bamgmesh,bamggeom,bamgoptions);"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_(" usage: [bamgmesh,bamggeom]=" << __FUNCT__ << "(bamgmesh,bamggeom,bamgoptions)" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(BamgMesher){ Index: ../trunk-jpl/src/wrappers/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp =================================================================== --- ../trunk-jpl/src/wrappers/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/InterpFromMeshToGrid/InterpFromMeshToGrid.cpp (revision 15099) @@ -5,19 +5,19 @@ #include "./InterpFromMeshToGrid.h" void InterpFromMeshToGridUsage(void){/*{{{*/ - _pprintLine_("INTERPFROMMESHTOGRID - interpolation of a data defined on a mesh onto a grid"); - _pprintLine_(""); - _pprintLine_(" This function is a multi-threaded mex file that interpolates a field"); - _pprintLine_(" defined on a triangular mesh onto a regular grid"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [x_m,y_m,griddata]=InterpFromMeshToGrid(index,x,y,data,xmin,ymax,xposting,yposting,nlines,ncols,default_value)"); - _pprintLine_(""); - _pprintLine_(" index,x,y: delaunay triangulation defining the mesh."); - _pprintLine_(" meshdata: vertex values of data to be interpolated."); - _pprintLine_(" xmin,ymax,posting,nlines,ncols: parameters that define the grid"); - _pprintLine_(" default_value: value of points located out of the mesh."); - _pprintLine_(""); + _pprintString_("INTERPFROMMESHTOGRID - interpolation of a data defined on a mesh onto a grid" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This function is a multi-threaded mex file that interpolates a field" << "\n"); + _pprintString_(" defined on a triangular mesh onto a regular grid" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [x_m,y_m,griddata]=InterpFromMeshToGrid(index,x,y,data,xmin,ymax,xposting,yposting,nlines,ncols,default_value)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" index,x,y: delaunay triangulation defining the mesh." << "\n"); + _pprintString_(" meshdata: vertex values of data to be interpolated." << "\n"); + _pprintString_(" xmin,ymax,posting,nlines,ncols: parameters that define the grid" << "\n"); + _pprintString_(" default_value: value of points located out of the mesh." << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(InterpFromMeshToGrid){ Index: ../trunk-jpl/src/wrappers/InterpFromGridToMesh/InterpFromGridToMesh.cpp =================================================================== --- ../trunk-jpl/src/wrappers/InterpFromGridToMesh/InterpFromGridToMesh.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/InterpFromGridToMesh/InterpFromGridToMesh.cpp (revision 15099) @@ -5,24 +5,24 @@ #include "./InterpFromGridToMesh.h" void InterpFromGridToMeshUsage(void){/*{{{*/ - _pprintLine_("INTERPFROMGRIDTOMESH - interpolation from a grid onto a list of points"); - _pprintLine_(""); - _pprintLine_(" This function is a multi-threaded mex file that interpolates a field"); - _pprintLine_(" defined on a grid onto a list of points"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" data_mesh=InterpFromGridToMesh(x,y,data,x_mesh,y_mesh,default_value);"); - _pprintLine_(""); - _pprintLine_(" data: matrix holding the data to be interpolated onto the mesh."); - _pprintLine_(" x,y: coordinates of matrix data. (x and y must be in increasing order)"); - _pprintLine_(" x_mesh,y_mesh: coordinates of the points onto which we interpolate."); - _pprintLine_(" default_value: default value if no data is found (holes)."); - _pprintLine_(" data_mesh: vector of mesh interpolated data."); - _pprintLine_(""); - _pprintLine_(" Example:"); - _pprintLine_(" load('velocities.mat');"); - _pprintLine_(" md.inversion.vx_obs=InterpFromGridToMesh(x_n,y_m,vx,md.mesh.x,md.mesh.y,0);"); - _pprintLine_(""); + _pprintString_("INTERPFROMGRIDTOMESH - interpolation from a grid onto a list of points" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This function is a multi-threaded mex file that interpolates a field" << "\n"); + _pprintString_(" defined on a grid onto a list of points" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" data_mesh=InterpFromGridToMesh(x,y,data,x_mesh,y_mesh,default_value);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" data: matrix holding the data to be interpolated onto the mesh." << "\n"); + _pprintString_(" x,y: coordinates of matrix data. (x and y must be in increasing order)" << "\n"); + _pprintString_(" x_mesh,y_mesh: coordinates of the points onto which we interpolate." << "\n"); + _pprintString_(" default_value: default value if no data is found (holes)." << "\n"); + _pprintString_(" data_mesh: vector of mesh interpolated data." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Example:" << "\n"); + _pprintString_(" load('velocities.mat');" << "\n"); + _pprintString_(" md.inversion.vx_obs=InterpFromGridToMesh(x_n,y_m,vx,md.mesh.x,md.mesh.y,0);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(InterpFromGridToMesh){ Index: ../trunk-jpl/src/wrappers/KMLFileRead/KMLFileRead.cpp =================================================================== --- ../trunk-jpl/src/wrappers/KMLFileRead/KMLFileRead.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/KMLFileRead/KMLFileRead.cpp (revision 15099) @@ -4,25 +4,25 @@ #include "./KMLFileRead.h" void KMLFileReadUsage(void){/*{{{*/ - _pprintLine_("KMLFileRead - KML file reader module:"); - _pprintLine_(""); - _pprintLine_(" This module reads a KML file."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [ierror]=KMLFileRead(kmlfile,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" kmlfile file name of kml file to be read (char)"); - _pprintLine_(""); - _pprintLine_(" echo echo command (char, optional, 'off'/'on')"); - _pprintLine_(" deepecho deep echo command (char, optional, 'off'/'on')"); - _pprintLine_(" write write command (char, optional, 'off'/'stdout'/kmlfile)"); - _pprintLine_(""); - _pprintLine_(" ierror return code (non-zero for error)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [ierror]=KMLFileRead('file.kml','deepecho','on');"); - _pprintLine_(" [ierror]=KMLFileRead('filin.kml','echo','on','write','filout.kml');"); - _pprintLine_(""); + _pprintString_("KMLFileRead - KML file reader module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module reads a KML file." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [ierror]=KMLFileRead(kmlfile,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" kmlfile file name of kml file to be read (char)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" echo echo command (char, optional, 'off'/'on')" << "\n"); + _pprintString_(" deepecho deep echo command (char, optional, 'off'/'on')" << "\n"); + _pprintString_(" write write command (char, optional, 'off'/'stdout'/kmlfile)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ierror return code (non-zero for error)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [ierror]=KMLFileRead('file.kml','deepecho','on');" << "\n"); + _pprintString_(" [ierror]=KMLFileRead('filin.kml','echo','on','write','filout.kml');" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(KMLFileRead){ @@ -83,14 +83,14 @@ /*some checks*/ if (!strlen(filnam)) strcpy(filnam,"stdout"); - if (verbose) _printLine_("Opening file \"" << filnam << "\"."); + if (verbose) _printString_("Opening file \"" << filnam << "\"." << "\n"); fidi=fopen(filnam,"r"); /* Run core computations: */ - if (verbose) _printLine_("Calling core:"); + if (verbose) _printString_("Calling core:" << "\n"); kobj=KMLFileReadx(fidi); - if (verbose) _printLine_("Closing file \"" << filnam << "\"."); + if (verbose) _printString_("Closing file \"" << filnam << "\"." << "\n"); fclose(fidi); if (kobj){ @@ -103,10 +103,10 @@ kobj->Write(stdout,""); } else { - if (verbose) _printLine_("Opening file \"" << write << "\"."); + if (verbose) _printString_("Opening file \"" << write << "\"." << "\n"); fido=fopen(write,"w"); kobj->Write(fido,""); - if (verbose) _printLine_("Closing file \"" << write << "\"."); + if (verbose) _printString_("Closing file \"" << write << "\"." << "\n"); ierror=fclose(fido); } } Index: ../trunk-jpl/src/wrappers/Shp2Kml/Shp2Kml.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Shp2Kml/Shp2Kml.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Shp2Kml/Shp2Kml.cpp (revision 15099) @@ -11,27 +11,27 @@ #include "./Shp2Kml.h" void Shp2KmlUsage(void){/*{{{*/ - _pprintLine_("Shp2Kml - shp to kml file conversion module:"); - _pprintLine_(""); - _pprintLine_(" This module converts a file from shp to kml format."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [ret]=Shp2Kml(filshp,filkml,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" filshp file name of shp file to be read (char, extension optional)"); - _pprintLine_(" filkml file name of kml file to be written (char)"); - _pprintLine_(" sgn sign for hemisphere (double, +1 (north); -1 (south); or 0 (no translation))"); - _pprintLine_(""); - _pprintLine_(" central_meridian central meridian (double, optional, but must specify with sp)"); - _pprintLine_(" standard_parallel standard parallel (double, optional, but must specify with cm)"); - _pprintLine_(""); - _pprintLine_(" ret return code (non-zero for warning)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [ret]=Shp2Kml('file.shp','file.kml', 0);"); - _pprintLine_(" [ret]=Shp2Kml('file.shp','file.kml', 1,'central_meridian',45,'standard_parallel',70);"); - _pprintLine_(" [ret]=Shp2Kml('file.shp','file.kml',-1,'central_meridian', 0,'standard_parallel',71);"); - _pprintLine_(""); + _pprintString_("Shp2Kml - shp to kml file conversion module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module converts a file from shp to kml format." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [ret]=Shp2Kml(filshp,filkml,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" filshp file name of shp file to be read (char, extension optional)" << "\n"); + _pprintString_(" filkml file name of kml file to be written (char)" << "\n"); + _pprintString_(" sgn sign for hemisphere (double, +1 (north) -1 (south) or 0 (no translation))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" central_meridian central meridian (double, optional, but must specify with sp)" << "\n"); + _pprintString_(" standard_parallel standard parallel (double, optional, but must specify with cm)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ret return code (non-zero for warning)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [ret]=Shp2Kml('file.shp','file.kml', 0);" << "\n"); + _pprintString_(" [ret]=Shp2Kml('file.shp','file.kml', 1,'central_meridian',45,'standard_parallel',70);" << "\n"); + _pprintString_(" [ret]=Shp2Kml('file.shp','file.kml',-1,'central_meridian', 0,'standard_parallel',71);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Shp2Kml){ @@ -70,9 +70,9 @@ /* defaults are in Xy2lldef, so don't duplicate them here, and only use user values if both have been specified */ if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) { options->Get(&cm,"central_meridian"); - if (verbose) _printLine_(" cm=" << cm); + if (verbose) _printString_(" cm=" << cm << "\n"); options->Get(&sp,"standard_parallel"); - if (verbose) _printLine_(" sp=" << sp); + if (verbose) _printString_(" sp=" << sp << "\n"); } /*some checks*/ Index: ../trunk-jpl/src/wrappers/AverageFilter/AverageFilter.cpp =================================================================== --- ../trunk-jpl/src/wrappers/AverageFilter/AverageFilter.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/AverageFilter/AverageFilter.cpp (revision 15099) @@ -12,13 +12,13 @@ #include "./AverageFilter.h" void AverageFilterUsage(void){/*{{{*/ - _printLine_(" AverageFilter usage:"); - _printLine_(" [image_out]=AverageFilter(image_in,pixels);\n"); - _printLine_(" where:"); - _printLine_(" image_in in double format"); - _printLine_(" pixels: characteristic size of smoothing"); - _printLine_(" image_out in double format"); - _printLine_(""); + _printString_(" AverageFilter usage:" << "\n"); + _printString_(" [image_out]=AverageFilter(image_in,pixels)" << "\n"); + _printString_(" where:" << "\n"); + _printString_(" image_in in double format" << "\n"); + _printString_(" pixels: characteristic size of smoothing" << "\n"); + _printString_(" image_out in double format" << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(AverageFilter){ Index: ../trunk-jpl/src/wrappers/TriMeshProcessRifts/TriMeshProcessRifts.cpp =================================================================== --- ../trunk-jpl/src/wrappers/TriMeshProcessRifts/TriMeshProcessRifts.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/TriMeshProcessRifts/TriMeshProcessRifts.cpp (revision 15099) @@ -5,10 +5,10 @@ #include "./TriMeshProcessRifts.h" void TriMeshProcessRiftsUsage(void){/*{{{*/ - _printLine_(""); - _printLine_(" usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=TriMeshProcessrifts(index1,x1,y1,segments1,segmentmarkers1) "); - _printLine_(" where: (index1,x1,y1,segments1,segmentmarkers1) is an initial triangulation."); - _printLine_(" index2,x2,y2,segments2,segmentmarkers2,rifts2 is the resulting triangulation where rifts have been processed."); + _printString_("" << "\n"); + _printString_(" usage: [index2,x2,y2,segments2,segmentmarkers2,rifts2]=TriMeshProcessrifts(index1,x1,y1,segments1,segmentmarkers1) " << "\n"); + _printString_(" where: (index1,x1,y1,segments1,segmentmarkers1) is an initial triangulation." << "\n"); + _printString_(" index2,x2,y2,segments2,segmentmarkers2,rifts2 is the resulting triangulation where rifts have been processed." << "\n"); }/*}}}*/ WRAPPER(TriMeshProcessRifts){ Index: ../trunk-jpl/src/wrappers/Exp2Kml/Exp2Kml.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Exp2Kml/Exp2Kml.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Exp2Kml/Exp2Kml.cpp (revision 15099) @@ -4,28 +4,28 @@ #include "./Exp2Kml.h" void Exp2KmlUsage(void){/*{{{*/ - _pprintLine_("Exp2Kml - exp to kml file conversion module:"); - _pprintLine_(""); - _pprintLine_(" This module converts a file from exp to kml format."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [ret]=Exp2Kml(filexp,filkml,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" filexp file name of exp file to be read (char)"); - _pprintLine_(" filkml file name of kml file to be written (char)"); - _pprintLine_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))"); - _pprintLine_(""); - _pprintLine_(" central_meridian central meridian (double, optional, but must specify with sp)"); - _pprintLine_(" standard_parallel standard parallel (double, optional, but must specify with cm)"); - _pprintLine_(" holes flag for treatment of multiple profiles (char, optional, 'yes' for holes))"); - _pprintLine_(""); - _pprintLine_(" ret return code (non-zero for warning)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [ret]=Exp2Kml('file.exp','file.kml', 1);"); - _pprintLine_(" [ret]=Exp2Kml('file.exp','file.kml', 1,'central_meridian',45,'standard_parallel',70,'holes','yes');"); - _pprintLine_(" [ret]=Exp2Kml('file.exp','file.kml',-1,'central_meridian', 0,'standard_parallel',71,'holes','yes');"); - _pprintLine_(""); + _pprintString_("Exp2Kml - exp to kml file conversion module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module converts a file from exp to kml format." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [ret]=Exp2Kml(filexp,filkml,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" filexp file name of exp file to be read (char)" << "\n"); + _pprintString_(" filkml file name of kml file to be written (char)" << "\n"); + _pprintString_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" central_meridian central meridian (double, optional, but must specify with sp)" << "\n"); + _pprintString_(" standard_parallel standard parallel (double, optional, but must specify with cm)" << "\n"); + _pprintString_(" holes flag for treatment of multiple profiles (char, optional, 'yes' for holes))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ret return code (non-zero for warning)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [ret]=Exp2Kml('file.exp','file.kml', 1);" << "\n"); + _pprintString_(" [ret]=Exp2Kml('file.exp','file.kml', 1,'central_meridian',45,'standard_parallel',70,'holes','yes');" << "\n"); + _pprintString_(" [ret]=Exp2Kml('file.exp','file.kml',-1,'central_meridian', 0,'standard_parallel',71,'holes','yes');" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Exp2Kml){ @@ -66,9 +66,9 @@ /* defaults are in Xy2lldef, so don't duplicate them here, and only use user values if both have been specified */ if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) { options->Get(&cm,"central_meridian"); - if (verbose) _printLine_(" cm=" << cm); + if (verbose) _printString_(" cm=" << cm << "\n"); options->Get(&sp,"standard_parallel"); - if (verbose) _printLine_(" sp=" << sp); + if (verbose) _printString_(" sp=" << sp << "\n"); } /*some checks*/ Index: ../trunk-jpl/src/wrappers/Kml2Exp/Kml2Exp.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Kml2Exp/Kml2Exp.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Kml2Exp/Kml2Exp.cpp (revision 15099) @@ -4,27 +4,27 @@ #include "./Kml2Exp.h" void Kml2ExpUsage(void){/*{{{*/ - _pprintLine_("Kml2Exp - kml to exp file conversion module:"); - _pprintLine_(""); - _pprintLine_(" This module converts a file from kml to exp format."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [ret]=Kml2Exp(filexp,filkml,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" filkml file name of kml file to be read (char)"); - _pprintLine_(" filexp file name of exp file to be written (char)"); - _pprintLine_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))"); - _pprintLine_(""); - _pprintLine_(" central_meridian central meridian (double, optional, but must specify with sp)"); - _pprintLine_(" standard_parallel standard parallel (double, optional, but must specify with cm)"); - _pprintLine_(""); - _pprintLine_(" ret return code (non-zero for warning)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [ret]=Kml2Exp('file.kml','file.exp', 1);"); - _pprintLine_(" [ret]=Kml2Exp('file.kml','file.exp', 1,'central_meridian',45,'standard_parallel',70);"); - _pprintLine_(" [ret]=Kml2Exp('file.kml','file.exp',-1,'central_meridian', 0,'standard_parallel',71);"); - _pprintLine_(""); + _pprintString_("Kml2Exp - kml to exp file conversion module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module converts a file from kml to exp format." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [ret]=Kml2Exp(filexp,filkml,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" filkml file name of kml file to be read (char)" << "\n"); + _pprintString_(" filexp file name of exp file to be written (char)" << "\n"); + _pprintString_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" central_meridian central meridian (double, optional, but must specify with sp)" << "\n"); + _pprintString_(" standard_parallel standard parallel (double, optional, but must specify with cm)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ret return code (non-zero for warning)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [ret]=Kml2Exp('file.kml','file.exp', 1);" << "\n"); + _pprintString_(" [ret]=Kml2Exp('file.kml','file.exp', 1,'central_meridian',45,'standard_parallel',70);" << "\n"); + _pprintString_(" [ret]=Kml2Exp('file.kml','file.exp',-1,'central_meridian', 0,'standard_parallel',71);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Kml2Exp){ @@ -59,9 +59,9 @@ /* defaults are in Ll2xydef, so don't duplicate them here, and only use user values if both have been specified */ if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) { options->Get(&cm,"central_meridian"); - if (verbose) _printLine_(" cm=" << cm); + if (verbose) _printString_(" cm=" << cm << "\n"); options->Get(&sp,"standard_parallel"); - if (verbose) _printLine_(" sp=" << sp); + if (verbose) _printString_(" sp=" << sp << "\n"); } /*some checks*/ Index: ../trunk-jpl/src/wrappers/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp =================================================================== --- ../trunk-jpl/src/wrappers/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/PointCloudFindNeighbors/PointCloudFindNeighbors.cpp (revision 15099) @@ -5,14 +5,14 @@ #include "./PointCloudFindNeighbors.h" void PointCloudFindNeighborsUsage(void){/*{{{*/ - _printLine_(" usage:"); - _printLine_(" [flags]=PointCloudFindNeighbors(x,y,mindistance,multithread);\n"); - _printLine_(" where:"); - _printLine_(" x,y: list of points."); - _printLine_(" mindistance: minimum distance that should exist between points in the cloud."); - _printLine_(" multithread: run multithreaded or not. with multithreads, flags can get 1 and 2 values in duplicates."); - _printLine_(" flags: array of flags (flag==1 means point is within mindistance of another point)"); - _printLine_(""); + _printString_(" usage:" << "\n"); + _printString_(" [flags]=PointCloudFindNeighbors(x,y,mindistance,multithread);" << "\n"); + _printString_(" where:" << "\n"); + _printString_(" x,y: list of points." << "\n"); + _printString_(" mindistance: minimum distance that should exist between points in the cloud." << "\n"); + _printString_(" multithread: run multithreaded or not. with multithreads, flags can get 1 and 2 values in duplicates." << "\n"); + _printString_(" flags: array of flags (flag==1 means point is within mindistance of another point)" << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(PointCloudFindNeighbors){ Index: ../trunk-jpl/src/wrappers/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp =================================================================== --- ../trunk-jpl/src/wrappers/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/PropagateFlagsFromConnectivity/PropagateFlagsFromConnectivity.cpp (revision 15099) @@ -5,9 +5,9 @@ #include "./PropagateFlagsFromConnectivity.h" void PropagateFlagsFromConnectivityUsage(void) {/*{{{*/ - _printLine_(""); - _printLine_(" usage: [pool] = " << __FUNCT__ << "(connectivity,pool,index,flags);");; - _printLine_(""); + _printString_("" << "\n"); + _printString_(" usage: [pool] = " << __FUNCT__ << "(connectivity,pool,index,flags);" << "\n");; + _printString_("" << "\n"); }/*}}}*/ WRAPPER(PropagateFlagsFromConnectivity){ Index: ../trunk-jpl/src/wrappers/TriaSearch/TriaSearch.cpp =================================================================== --- ../trunk-jpl/src/wrappers/TriaSearch/TriaSearch.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/TriaSearch/TriaSearch.cpp (revision 15099) @@ -4,14 +4,14 @@ #include "./TriaSearch.h" void TriaSearchUsage(void){/*{{{*/ - _pprintLine_("TriaSearch- find triangle holding a point (x0,y0) in a mesh"); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" tria=TriaSearch(index,x,y,x0,y0);"); - _pprintLine_(" index,x,y: mesh triangulatrion"); - _pprintLine_(" x0,y0: coordinates of the point for which we are trying to find a triangle"); - _pprintLine_(" x0,y0 can be an array of points"); - _pprintLine_(""); + _pprintString_("TriaSearch- find triangle holding a point (x0,y0) in a mesh" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" tria=TriaSearch(index,x,y,x0,y0);" << "\n"); + _pprintString_(" index,x,y: mesh triangulatrion" << "\n"); + _pprintString_(" x0,y0: coordinates of the point for which we are trying to find a triangle" << "\n"); + _pprintString_(" x0,y0 can be an array of points" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(TriaSearch){ Index: ../trunk-jpl/src/wrappers/InternalFront/InternalFront.cpp =================================================================== --- ../trunk-jpl/src/wrappers/InternalFront/InternalFront.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/InternalFront/InternalFront.cpp (revision 15099) @@ -5,9 +5,9 @@ #include "./InternalFront.h" void InternalFrontUsage(void) {/*{{{*/ - _pprintLine_(""); - _pprintLine_(" usage: icefront = " << __FUNCT__ << "(md);"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_(" usage: icefront = " << __FUNCT__ << "(md);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(InternalFront){ Index: ../trunk-jpl/src/wrappers/MeshPartition/MeshPartition.cpp =================================================================== --- ../trunk-jpl/src/wrappers/MeshPartition/MeshPartition.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/MeshPartition/MeshPartition.cpp (revision 15099) @@ -5,12 +5,12 @@ #include "./MeshPartition.h" void MeshPartitionUsage(void){/*{{{*/ - _printLine_(" usage:"); + _printString_(" usage:" << "\n"); _printString_(" [element_partitioning,node_partitioning]=MeshPartition(md.mesh,numpartitions)"); - _printLine_(" where:"); - _printLine_(" element_partitioning is a vector of partitioning area numbers, for every element."); - _printLine_(" node_partitioning is a vector of partitioning area numbers, for every node."); - _printLine_(""); + _printString_(" where:" << "\n"); + _printString_(" element_partitioning is a vector of partitioning area numbers, for every element." << "\n"); + _printString_(" node_partitioning is a vector of partitioning area numbers, for every node." << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(MeshPartition){ Index: ../trunk-jpl/src/wrappers/InterpFromMesh2d/InterpFromMesh2d.cpp =================================================================== --- ../trunk-jpl/src/wrappers/InterpFromMesh2d/InterpFromMesh2d.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/InterpFromMesh2d/InterpFromMesh2d.cpp (revision 15099) @@ -5,19 +5,19 @@ #include "./InterpFromMesh2d.h" void InterpFromMesh2dUsage(void){/*{{{*/ - _pprintLine_(" usage:"); - _pprintLine_(" data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime);\n"); - _pprintLine_(" or data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime,default_value);\n"); - _pprintLine_(" or data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime,default_value,contourname);\n"); - _pprintLine_(" where:"); - _pprintLine_(" x,y: coordinates of the nodes where data is defined"); - _pprintLine_(" index: index of the mesh where data is defined"); - _pprintLine_(" data - vector holding the data to be interpolated onto the points."); - _pprintLine_(" x_prime,y_prime: coordinates of the mesh vertices onto which we interpolate."); - _pprintLine_(" default_value: a scalar or vector of size length(x_prime)."); - _pprintLine_(" contourname: linear interpolation will happen on all x_interp,y_interp inside the contour, default value will be adopted on the rest of the mesh."); - _pprintLine_(" data_prime: vector of prime interpolated data."); - _pprintLine_(""); + _pprintString_(" usage:" << "\n"); + _pprintString_(" data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime);" << "\n"); + _pprintString_(" or data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime,default_value);" << "\n"); + _pprintString_(" or data_prime=InterpFromMesh2d(index,x,y,data,x_prime,y_prime,default_value,contourname);" << "\n"); + _pprintString_(" where:" << "\n"); + _pprintString_(" x,y: coordinates of the nodes where data is defined" << "\n"); + _pprintString_(" index: index of the mesh where data is defined" << "\n"); + _pprintString_(" data - vector holding the data to be interpolated onto the points." << "\n"); + _pprintString_(" x_prime,y_prime: coordinates of the mesh vertices onto which we interpolate." << "\n"); + _pprintString_(" default_value: a scalar or vector of size length(x_prime)." << "\n"); + _pprintString_(" contourname: linear interpolation will happen on all x_interp,y_interp inside the contour, default value will be adopted on the rest of the mesh." << "\n"); + _pprintString_(" data_prime: vector of prime interpolated data." << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(InterpFromMesh2d){ @@ -112,11 +112,11 @@ /* Debugging of contours :{{{1*/ /*for(i=0;inods); + _printString_(" Number of vertices " << contouri->nods << "\n"); for (j=0;jnods;j++){ - _printLine_(" " << *(contouri->x+j) << "f " << *(contouri->y+j) << "f"); + _printString_(" " << *(contouri->x+j) << "f " << *(contouri->y+j) << "f" << "\n"); } }*/ /*}}}*/ Index: ../trunk-jpl/src/wrappers/ElementConnectivity/ElementConnectivity.cpp =================================================================== --- ../trunk-jpl/src/wrappers/ElementConnectivity/ElementConnectivity.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/ElementConnectivity/ElementConnectivity.cpp (revision 15099) @@ -5,9 +5,9 @@ #include "./ElementConnectivity.h" void ElementConnectivityUsage(void) {/*{{{*/ - _pprintLine_(""); - _pprintLine_(" usage: elementconnectivity = " << __FUNCT__ << "(elements, nodeconnectivity);"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_(" usage: elementconnectivity = " << __FUNCT__ << "(elements, nodeconnectivity);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(ElementConnectivity){ Index: ../trunk-jpl/src/wrappers/Kriging/Kriging.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Kriging/Kriging.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Kriging/Kriging.cpp (revision 15099) @@ -8,24 +8,24 @@ #ifdef _MULTITHREADING_ num=_NUMTHREADS_; #endif - _pprintLine_(""); - _pprintLine_(" usage: predictions=" << __FUNCT__ << "(x,y,observations,x_interp,y_interp,'options');"); - _pprintLine_(" available options:"); - _pprintLine_(" -'model': Available variogram models 'gaussian' (default),'spherical','power','exponential'"); - _pprintLine_(" -'nugget': nugget effect (default 0.2)"); - _pprintLine_(" -'range': for gaussian, spherical and exponential models (default sqrt(3))"); - _pprintLine_(" -'sill': for gaussian, spherical and exponential models (default 1)"); - _pprintLine_(" -'slope': for power model (default 1)"); - _pprintLine_(" -'power': for power model (default 1)"); - _pprintLine_(" -'searchradius': search radius for each prediction (default is observations span)"); - _pprintLine_(" -'boxlength': minimum length of quadtree boxes (useful to decrease the number of observations)"); - _pprintLine_(" -'maxdata': minimum number of observations for a prediction (default is 50)"); - _pprintLine_(" -'mindata': maximum number of observations for a prediction (default is 1)"); - _pprintLine_(" -'maxtrimming': maximum trimming value (default is -1.e+21)"); - _pprintLine_(" -'mintrimming': minimum trimming value (default is +1.e+21)"); - _pprintLine_(" -'minspacing': minimum distance between observation (default is 0.01)"); - _pprintLine_(" -'numthreads': number of threads, default is "<* contour,bool* flags,int ind0,int ind1,double tolerance){/*{{{*/ @@ -144,7 +144,7 @@ nods = contour->nods; x = contour->x; y = contour->y; - _printLine_(" Initial number of vertices in contour #"<0) flags = xNew(nods); @@ -182,7 +182,7 @@ /*Do we save new profile?*/ if(newnods>=minimumvertices){ - _printLine_(" Final number of vertices in contour #"< >(1); newcontour->nods = newnods; newcontour->x = xNew(newnods); @@ -201,14 +201,14 @@ newcontours->AddObject(newcontour); } else{ - _printLine_(" Final number of vertices in contour #"<(flags); } - _printLine_(" Initial number of contours: "<Size()); - _printLine_(" Final number of contours: "<Size()); + _printString_(" Initial number of contours: "<Size() << "\n"); + _printString_(" Final number of contours: "<Size() << "\n"); /*Write data: */ ExpWrite(newcontours,expfile); Index: ../trunk-jpl/src/wrappers/Xy2ll/Xy2ll.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Xy2ll/Xy2ll.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Xy2ll/Xy2ll.cpp (revision 15099) @@ -4,28 +4,28 @@ #include "./Xy2ll.h" void Xy2llUsage(void){/*{{{*/ - _pprintLine_("Xy2ll - x/y to lat/long coordinate transformation module:"); - _pprintLine_(""); - _pprintLine_(" This module transforms x/y to lat/long coordinates."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" [lat,lon]=Xy2ll(x,y,sgn,'param name',param,...);"); - _pprintLine_(""); - _pprintLine_(" x x coordinates (double vector)"); - _pprintLine_(" y y coordinates (double vector)"); - _pprintLine_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))"); - _pprintLine_(""); - _pprintLine_(" central_meridian central meridian (double, optional, but must specify with sp)"); - _pprintLine_(" standard_parallel standard parallel (double, optional, but must specify with cm)"); - _pprintLine_(""); - _pprintLine_(" lat latitude coordinates (double vector)"); - _pprintLine_(" lon longitude coordinates (double vector)"); - _pprintLine_(""); - _pprintLine_(" Examples:"); - _pprintLine_(" [lat,lon]=Xy2ll(x,y, 1);"); - _pprintLine_(" [lat,lon]=Xy2ll(x,y, 1,'central_meridian',45,'standard_parallel',70);"); - _pprintLine_(" [lat,lon]=Xy2ll(x,y,-1,'central_meridian', 0,'standard_parallel',71);"); - _pprintLine_(""); + _pprintString_("Xy2ll - x/y to lat/long coordinate transformation module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module transforms x/y to lat/long coordinates." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" [lat,lon]=Xy2ll(x,y,sgn,'param name',param,...);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" x x coordinates (double vector)" << "\n"); + _pprintString_(" y y coordinates (double vector)" << "\n"); + _pprintString_(" sgn sign for hemisphere (double, +1 (north) or -1 (south))" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" central_meridian central meridian (double, optional, but must specify with sp)" << "\n"); + _pprintString_(" standard_parallel standard parallel (double, optional, but must specify with cm)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" lat latitude coordinates (double vector)" << "\n"); + _pprintString_(" lon longitude coordinates (double vector)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Examples:" << "\n"); + _pprintString_(" [lat,lon]=Xy2ll(x,y, 1);" << "\n"); + _pprintString_(" [lat,lon]=Xy2ll(x,y, 1,'central_meridian',45,'standard_parallel',70);" << "\n"); + _pprintString_(" [lat,lon]=Xy2ll(x,y,-1,'central_meridian', 0,'standard_parallel',71);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Xy2ll){ @@ -62,9 +62,9 @@ /* defaults are in Xy2lldef, so don't duplicate them here, and only use user values if both have been specified */ if (options->GetOption("central_meridian") || options->GetOption("standard_parallel")) { options->Get(&cm,"central_meridian"); - if (verbose) _printLine_(" cm=" << cm); + if (verbose) _printString_(" cm=" << cm << "\n"); options->Get(&sp,"standard_parallel"); - if (verbose) _printLine_(" sp=" << sp); + if (verbose) _printString_(" sp=" << sp << "\n"); } /*some checks*/ @@ -78,7 +78,7 @@ lon=(double*)mxMalloc(ncoord*sizeof(double)); /* Run core computations: */ - if (verbose) _printLine_("Calling core:"); + if (verbose) _printString_("Calling core:" << "\n"); if (options->GetOption("central_meridian") && options->GetOption("standard_parallel")) iret=Xy2llx(lat,lon,x,y,ncoord,sgn,cm,sp); else Index: ../trunk-jpl/src/wrappers/KMLMeshWrite/KMLMeshWrite.cpp =================================================================== --- ../trunk-jpl/src/wrappers/KMLMeshWrite/KMLMeshWrite.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/KMLMeshWrite/KMLMeshWrite.cpp (revision 15099) @@ -4,29 +4,29 @@ #include "./KMLMeshWrite.h" void KMLMeshWriteUsage(void){/*{{{*/ - _pprintLine_("KMLMeshWrite - KML mesh writer module:"); - _pprintLine_(""); - _pprintLine_(" This module writes the mesh of a model as KML polygons into the specified KML file."); - _pprintLine_(""); - _pprintLine_(" Usage:"); - _pprintLine_(" ierror=KMLMeshWrite(name,notes,elem,nodecon,lat,long,part,data,cmap,kmlfile);"); - _pprintLine_(""); - _pprintLine_(" name model name (string, may be empty)"); - _pprintLine_(" notes model notes (string or cell array of strings, may be empty)"); - _pprintLine_(" elem elements (double array)"); - _pprintLine_(" nodecon nodal connectivity array (double array, may be empty)"); - _pprintLine_(" lat nodal latititudes (double vector)"); - _pprintLine_(" long nodal longitudes (double vector)"); - _pprintLine_(" part nodal partitions (double vector, may be empty)"); - _pprintLine_(" data nodal or element data (double vector, may be empty)"); - _pprintLine_(" cmap color map (double nx3 array, may be empty)"); - _pprintLine_(" kmlfile KML file name (string)"); - _pprintLine_(""); - _pprintLine_(" ierror error flag (double, non-zero for error)"); - _pprintLine_(""); - _pprintLine_(" Example:"); - _pprintLine_(" KMLMeshWrite(md.name,md.notes,md.elements,md.nodeconnectivity,md.lat,md.long,md.part,md.fm_criterion,options.cmap,filekml);"); - _pprintLine_(""); + _pprintString_("KMLMeshWrite - KML mesh writer module:" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" This module writes the mesh of a model as KML polygons into the specified KML file." << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Usage:" << "\n"); + _pprintString_(" ierror=KMLMeshWrite(name,notes,elem,nodecon,lat,long,part,data,cmap,kmlfile);" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" name model name (string, may be empty)" << "\n"); + _pprintString_(" notes model notes (string or cell array of strings, may be empty)" << "\n"); + _pprintString_(" elem elements (double array)" << "\n"); + _pprintString_(" nodecon nodal connectivity array (double array, may be empty)" << "\n"); + _pprintString_(" lat nodal latititudes (double vector)" << "\n"); + _pprintString_(" long nodal longitudes (double vector)" << "\n"); + _pprintString_(" part nodal partitions (double vector, may be empty)" << "\n"); + _pprintString_(" data nodal or element data (double vector, may be empty)" << "\n"); + _pprintString_(" cmap color map (double nx3 array, may be empty)" << "\n"); + _pprintString_(" kmlfile KML file name (string)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" ierror error flag (double, non-zero for error)" << "\n"); + _pprintString_("" << "\n"); + _pprintString_(" Example:" << "\n"); + _pprintString_(" KMLMeshWrite(md.name,md.notes,md.elements,md.nodeconnectivity,md.lat,md.long,md.part,md.fm_criterion,options.cmap,filekml);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(KMLMeshWrite){ Index: ../trunk-jpl/src/wrappers/TriMesh/TriMesh.cpp =================================================================== --- ../trunk-jpl/src/wrappers/TriMesh/TriMesh.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/TriMesh/TriMesh.cpp (revision 15099) @@ -5,13 +5,13 @@ #include "./TriMesh.h" void TriMeshUsage(void){/*{{{*/ - _printLine_(""); - _printLine_(" usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,rifts,area) "); - _printLine_(" where: index,x,y defines a triangulation, segments is an array made "); - _printLine_(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, "); - _printLine_(" outlinefilename an Argus domain outline file, "); - _printLine_(" area is the maximum area desired for any element of the resulting mesh, "); - _printLine_(""); + _printString_("" << "\n"); + _printString_(" usage: [index,x,y,segments,segmentmarkers]=TriMesh(domainoutlinefilename,rifts,area) " << "\n"); + _printString_(" where: index,x,y defines a triangulation, segments is an array made " << "\n"); + _printString_(" of exterior segments to the mesh domain outline, segmentmarkers is an array flagging each segment, " << "\n"); + _printString_(" outlinefilename an Argus domain outline file, " << "\n"); + _printString_(" area is the maximum area desired for any element of the resulting mesh, " << "\n"); + _printString_("" << "\n"); }/*}}}*/ WRAPPER(TriMesh){ Index: ../trunk-jpl/src/wrappers/Chaco/Chaco.cpp =================================================================== --- ../trunk-jpl/src/wrappers/Chaco/Chaco.cpp (revision 15098) +++ ../trunk-jpl/src/wrappers/Chaco/Chaco.cpp (revision 15099) @@ -11,9 +11,9 @@ #include "./Chaco.h" void ChacoUsage(void){/*{{{*/ - _pprintLine_(""); - _pprintLine_("Usage: [assgn] = Chaco(A,vwgts,ewgts,x,y,z,options,nparts,goal);"); - _pprintLine_(""); + _pprintString_("" << "\n"); + _pprintString_("Usage: [assgn] = Chaco(A,vwgts,ewgts,x,y,z,options,nparts,goal);" << "\n"); + _pprintString_("" << "\n"); }/*}}}*/ WRAPPER(Chaco){ @@ -85,24 +85,24 @@ /*Some debugging print: {{{*/ #ifdef _DEBUG_ - _printLine_("nvtxs: " << nvtxs); + _printString_("nvtxs: " << nvtxs << "\n"); _printString_("options: ["); for(i=0;i<10;i++)_printString_(options[i] << "|"); - _printLine_("]"); - _printLine_("start: "); + _printString_("]" << "\n"); + _printString_("start: " << "\n"); for (i=0; i