VR-Forces 4.1 Class Documentation
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/vrvCore.h>
21 #include <vrvCore/DtIntersector.h>
22 #include <boost/unordered_map.hpp>
23 
24 #include <matrix/vlVector.h>
25 #include <map>
26 
27 namespace makVrv
28 {
29  class DtIntersectorCache;
30 
35  {
36  public:
37 
39  DtCachedIntersector(DtDe& de, int modelSet);
40 
42  virtual ~DtCachedIntersector();
43 
58  virtual bool findNearestIntersectionToPoint(double x, double y, double z,
59  double vx, double vy, double vz, DtIntersectorResult& intersection,
61  std::vector<DtElementID>* ignoreList = 0, bool returnTriangle = false,
62  double maxIsectorLength = -1., bool useHighLod=false );
63 
71  virtual bool findAllIntersectionsThroughPoint( double x, double y, double z,
72  double vx, double vy, double vz, DtIntersector::DtIntersections& intersections,
74  std::vector<DtElementID>* ignoreList = 0, bool sort = true, bool useHighLod=false );
75 
82  virtual bool findFirstIntersectWithLineSegment(
83  double x, double y, double z, double end_x, double end_y, double end_z,
85  std::vector<DtElementID>* ignoreList=0, bool useHighLod=false);
86 
93  virtual bool findAllIntersectWithLineSegment(
94  double x, double y, double z, double end_x, double end_y, double end_z,
96  std::vector<DtElementID>* ignoreList=0, bool sort=true, bool useHighLod=false );
97 
103  virtual bool pick( DtChannel& channel, double mx, double my,
105  std::vector<DtElementID>* ignoreList=0);
106 
111  virtual bool pickAll( DtChannel* channel, double mx, double my,
113  std::vector<DtElementID>* ignoreList=0);
114 
117  virtual void setSharedCache(DtIntersectorCache*);
118 
120  virtual void setCacheLimit(int);
121 
123  virtual void clearCache();
124 
125  protected:
131  };
132 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)