VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
featureNavigator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <features/areaFeature.h>
14 
16 
17 namespace MAKVRinTerra
18 {
19  class DtProj;
20 
27  {
28  public:
32 
35 
37  typedef boost::function<bool ()> CancelCheckFunction;
38 
40  DtFeatureNavigator(const DtAreaFeatureSet& obstacles,
41  const DtAlgorithmManager& mgr);
42 
44  virtual void addObstacle(const DtAreaFeature& obstacle);
45  virtual void addObstacle(const DtAreaFeature& obstacle, const DtAlgorithmManager* mgr);
46  virtual void addObstacleDoNoCheckPager(const DtAreaFeature& obstacle, const DtAlgorithmManager* mgr);
47 
48  virtual bool processObstacles(DtFeatureGeometry obstacleArea);
49  virtual bool processObstacles(DtFeatureGeometry obstacleArea, const DtAlgorithmManager& mgr);
50 
51  virtual DtFeatureGeometry::Path makePath(Path inputPath);
52  virtual DtFeatureGeometry::Path makePath(Path inputPath, const DtAlgorithmManager& mgr);
53 
58  virtual void setFailIfStartInObstacle(bool v);
59 
65  virtual void setFailIfEndInObstacle(bool v);
66 
67  virtual const DtAlgorithmManager* getMgr() { return myMgr; };
68 
69  protected:
70  const std::unique_ptr<DtAreaFeatureSet> myObstacles;
79  };
80 }
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:105
#define DT_DLL_features
stop complaining about multiple independent base classes for boost::noncopyable this should probably ...
Definition: featuresDefines.h:41
Feature which has been processed to be an area. They have an additional interface which models areas ...
Definition: areaFeature.h:21
std::vector< DtPoint > PointVector
Definition: featureGeometry.h:76
std::shared_ptr< const DtProj > CPtr
Definition: proj.h:56
DtGeometryDuplicateRemover DuplicateRemover
Definition: featureNavigator.h:36
bool myFailIfStartsInObstacle
Definition: featureNavigator.h:76
DtFeatureGeometry::Path Path
Definition: featureNavigator.h:30
boost::function< bool()> CancelCheckFunction
Definition: featureNavigator.h:37
bool myFailIfEndsInObstacle
Definition: featureNavigator.h:77
DtFeatureGeometry::Point Point
Definition: featureNavigator.h:29
Definition: featureGeometry.h:61
DtFeatureGeometry::GeometryVector GeometryVector
Definition: featureNavigator.h:34
Handle< PointType > Point
Definition: featureGeometry.h:70
Handle< PathType > Path
Definition: featureGeometry.h:71
DuplicateRemover myDuplicateRemover
Definition: featureNavigator.h:71
DtProj::CPtr myProjection
Definition: featureNavigator.h:72
DtFeatureGeometry::PointVector PointVector
Definition: featureNavigator.h:33
std::vector< DtFeatureGeometry > GeometryVector
Definition: featureGeometry.h:75
GeometryVector myAreas
Definition: featureNavigator.h:74
A class that contains the algorithm for searching for a clear path among obstacles. The obstacles are area features. The path planner takes an input Path with two points, a start and end, and returns a path with points added between the start and end, if necessary, so that the path does not intersect any obstacles.
Definition: featureNavigator.h:26
const DtAlgorithmManager * myMgr
Definition: featureNavigator.h:78
DtFeatureGeometry::Area Area
Definition: featureNavigator.h:31
DtFeatureGeometry myPagedInArea
Definition: featureNavigator.h:73
General interface which can be passed into an algorithm to control its behavior.
Definition: algorithmManager.h:24
Definition: geometryDuplicateRemover.h:26
Represents a feature geometry.
Definition: featureGeometry.h:40
DtFeatureGeometry myGeometry
Definition: featureNavigator.h:75

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)