VR-Forces 5.0.2 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 
31  {
32  public:
33 
35  DtCachedIntersector(DtDe& de, int modelSet);
36 
38  virtual ~DtCachedIntersector();
39 
54  virtual bool findNearestIntersectionToPoint(double x, double y, double z,
55  double vx, double vy, double vz, DtIntersectorResult& intersection,
57  std::vector<DtElementID>* ignoreList = 0, bool returnTriangle = false,
58  double maxIsectorLength = -1., bool useHighLod=false );
59 
67  virtual bool findAllIntersectionsThroughPoint( double x, double y, double z,
68  double vx, double vy, double vz, DtIntersector::DtIntersections& intersections,
70  std::vector<DtElementID>* ignoreList = 0, bool sort = true, bool useHighLod=false );
71 
78  virtual bool findFirstIntersectWithLineSegment(
79  double x, double y, double z, double end_x, double end_y, double end_z,
81  std::vector<DtElementID>* ignoreList=0, bool useHighLod=false);
82 
89  virtual bool findAllIntersectWithLineSegment(
90  double x, double y, double z, double end_x, double end_y, double end_z,
92  std::vector<DtElementID>* ignoreList=0, bool sort=true, bool useHighLod=false );
93 
99  virtual bool pick( DtChannel& channel, double mx, double my,
101  std::vector<DtElementID>* ignoreList=0);
102 
107  virtual bool pickAll( DtChannel* channel, double mx, double my,
109  std::vector<DtElementID>* ignoreList=0);
110 
113  virtual void setSharedCache(DtIntersectorCache*);
114 
116  virtual void setCacheLimit(int);
117 
119  virtual void clearCache();
120 
123  virtual void setDynamicOceanProperties(
125 
127  virtual DtIntersector::DynamicOceanProperties dynamicOceanProperties() const;
128 
129  protected:
136 
138  };
139 }
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:132
int myCacheLimit
Definition: DtCachedIntersector.h:134
DtIntersectorCache * myCache
Definition: DtCachedIntersector.h:131
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
DtIntersector * myModelSet3dIntersector
Definition: DtCachedIntersector.h:137
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:30
DtIntersector::DynamicOceanProperties myDynamicOceanProperties
Definition: DtCachedIntersector.h:135
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:130
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:70
Definition: DtIntersector.h:33
int myModelSet
Definition: DtCachedIntersector.h:133

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)