VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCachedIntersector.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
15 
16 #pragma once
17 #include <vrvCore/DtIntersector.h>
18 
19 #include <matrix/vlVector.h>
20 #include <map>
21 
22 namespace makVrv
23 {
24  class DtIntersectorCache;
25  class DtIntersector;
26  enum class DtModelSetId;
27 
32  {
33  public:
34 
36  DtCachedIntersector(DtDe& de, DtModelSetId modelSet);
37 
39  virtual ~DtCachedIntersector();
40 
55  virtual bool findNearestIntersectionToPoint(double x, double y, double z,
56  double vx, double vy, double vz, DtIntersectorResult& intersection,
58  std::vector<DtElementID>* ignoreList = 0, bool returnTriangle = false,
59  double maxIsectorLength = -1., bool useHighLod=false );
60 
68  virtual bool findAllIntersectionsThroughPoint( double x, double y, double z,
69  double vx, double vy, double vz, DtIntersector::DtIntersections& intersections,
71  std::vector<DtElementID>* ignoreList = 0, bool sort = true, bool useHighLod=false );
72 
79  virtual bool findFirstIntersectWithLineSegment(
80  double x, double y, double z, double end_x, double end_y, double end_z,
82  std::vector<DtElementID>* ignoreList=0, bool useHighLod=false);
83 
90  virtual bool findAllIntersectWithLineSegment(
91  double x, double y, double z, double end_x, double end_y, double end_z,
93  std::vector<DtElementID>* ignoreList=0, bool sort=true, bool useHighLod=false );
94 
100  virtual bool pick( DtChannel& channel, double mx, double my,
102  std::vector<DtElementID>* ignoreList=0);
103 
108  virtual bool pickAll( DtChannel* channel, double mx, double my,
110  std::vector<DtElementID>* ignoreList=0);
111 
114  virtual void setSharedCache(DtIntersectorCache*);
115 
117  virtual void setCacheLimit(int);
118 
120  virtual void clearCache();
121 
124  virtual void setDynamicOceanProperties(
126 
128  virtual DtIntersector::DynamicOceanProperties dynamicOceanProperties() const;
129 
130  protected:
137 
139  };
140 }
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
bool myCacheIsShared
Definition: DtCachedIntersector.h:133
DtModelSetId myModelSet
Definition: DtCachedIntersector.h:134
int myCacheLimit
Definition: DtCachedIntersector.h:135
DtIntersectorCache * myCache
Definition: DtCachedIntersector.h:132
DtIntersector * myModelSetIntersector
Definition: DtCachedIntersector.h:138
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
Descriptor for a single intersection result.
Definition: DtIntersectorResult.h:21
std::vector< DtIntersectorResult > DtIntersections
A vector of DtIntersectionRecords.
Definition: DtIntersector.h:50
the Intersector Cache class. Use to store intersection and intersection results. Can only be used to ...
Definition: DtIntersectorCache.h:28
DynamicOceanProperties
Definition: DtIntersector.h:42
The abstract Channel Class.
Definition: DtChannel.h:35
Contains makVrv:DtIntersector class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
A Cached Intersector will first look at the local cache, and, if the local cache does not have the in...
Definition: DtCachedIntersector.h:31
DtIntersector::DynamicOceanProperties myDynamicOceanProperties
Definition: DtCachedIntersector.h:136
DT_DLL_vrfutil bool intersection(const DtRailSegment *currentSegment, const DtRailSegment *nextSegment)
Given two segments, determine if where they meet is an intersection or just a bend in the road...
DtDe & myDe
Definition: DtCachedIntersector.h:131
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
DtModelSetId
Definition: DtModelSetEnums.h:19
Definition: DtIntersector.h:33

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)