VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDynamicTerrainGeometry.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/vrvUtil.h>
13 
14 #include <matrix/vlVector.h>
15 #include <vector>
16 
17 namespace makVrv
18 {
21  {
22  public:
25  {
26  public:
28  virtual ~Visitor();
29 
31 
32  virtual void visitSphere(const DtVector& center, double radius) = 0;
33 
34  virtual void visitLine(const std::vector<DtVector>& vertices) = 0;
35 
36  virtual void visitUnion(
38 
39  virtual void visitIntersection(
42  };
43 
45 
48  static DtDynamicTerrainGeometry* Sphere(const DtVector& center, double radius);
49  static DtDynamicTerrainGeometry* Point(const DtVector& center);
50  static DtDynamicTerrainGeometry* Line(const std::vector<DtVector>& vertices);
52  public:
53 
56 
58  virtual ~DtDynamicTerrainGeometry();
59 
60  //Not copyable
62 
63  //Not assignable
64  DtDynamicTerrainGeometry& operator=(const DtDynamicTerrainGeometry& copy) = delete;
65 
66  public:
69  virtual DtDynamicTerrainGeometry* clone() const = 0;
70 
72  virtual void accept(Visitor& visitor) const = 0;
73 
77  virtual bool intersects(const DtDynamicTerrainGeometry& geometry) const = 0;
78 
80  virtual double distanceTo(const DtVector& point) const = 0;
81 
83  virtual bool isFinite() const = 0;
84  };
85 }
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
Represents (possibly infinite) area of space.
Definition: DtDynamicTerrainGeometry.h:20
Contains DLL export macros.
Definition: vrfObjectManipulationHandlerBaseClass.h:60
Visitor for search through geometries.
Definition: DtDynamicTerrainGeometry.h:24
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 any line segment in localVert...

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)