VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
luaFeatureGeometry.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrfLua/vrfLuaDefines.h>
13 
15 #include <features/proj.h>
16 
17 #include "vrfutil/scriptGeometry.h"
19 #include <vrfutil/objectCounter.h>
20 
26  : public DtAsciiSerializable
27  , public DtObjectDebugger<DtLuaFeatureGeometry>
28 {
29 public:
30  MAKVRinTerra::DtFeatureGeometry geometry() const;
31 
32  std::string type() const;
33  std::string description() const;
34  std::string toWKT() const;
35 
36  bool isValid() const;
37  bool isEmpty() const;
38 
39  bool isPoint() const;
40  bool isPath() const;
41  bool isArea() const;
42  bool isUnknown() const;
43 
44  unsigned dimension() const;
45  unsigned numberOfPoints() const;
46  unsigned numberOfGeometries() const;
47 
48  DtLuaFeatureGeometry simplify(double tolerance) const;
49 
50  std::vector<DtLocation3D> points() const;
51  std::vector<DtLocation3D> pointsWithHeight() const;
52  std::vector<DtLocation3D> pointsWithoutHeight() const;
53  DtLocation3D singlePointWithHeight(bool& valid) const;
54 
55  std::vector<DtLuaFeatureGeometry> subGeometries() const;
56 
57  bool equals(DtLuaFeatureGeometry g) const;
58  bool intersects(DtLuaFeatureGeometry g) const;
59  bool overlaps(DtLuaFeatureGeometry g) const;
60  bool crosses(DtLuaFeatureGeometry g) const;
61  bool covers(DtLuaFeatureGeometry g) const;
62  bool within(DtLuaFeatureGeometry g) const;
63  bool touches(DtLuaFeatureGeometry g) const;
64  bool contains(DtLuaFeatureGeometry g) const;
65 
66  DtLuaFeatureGeometry extent() const;
67 
68  double length() const;
69  double area() const;
70 
71  DtLuaFeatureGeometry centroid() const;
72 
73  double distanceTo(DtLuaFeatureGeometry g) const;
74 
75  DtLuaFeatureGeometry unionWith(DtLuaFeatureGeometry g) const;
76  DtLuaFeatureGeometry intersectionWith(DtLuaFeatureGeometry g) const;
77  DtLuaFeatureGeometry differenceWith(DtLuaFeatureGeometry g) const;
78  DtLuaFeatureGeometry buffer(double width) const;
79  DtLuaFeatureGeometry convexHull() const;
80  DtLuaFeatureGeometry boundary() const;
81  DtLuaFeatureGeometry closestPointTo(DtLuaFeatureGeometry g, double& distanceTo) const;
82 
83  DtLuaFeatureGeometry asArea() const;
84 
85  void prepare();
86 
87  static DtAsciiSerializable* creator();
88 
89  explicit DtLuaFeatureGeometry(
90  const MAKVRinTerra::DtProj& local,
92 
93  explicit DtLuaFeatureGeometry(
94  const MAKVRinTerra::DtProj::CPtr& local,
96 
97  virtual void init(void* userData);
98 
99  virtual DtString objectType() const;
100 
102  virtual DtString serialize();
103 
106  virtual bool deserialize(const DtString& data);
107 
108 protected:
110 
113 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)