VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
spatialSubdivisionIntersector.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 //Note that this class has also been added to makTerrainToolkit trunk
9 //(revision 140069) in geometry, and should be removed once we update past that
10 //version.
11 
14 
17 #include <geometry/ssFunctor.h>
18 #include <geometry/extent.h>
19 
20 #include <vlutil/vlConfig.h>
21 
26 template <typename T>
28 {
29 public:
32  {
33 
34  };
35 
38  {
39 
40  };
41 
45  virtual bool intersect(T element,
46  DtSpatialSubdivision<T>& spatialSubdivision) const
47  {
48  bool retVal = false;
49 
50  DtSsExtentIntersector<T> extentIntersector;
51 
52  if (extentIntersector.intersect(
53  element->extent(), spatialSubdivision))
54  {
56  retVal = true;
57  }
58  else
59  {
60  DtVerbose("Warning: DtSpatialSubdivisionIntersector::intersect - "
61  "The specified node does not intersect the spatial subdivision.\n");
62  }
63 
64  return retVal;
65  };
66 
72  virtual bool intersect(T element,
73  DtSpatialSubdivision<T>& spatialSubdivision,
75  {
76  bool retVal = false;
77 
78  DtSsExtentIntersector<T> extentIntersector;
79  if (extentIntersector.intersect(element, spatialSubdivision, functor))
80  {
82  retVal = true;
83  }
84  else
85  {
86  DtVerbose("Warning: DtSpatialSubdivisionIntersector::intersect - "
87  "The specified node does not intersect the spatial subdivision.\n");
88  }
89 
90  return retVal;
91  };
92 
93 protected:
97 
98 private:
99 
100 };
virtual bool intersect(T element, DtSpatialSubdivision< T > &spatialSubdivision) const
Intersects the bounding node and spatial subdivision.
Definition: spatialSubdivisionIntersector.h:45
virtual bool intersect(T element, DtSpatialSubdivision< T > &spatialSubdivision, DtSsFunctor< T, typename DtSpatialSubdivision< T >::DtSpatialSubCellType > &functor) const
Intersects the specified DtBoundingNodeInfoPtr and the spatial subdivision. The resulting intersectio...
Definition: spatialSubdivisionIntersector.h:72
DtSpatialSubdivisionIntersector()
Constructor.
Definition: spatialSubdivisionIntersector.h:31
virtual bool intersect(const DtExtent &extent, DtSpatialSubdivision< T > &spatialSubdivision) const
virtual ~DtSpatialSubdivisionIntersector()
Destructor.
Definition: spatialSubdivisionIntersector.h:37
The DtSpatialSubdivisionIntersector is responsible for knowing how to intersect a DtBoundingNodeInfoP...
Definition: spatialSubdivisionIntersector.h:22
Definition: ssFunctor.h:46
DtSpatialSubdivisionIntersector & operator=(const DtSpatialSubdivisionIntersector &orig)
Contains the declaration of the DtExtent class.
Definition: spatialSubdivision.h:68
Definition: ssExtentIntersector.h:49
std::list< T > DtSpatialSubCellType
Definition: spatialSubdivision.h:72

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)