ArcGIS Procedural Runtime
3.2.10650
|
#include <ResolveMapProvider.h>
Public Member Functions | |
virtual prt::ResolveMap const * | createResolveMap (prtx::URIPtr uri) const =0 |
virtual prt::ContentType | getContentType () const final override |
virtual prtx::Extension::ExtensionType | getExtensionType () const final override |
Public Member Functions inherited from prtx::Extension | |
Extension (const Extension &)=delete | |
Extension & | operator= (const Extension &)=delete |
Additional Inherited Members | |
Public Types inherited from prtx::Extension | |
enum | ExtensionType { ET_UNDEFINED, ET_STREAM_ADAPTOR, ET_RESOLVEMAP_PROVIDER, ET_ENCODER, ET_DECODER, ET_COUNT } |
Static Public Member Functions inherited from prtx::Extension | |
static prt::ContentType | toContentType (const std::wstring &ctStr) |
static ExtensionType | toExtensionType (const std::wstring &etStr) |
static const std::wstring & | toString (const ExtensionType &et) |
static const std::wstring & | toString (const prt::ContentType &ct) |
A ResolveMapProvider scans a resource identified by a prtx::URI and creates a prt::ResolveMap of "embedded" resources. The resulting ResolveMap will contain composite URIs addressing the individual embedded resources.
A typical use case is to scan for embedded textures within a self-contained asset format like GLB (GLTF) or USDZ.
Generally, a ResolveMapProvider is used with a corresponding prtx::Adaptor which can open an input stream from a composite URI. See prtx::ResolveMapProvider::createResolveMap for examples of the two most typical forms of composite URIs.
|
pure virtual |
Scans the resource tree specified by uri and populates a resolve map with the found keys and URIs.
Typically, a zip-like container "foo" would produce entries like: assets/resource.foo/internal/path/file.ext -> foo:file:/abs/path/assets/resource.foo!/internal/path/file.ext
A resource "bar" with sequential buffers would produce entries like: assets/resource.bar/file_1.ext -> bar:file:/abs/path/assets/resource.bar!/<off>/<len>/file_1.ext
uri | The root of the resource tree. |
|
inlinefinaloverridevirtual |
The content type of a ResolveMap Provider is undefined, it can decode into multiple possible content objects.
Implements prtx::Extension.
|
inlinefinaloverridevirtual |
Fixates the extension type to ET_RESOLVEMAP_PROVIDER.
Implements prtx::Extension.