ArcGIS Procedural Runtime
3.2.10650
|
#include <Decoder.h>
Public Member Functions | |
virtual void | decode (ContentPtrVector &results, std::istream &stream, prt::Cache *cache, const std::wstring &key, prtx::ResolveMap const *resolveMap, std::wstring &warnings)=0 |
virtual ExtensionType | getExtensionType () const final override |
Public Member Functions inherited from prtx::Extension | |
Extension (const Extension &)=delete | |
virtual prt::ContentType | getContentType () const =0 |
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) |
Base class for all decoders. A decoder accepts a byte stream and constructs one or more Content subclass objects from it. Typically the byte stream is created by a StreamAdaptor from an URI (e.g. a file). A decoder then parses the stream (e.g. a text stream from a Wavefront OBJ file) and creates the corresponding prtx::Geometry objects.
For a list of built-in decoders, consult the Built-In Codecs Reference.
|
pure virtual |
Accepts a byte stream and creates corresponding objects from Content derived classes. It is legal to defer parts of the stream to nested decoders or calling the DataBackend on dependent URIs.
[in,out] | results | Receives the created content objects. |
[in] | stream | The input byte stream, typically created by a StreamAdaptor. |
[in] | cache | Cache object potentially necessary for nested calls to the DataBackend. |
[in] | key | Keys into resolveMap to retrieve the URI on which the stream is based. |
[in] | resolveMap | See key. |
[in,out] | warnings | Decoders may append any warnings encountered during decoding to this string. The warnings will be collected and forwarded to the DataBackend. |
|
inlinefinaloverridevirtual |
Fixates the extension types of all subclasses to prtx::Extension::ET_DECODER.
Implements prtx::Extension.