VR-Forces 4.8 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 };
Definition: asciiSerializable.h:33
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
virtual void init(void *userData)
This function is called right after the object is constructed during the deserialization process...
Definition: asciiSerializable.h:69
Default on in debug, off in release.
Definition: objectCounter.h:31
MAKVRinTerra::DtProj::CPtr myLocalProj
Definition: luaFeatureGeometry.h:111
virtual DtString serialize()=0
The following characters are reserved and cannot be used in serialization: &#39;|&#39;, &#39;:&#39;.
Represents some coordinate system.
Definition: proj.h:44
Represents a feature geometry.
Definition: luaFeatureGeometry.h:25
MAKVRinTerra::DtFeatureGeometry myGeometry
Definition: luaFeatureGeometry.h:112
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
boost::shared_ptr< const DtProj > CPtr
Definition: proj.h:48
virtual DtString objectType() const =0
Should return the string name of this object.
DT_DLL_vrfutil bool intersects(const DtVector &localPoint1, const DtVector &localPoint2, const DtLocalVertexList &localVertexList, const Coordinate_System &coordinateSystem)
Returns true if the line segment localPoint1-localPoint2 intersects.
Represents a feature geometry.
Definition: featureGeometry.h:35
A location3D is a point in space, i.e. a geocentric coordinate.
Definition: scriptGeometry.h:22

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)