23 #ifndef vtkResourceFileLocator_h
24 #define vtkResourceFileLocator_h
26 #include "vtkCommonMiscModule.h"
32 VTK_ABI_NAMESPACE_BEGIN
45 vtkSetMacro(LogVerbosity,
int);
46 vtkGetMacro(LogVerbosity,
int);
69 const std::vector<std::string>& landmark_prefixes,
const std::string& landmark,
99 #define _vtkGetSymbolNameAsString(x) _vtkGetSymbolNameAsString_I((x))
101 #define _vtkGetSymbolNameAsString_I(x) _vtkGetSymbolNameAsString_II x
103 #define _vtkGetSymbolNameAsString_II(...) #__VA_ARGS__
105 #if defined(_WIN32) && !defined(__CYGWIN__)
106 #define vtkGetLibraryPathForSymbol(function) \
107 vtkResourceFileLocator::GetLibraryPathForSymbolWin32(reinterpret_cast<const void*>(&function))
109 #define vtkGetLibraryPathForSymbol(function) \
110 vtkResourceFileLocator::GetLibraryPathForSymbolUnix(_vtkGetSymbolNameAsString(function))
113 VTK_ABI_NAMESPACE_END
a simple class to control print indentation
abstract base class for most VTK objects
utility to locate resource files.
virtual std::string Locate(const std::string &anchor, const std::string &landmark, const std::string &defaultDir=std::string())
Given a starting anchor directory, look for the landmark file relative to the anchor.
~vtkResourceFileLocator() override
static VTK_FILEPATH std::string GetLibraryPathForSymbolUnix(const char *symbolname)
Returns the name of the library providing the symbol.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static VTK_FILEPATH std::string GetLibraryPathForSymbolWin32(const void *fptr)
Returns the name of the library providing the symbol.
static vtkResourceFileLocator * New()
virtual std::string Locate(const std::string &anchor, const std::vector< std::string > &landmark_prefixes, const std::string &landmark, const std::string &defaultDir=std::string())
This variant is used to look for landmark relative to the anchor using additional prefixes for the la...