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 
23  {
24  public:
28 
31 
33  typedef boost::function<bool ()> CancelCheckFunction;
34 
36  DtFeatureNavigator(const DtAreaFeatureSet& obstacles, const DtAlgorithmManager& mgr);
37 
39  virtual void addObstacle(const DtAreaFeature& obstacle);
40  virtual void addObstacle(const DtAreaFeature& obstacle, const DtAlgorithmManager* mgr);
41  virtual void addObstacleDoNoCheckPager(const DtAreaFeature& obstacle, const DtAlgorithmManager* mgr);
42 
43  virtual bool processObstacles(DtFeatureGeometry obstacleArea);
44  virtual bool processObstacles(DtFeatureGeometry obstacleArea, const DtAlgorithmManager& mgr);
45 
46  virtual DtFeatureGeometry::Path makePath(Path inputPath);
47  virtual DtFeatureGeometry::Path makePath(Path inputPath, const DtAlgorithmManager& mgr);
48 
49  virtual void setFailIfStartInObstacle(bool v);
50 
51  virtual const DtAlgorithmManager* getMgr() { return myMgr; };
52 
53  protected:
54  boost::scoped_ptr<DtAreaFeatureSet> myObstacles;
62  };
63 }
Represents a set of DtFeature objects or others which conform to the DtFeature concept.
Definition: featureSet.h:101
#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:75
DtGeometryDuplicateRemover DuplicateRemover
Definition: featureNavigator.h:32
bool myFailIfStartsInObstacle
Definition: featureNavigator.h:60
DtFeatureGeometry::Path Path
Definition: featureNavigator.h:26
boost::function< bool()> CancelCheckFunction
Definition: featureNavigator.h:33
DtFeatureGeometry::Point Point
Definition: featureNavigator.h:25
Definition: featureGeometry.h:60
DtFeatureGeometry::GeometryVector GeometryVector
Definition: featureNavigator.h:30
Handle< PointType > Point
Definition: featureGeometry.h:69
boost::shared_ptr< const DtProj > CPtr
Definition: proj.h:48
Handle< PathType > Path
Definition: featureGeometry.h:70
DuplicateRemover myDuplicateRemover
Definition: featureNavigator.h:55
DtProj::CPtr myProjection
Definition: featureNavigator.h:56
DtFeatureGeometry::PointVector PointVector
Definition: featureNavigator.h:29
std::vector< DtFeatureGeometry > GeometryVector
Definition: featureGeometry.h:74
GeometryVector myAreas
Definition: featureNavigator.h:58
Represents the obstacles collected for a search and does the actual search.
Definition: featureNavigator.h:22
const DtAlgorithmManager * myMgr
Definition: featureNavigator.h:61
DtFeatureGeometry::Area Area
Definition: featureNavigator.h:27
DtFeatureGeometry myPagedInArea
Definition: featureNavigator.h:57
General interface which can be passed into an algorithm to control its behavior.
Definition: algorithmManager.h:24
Definition: geometryDuplicateRemover.h:24
Represents a feature geometry.
Definition: featureGeometry.h:39
DtFeatureGeometry myGeometry
Definition: featureNavigator.h:59

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)