/*========================================================================= Program: ParaView Module: vtkPVTestUtilities.cxx Copyright (c) Kitware, Inc. All rights reserved. See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #include "vtkPVTestUtilities.h" #include "vtkObjectFactory.h" #include "vtkType.h" #include "vtkPolyData.h" #include "vtkPointData.h" #include "vtkDataArray.h" #include "vtkDoubleArray.h" #include "vtkFloatArray.h" #include // #include // #include "vtkType.h"// using std::string; using std::vector; vtkStandardNewMacro(vtkPVTestUtilities); //----------------------------------------------------------------------------- void vtkPVTestUtilities::Initialize(int argc, char **argv) { this->DataRoot = NULL; this->TempRoot = NULL; this->Argc=argc; this->Argv=argv; if (!((argc==0)||(argv==0))) { this->DataRoot=this->GetDataRoot(); this->TempRoot=this->GetTempRoot(); } } //----------------------------------------------------------------------------- char *vtkPVTestUtilities::GetDataRoot() { return this->GetCommandTailArgument("-D"); } //----------------------------------------------------------------------------- char *vtkPVTestUtilities::GetTempRoot() { return this->GetCommandTailArgument("-T"); } //----------------------------------------------------------------------------- char *vtkPVTestUtilities::GetCommandTailArgument(const char *tag) { for (int i=1; iArgc; ++i) { if (string(this->Argv[i])==string(tag)) { if ((i+1)Argc) { return this->Argv[i+1]; } else { break; } } } return 0; } //----------------------------------------------------------------------------- // int vtkPVTestUtilities::CheckForCommandTailArgument(const char *tag) // { // for (int i=1; iArgc; ++i) // { // if (string(this->Argv[i])==string(tag)) // { // return this->Argv[i+1]; // } // } // return 0; // } //----------------------------------------------------------------------------- char vtkPVTestUtilities::GetPathSep() { #if defined _WIN32 && !defined __CYGWIN__ return '\\'; #elif defined _WIN64 && !defined __CYGWIN__ return '\\'; #else return '/'; #endif } //----------------------------------------------------------------------------- // Concat the data root path to the name supplied. // The return is a c string that has the correct // path seperators. char *vtkPVTestUtilities::GetFilePath( const char *base, const char *name) { int baseLen=static_cast(strlen(base)); int nameLen=static_cast(strlen(name)); int pathLen=baseLen+1+nameLen+1; char *filePath=new char[pathLen]; int i=0; for (; iGetPathSep()=='\\' && base[i]=='/') { filePath[i]='\\'; } else { filePath[i]=base[i]; } } filePath[i]=this->GetPathSep(); ++i; for (int j=0; jGetPathSep()=='\\' && name[j]=='/') { filePath[i]='\\'; } else { filePath[i]=name[j]; } } filePath[i]='\0'; return filePath; } //----------------------------------------------------------------------------- void vtkPVTestUtilities::PrintSelf(ostream& os, vtkIndent indent) { this->Superclass::PrintSelf(os,indent); os << indent << "argc=" << this->Argc << endl; os << indent << "argv=" << this->Argv << endl; if(this->DataRoot) { os << indent << "DataRoot=" << this->DataRoot << endl; } if(this->TempRoot) { os << indent << "TempRoot=" << this->TempRoot << endl; } }