ArcGIS Procedural Runtime  3.2.10650
DebugUtils.h
1 /*
2  COPYRIGHT (c) 2012-2024 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 PRTX_DEBUGUTILS_H_
19 #define PRTX_DEBUGUTILS_H_
20 
21 #include "prtx/prtx.h"
22 #include <ostream>
23 #include <memory>
24 
25 
26 namespace prtx {
27 
28 class Attributable;
29 class Mesh;
30 class Geometry;
31 class Material;
32 class Shader;
33 class Texture;
34 class TrimPlane;
35 class BoundingBox;
36 class Reports;
38 
39 typedef std::shared_ptr<Geometry> GeometryPtr;
40 typedef std::shared_ptr<Reports> ReportsPtr;
41 
42 
48 namespace DebugUtils {
49 
50 
51 PRTX_EXPORTS_API void dump(std::wostream& stream, const Attributable& a);
52 
53 
57 PRTX_EXPORTS_API void dump(std::wostream& stream, const Geometry& g);
58 
62 PRTX_EXPORTS_API void dump(std::wostream& stream, const Mesh& mesh);
63 
67 PRTX_EXPORTS_API void dump(std::wostream& stream, const Material& m);
68 
72 PRTX_EXPORTS_API void dump(std::wostream& stream, const Shader& m);
73 
77 PRTX_EXPORTS_API void dump(std::wostream& stream, const Texture& m);
78 
82 PRTX_EXPORTS_API void dump(std::wostream& stream, const TrimPlane& m);
83 
84 PRTX_EXPORTS_API void dump(prtx::GenerateContext& context, size_t initialShapeIndex, const std::wstring& pathToDotFile);
85 
89 PRTX_EXPORTS_API std::ostream& operator<<(std::ostream& stream, const BoundingBox& b);
90 
94 PRTX_EXPORTS_API std::wostream& operator<<(std::wostream& stream, const BoundingBox& b);
95 
99 PRTX_EXPORTS_API std::wostream& operator<<(std::wostream& stream, const prtx::ReportsPtr& r);
100 
104 PRTX_EXPORTS_API prtx::GeometryPtr toGeometry(const prtx::BoundingBox& bbox, const std::wstring& geoName = std::wstring());
105 
106 
107 } // namespace DebugUtils
108 
109 
110 } // namespace prtx
111 
112 
113 #endif /* PRTX_DEBUGUTILS_H_ */
Definition: GenerateContext.h:42
Definition: BoundingBox.h:38
Definition: /Attributable.h:37
Definition: Texture.h:59
Definition: Material.h:202
Definition: Geometry.h:59
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
std::shared_ptr< Geometry > GeometryPtr
shared Geometry pointer
Definition: DebugUtils.h:37
prtx::GeometryPtr toGeometry(const prtx::BoundingBox &bbox, const std::wstring &geoName=std::wstring())
Definition: Shader.h:87
Definition: Mesh.h:73
Definition: TrimPlane.h:45
std::ostream & operator<<(std::ostream &stream, const BoundingBox &b)