virtual void AnalyzeStep( avtIVPStep &step, avtIVPField *field) { avtVector p = step.GetP1(); dist += sqrt((p.x-last_loc[0])*(p.x-last_loc[0])+ (p.y-last_loc[1])*(p.y-last_loc[1])); last_loc[0] = p.x; last_loc[1] = p.y; if (numSteps++ >= 1000) status = STATUS_FINISHED; }
// **************************************************************************** // Method: avtLCSIC::AnalyzeStep // // Purpose: // Analyzes the current step. // // Programmer: Allen Sanderson // Creation: August 14, 2013 // // Modifications: // // **************************************************************************** void avtLCSIC::AnalyzeStep( avtIVPStep &step, avtIVPField *field) { if (CheckForTermination(step, field)) status.SetTerminationMet(); // These must be called after CheckForTermination, because // CheckForTermination will modify the step if it goes beyond the // termination criteria. (Example: streamlines will split a step if it // is terminating by distance.) p_end = step.GetP1(); time = step.GetT1(); arcLength += step.GetLength(); distance += step.GetLength(); summation0 += (p_start - p_end).length(); summation1 = (p_start - p_end).length(); }