VR-Forces 4.8 Class Documentation
 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) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtCachedIntersector.h,v $ $Revision: 1.9 $ $State: Exp $
7 ******************************************************************************/
8 
18 
19 #pragma once
20 #include <vrvCore/DtIntersector.h>
21 
22 #include <matrix/vlVector.h>
23 #include <map>
24 
25 namespace makVrv
26 {
27  class DtIntersectorCache;
28 
33  {
34  public:
35 
37  DtCachedIntersector(DtDe& de, int modelSet);
38 
40  virtual ~DtCachedIntersector();
41 
56  virtual bool findNearestIntersectionToPoint(double x, double y, double z,
57  double vx, double vy, double vz, DtIntersectorResult& intersection,
59  std::vector<DtElementID>* ignoreList = 0, bool returnTriangle = false,
60  double maxIsectorLength = -1., bool useHighLod=false );
61 
69  virtual bool findAllIntersectionsThroughPoint( double x, double y, double z,
70  double vx, double vy, double vz, DtIntersector::DtIntersections& intersections,
72  std::vector<DtElementID>* ignoreList = 0, bool sort = true, bool useHighLod=false );
73 
80  virtual bool findFirstIntersectWithLineSegment(
81  double x, double y, double z, double end_x, double end_y, double end_z,
83  std::vector<DtElementID>* ignoreList=0, bool useHighLod=false);
84 
91  virtual bool findAllIntersectWithLineSegment(
92  double x, double y, double z, double end_x, double end_y, double end_z,
94  std::vector<DtElementID>* ignoreList=0, bool sort=true, bool useHighLod=false );
95 
101  virtual bool pick( DtChannel& channel, double mx, double my,
103  std::vector<DtElementID>* ignoreList=0);
104 
109  virtual bool pickAll( DtChannel* channel, double mx, double my,
111  std::vector<DtElementID>* ignoreList=0);
112 
115  virtual void setSharedCache(DtIntersectorCache*);
116 
118  virtual void setCacheLimit(int);
119 
121  virtual void clearCache();
122 
125  virtual void setDynamicOceanProperties(
127 
129  virtual DtIntersector::DynamicOceanProperties dynamicOceanProperties() const;
130 
131  protected:
138  };
139 }
IntersectProperties
The IntersectProperties enum is a flag set that indicates the.
Definition: DtIntersector.h:135
bool myCacheIsShared
Definition: DtCachedIntersector.h:134
int myCacheLimit
Definition: DtCachedIntersector.h:136
DtIntersectorCache * myCache
Definition: DtCachedIntersector.h:133
Descriptor for a single intersection result.
Definition: DtIntersector.h:33
std::vector< DtIntersectorResult > DtIntersections
A vector of DtIntersectionRecords.
Definition: DtIntersector.h:154
the Intersector Cache class.
Definition: DtIntersectorCache.h:31
DynamicOceanProperties
Definition: DtIntersector.h:146
The abstract Channel Class.
Definition: DtChannel.h:29
Contains makVrv:DtIntersector, makVrv:DtIntersectorLineSegment, and makVrv:DtIntersectorResult classe...
#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:32
DtIntersector::DynamicOceanProperties myDynamicOceanProperties
Definition: DtCachedIntersector.h:137
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:132
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtIntersector.h:137
int myModelSet
Definition: DtCachedIntersector.h:135

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)