ArcGIS Procedural Runtime  3.2.10650
TrimPlane.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_TRIMPLANE_H_
19 #define PRTX_TRIMPLANE_H_
20 
21 #include "prtx/Geometry.h"
22 
23 #ifdef _MSC_VER
24 # pragma warning(push)
25 # pragma warning (disable : 4251 4231 4275 4660)
26 #endif
27 
28 #include <memory>
29 
30 
31 namespace prtx {
32 
33 
34 class TrimPlane;
35 typedef std::shared_ptr<TrimPlane> TrimPlanePtr;
36 typedef std::vector<TrimPlanePtr> TrimPlanePtrVector;
37 
45 class PRTX_EXPORTS_API TrimPlane {
46 public:
47  TrimPlane(const TrimPlane&) = delete;
48  TrimPlane& operator=(const TrimPlane&) = delete;
49  virtual ~TrimPlane();
50 
55  bool isHorizontal() const;
60  bool isVertical() const;
67  bool isLimited() const;
68 
72  const DoubleVector& getOrigEdgeCoords() const;
78  MeshPtr getMesh() const;
79 
80 protected:
81  struct Payload;
82  Payload* mPayload;
83 
84  TrimPlane(Payload* payload);
85 };
86 
87 
88 } /* namespace prtx */
89 
90 
91 #ifdef _MSC_VER
92 # pragma warning(pop)
93 #endif
94 
95 
96 #endif /* PRTX_TRIMPLANE_H_ */
std::vector< TrimPlanePtr > TrimPlanePtrVector
vector of shared TrimPlane pointers
Definition: TrimPlane.h:36
std::vector< double > DoubleVector
vector of double
Definition: Types.h:32
The Procedural Runtime eXtension namespace. The prtx namespace contains the tools to extend the Proce...
Definition: AnnotationBuilder.h:35
std::shared_ptr< Mesh > MeshPtr
shared Mesh pointer
Definition: DataBackend.h:41
Definition: TrimPlane.h:45
std::shared_ptr< TrimPlane > TrimPlanePtr
shared TrimPlane pointer
Definition: TrimPlane.h:34