HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
HDK
Houdini Development Kit
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
PDGT_Utils.h
Go to the documentation of this file.
1
/*
2
* PROPRIETARY INFORMATION. This software is proprietary to
3
* Side Effects Software Inc., and is not to be reproduced,
4
* transmitted, or disclosed in any way without written permission.
5
*
6
* COMMENTS:
7
*/
8
9
#ifndef __PDGT_UTILS_H__
10
#define __PDGT_UTILS_H__
11
12
#include "
PDGT_API.h
"
13
14
#include <
UT/UT_KnownPath.h
>
15
16
class
UT_StringArray
;
17
class
UT_StringHolder
;
18
class
UT_WorkBuffer
;
19
20
/**
21
* Utility functions for loading PDG type definitions from Python modules
22
* and shared libraries.
23
*/
24
class
PDGT_API
PDGT_Utils
25
{
26
public
:
27
/// Loads a shared library containing PDG type definitions, given a path
28
/// to the dso, the name of the function to call in the library and the
29
/// argument to that function.
30
static
bool
loadDSO(
const
UT_StringHolder
& dso_path,
31
const
UT_StringHolder
& dso_function,
32
void
* dso_arg);
33
34
/// Loads shared libraries on the Houdini dso path that have the specified
35
/// dso_function and calls that function with the dso_arg.
36
static
bool
loadDSO(
const
UT_StringHolder
& dso_function,
void
* dso_arg);
37
38
/// Loads PDG types from all Python modules, and stores them in the module
39
/// specified by `type_module`. For example, in PDG the type_module is
40
/// set to `pdg.types`.
41
static
bool
loadPythonModules(
const
UT_StringHolder
& type_module,
42
UT_WorkBuffer
& errors);
43
44
/// Loads PDG types from a Python module at a specifc path on the system.
45
static
bool
loadPythonPath(
const
UT_StringHolder
& type_module,
46
const
UT_StringHolder
&
path
,
47
UT_WorkBuffer
& errors);
48
49
/// Reloads the PDG type from the specified Python module.
50
static
bool
reloadPythonModule(
const
UT_StringHolder
& type_module,
51
const
UT_StringHolder
& python_module,
52
bool
reregister,
53
UT_WorkBuffer
& errors);
54
55
/// Returns the array of search paths for finding PDG types definitions.
56
static
void
searchPath(
UT_StringArray
& path_list,
57
UT_KnownPath
search_instance);
58
59
/// Finds the specified file name on the search path, and returns the
60
/// absolute path to the file.
61
static
bool
findFile(
const
UT_StringHolder
& file_name,
62
UT_StringHolder
& output_file,
63
UT_KnownPath
search_instance);
64
65
66
/// Globs all files with the specified extension on the PDG search path,
67
/// with an optional subdirectory.
68
static
bool
globFiles(
UT_StringArray
& file_list,
69
UT_KnownPath
search_instance,
70
const
UT_StringHolder
&
extension
,
71
const
UT_StringHolder
& subdirectory,
72
bool
full_path);
73
74
/// Globs all of the directories from the search path
75
static
bool
globDirectories(
UT_StringArray
& dir_list,
76
UT_KnownPath
search_instance,
77
const
UT_StringHolder
&
search
,
78
bool
full_path,
79
bool
unique
);
80
81
/// Globs the list of import-able Python modules from the PDG type
82
/// search path.
83
static
bool
globPythonModules(
UT_StringArray
& file_list,
84
UT_KnownPath
search_instance,
85
const
UT_StringHolder
& subdir,
86
bool
full_path,
87
bool
unique);
88
89
/// Returns a list of directories/files to skip when globbing python
90
/// modules
91
static
bool
moduleSkipList(
UT_StringArray
& skip_list);
92
};
93
94
#endif
PDGT_API
#define PDGT_API
Definition:
PDGT_API.h:23
UT_KnownPath
UT_KnownPath
Definition:
UT_KnownPath.h:14
UT_WorkBuffer
Definition:
UT_WorkBuffer.h:74
UT_KnownPath.h
path
GLsizei const GLchar *const * path
Definition:
glcorearb.h:3341
PDGT_Utils
Definition:
PDGT_Utils.h:24
UT_StringHolder
Definition:
UT_StringHolder.h:999
UT_StringArray
Definition:
UT_StringArray.h:24
pxr_CLI::CLI::detail::search
auto search(const T &set, const V &val) -> std::pair< bool, decltype(std::begin(detail::smart_deref(set)))>
A search function.
Definition:
CLI11.h:3170
unique
I unique(I begin, I end)
Definition:
pugixml.cpp:7195
PDGT_API.h
Filesystem::extension
OIIO_UTIL_API std::string extension(string_view filepath, bool include_dot=true) noexcept
PDGT
PDGT_Utils.h
Generated on Sat Mar 29 2025 02:43:53 for HDK by
1.8.6