ArcGIS Procedural Runtime  3.1.9666
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
API.h
1 /*
2  COPYRIGHT (c) 2012-2023 Esri R&D Center Zurich
3  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
4  Unpublished material - all rights reserved under the
5  Copyright Laws of the United States and applicable international
6  laws, treaties, and conventions.
7 
8  For additional information, contact:
9  Environmental Systems Research Institute, Inc.
10  Attn: Contracts and Legal Services Department
11  380 New York Street
12  Redlands, California, 92373
13  USA
14 
15  email: contracts@esri.com
16 */
17 
18 #ifndef PRT_API_H_
19 #define PRT_API_H_
20 
21 #include "prt/prt.h"
22 #include "prt/Status.h"
23 #include "prt/InitialShape.h"
24 #include "prt/RuleFileInfo.h"
25 #include "prt/EncoderInfo.h"
26 #include "prt/DecoderInfo.h"
27 #include "prt/LogLevel.h"
28 #include "prt/LogHandler.h"
29 #include "prt/Callbacks.h"
30 #include "prt/Version.h"
31 #include "prt/OcclusionSet.h"
32 
33 
39 namespace prt {
40 
41 
42 // --- MAIN PRT API CALLS
43 
44 
57 PRT_EXPORTS_API const Object* init(
58  const wchar_t* const* prtPlugins,
59  size_t prtPluginsCount,
60  LogLevel logLevel,
61  Status* stat = nullptr
62 );
63 
88 PRT_EXPORTS_API Status generate(
89  const InitialShape* const* initialShapes,
90  size_t initialShapeCount,
91  const OcclusionSet::Handle* occlusionHandles,
92  const wchar_t* const* encoders,
93  size_t encodersCount,
94  const AttributeMap* const* encoderOptions,
95  Callbacks* callbacks,
96  Cache* cache,
97  const OcclusionSet* occlSet,
98  const AttributeMap* generateOptions = nullptr
99 );
100 
130 PRT_EXPORTS_API Status generate(
131  const InitialShape* const* initialShapes,
132  size_t initialShapeCount,
133  const OcclusionSet::Handle* occlusionHandles,
134  const wchar_t* const* encoders,
135  size_t encodersCount,
136  const AttributeMap* const* encoderOptions,
137  Callbacks* callbacks,
138  Cache* cache,
139  const OcclusionSet* const* occlSets,
140  const size_t* occlSetCounts,
141  const AttributeMap* generateOptions = nullptr
142 );
143 
173 PRT_EXPORTS_API Status generateOccluders(
174  const InitialShape* const* initialShapes,
175  size_t initialShapeCount,
176  OcclusionSet::Handle* occlusionHandles,
177  const wchar_t* const* encoders,
178  size_t encodersCount,
179  const AttributeMap* const* encoderOptions,
180  Callbacks* callbacks,
181  Cache* cache,
182  OcclusionSet* occlSet,
183  const AttributeMap* generateOptions = nullptr
184 );
185 
198 PRT_EXPORTS_API RuleFileInfo const* createRuleFileInfo(
199  const wchar_t* ruleFileURI,
200  Cache* cache = nullptr,
201  Status* stat = nullptr
202 );
203 
218 PRT_EXPORTS_API ResolveMap const* createResolveMap(
219  const wchar_t* rpkOrResURI,
220  const wchar_t* unpackFileSystemPath = nullptr,
221  Status* stat = nullptr
222 );
223 
224 
225 // --- EXTENSIONS
226 
242 PRT_EXPORTS_API wchar_t* listEncoderIds(wchar_t* result, size_t* resultSize, Status* stat = nullptr);
243 
259 PRT_EXPORTS_API wchar_t* listDecoderIds(wchar_t* result, size_t* resultSize, Status* stat = nullptr);
260 
274 PRT_EXPORTS_API EncoderInfo const* createEncoderInfo(const wchar_t* encoderId, Status* stat = nullptr);
275 
289 PRT_EXPORTS_API DecoderInfo const* createDecoderInfo(const wchar_t* decoderId, Status* stat = nullptr);
290 
291 
292 // --- TEXTURE HANDLING
293 
310 PRT_EXPORTS_API const AttributeMap* createTextureMetadata(
311  const wchar_t* uri,
312  Cache* cache = nullptr,
313  Status* stat = nullptr
314 );
315 
329 PRT_EXPORTS_API Status getTexturePixeldata(
330  const wchar_t* uri,
331  uint8_t* buffer,
332  size_t bufferSize,
333  Cache* cache = nullptr
334 );
335 
348 PRT_EXPORTS_API Status encodeTexture(
349  const AttributeMap* metadata,
350  const uint8_t* pixeldata,
351  const wchar_t* encoderId,
352  const AttributeMap* encoderOptions,
353  SimpleOutputCallbacks* soc
354 );
355 
356 
357 // --- UTILS
358 
362 PRT_EXPORTS_API const char* getStatusDescription(Status stat);
363 
367 PRT_EXPORTS_API Version const* getVersion();
368 
369 
370 // --- LOGGING
371 
380 PRT_EXPORTS_API Status addLogHandler(LogHandler* logHandler);
381 
390 PRT_EXPORTS_API Status removeLogHandler(LogHandler* logHandler);
391 
401 PRT_EXPORTS_API Status log(const wchar_t* msg, LogLevel level);
402 
406 PRT_EXPORTS_API Status setLogLevel(LogLevel level);
407 
411 PRT_EXPORTS_API LogLevel getLogLevel(Status* status = nullptr);
412 
413 } /* namespace prt */
414 
415 
416 #endif /* PRT_API_H_ */
Status addLogHandler(LogHandler *logHandler)
wchar_t * listEncoderIds(wchar_t *result, size_t *resultSize, Status *stat=nullptr)
const char * getStatusDescription(Status stat)
Status generateOccluders(const InitialShape *const *initialShapes, size_t initialShapeCount, OcclusionSet::Handle *occlusionHandles, const wchar_t *const *encoders, size_t encodersCount, const AttributeMap *const *encoderOptions, Callbacks *callbacks, Cache *cache, OcclusionSet *occlSet, const AttributeMap *generateOptions=nullptr)
LogLevel
Definition: LogLevel.h:29
DecoderInfo const * createDecoderInfo(const wchar_t *decoderId, Status *stat=nullptr)
ResolveMap const * createResolveMap(const wchar_t *rpkOrResURI, const wchar_t *unpackFileSystemPath=nullptr, Status *stat=nullptr)
Version const * getVersion()
Status encodeTexture(const AttributeMap *metadata, const uint8_t *pixeldata, const wchar_t *encoderId, const AttributeMap *encoderOptions, SimpleOutputCallbacks *soc)
const AttributeMap * createTextureMetadata(const wchar_t *uri, Cache *cache=nullptr, Status *stat=nullptr)
Status log(const wchar_t *msg, LogLevel level)
Status getTexturePixeldata(const wchar_t *uri, uint8_t *buffer, size_t bufferSize, Cache *cache=nullptr)
Status
Definition: Status.h:31
LogLevel getLogLevel(Status *status=nullptr)
EncoderInfo const * createEncoderInfo(const wchar_t *encoderId, Status *stat=nullptr)
Status setLogLevel(LogLevel level)
const Object * init(const wchar_t *const *prtPlugins, size_t prtPluginsCount, LogLevel logLevel, Status *stat=nullptr)
RuleFileInfo const * createRuleFileInfo(const wchar_t *ruleFileURI, Cache *cache=nullptr, Status *stat=nullptr)
Status generate(const InitialShape *const *initialShapes, size_t initialShapeCount, const OcclusionSet::Handle *occlusionHandles, const wchar_t *const *encoders, size_t encodersCount, const AttributeMap *const *encoderOptions, Callbacks *callbacks, Cache *cache, const OcclusionSet *occlSet, const AttributeMap *generateOptions=nullptr)
wchar_t * listDecoderIds(wchar_t *result, size_t *resultSize, Status *stat=nullptr)
Status removeLogHandler(LogHandler *logHandler)