VR-Forces 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) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
8 // \file spatialSubdivisionIntersector.h
9 // \ingroup geometry
10 
12 #include <geometry/ssFunctor.h>
13 #include <geometry/extent.h>
14 
15 #include <vlutil/vlConfig.h>
16 
21 template <typename T>
23 {
24 public:
27  {
28 
29  };
30 
33  {
34 
35  };
36 
40  virtual bool intersect(T element,
41  DtSpatialSubdivision<T>& spatialSubdivision) const
42  {
43  bool retVal = false;
44 
45  DtSsExtentIntersector<T> extentIntersector;
46 
47  if (extentIntersector.intersect(
48  element->extent(), spatialSubdivision))
49  {
50  // Found an intersection
51  retVal = true;
52  }
53  else
54  {
55  DtVerbose("Warning: DtSpatialSubdivisionIntersector::intersect - "
56  "The specified node does not intersect the spatial subdivision.\n");
57  }
58 
59  return retVal;
60  };
61 
67  virtual bool intersect(T element,
68  DtSpatialSubdivision<T>& spatialSubdivision,
70  {
71  bool retVal = false;
72 
73  DtSsExtentIntersector<T> extentIntersector;
74  if (extentIntersector.intersect(element, spatialSubdivision, functor))
75  {
76  // Found an intersection
77  retVal = true;
78  }
79  else
80  {
81  DtVerbose("Warning: DtSpatialSubdivisionIntersector::intersect - "
82  "The specified node does not intersect the spatial subdivision.\n");
83  }
84 
85  return retVal;
86  };
87 
88 protected:
92 
93 private:
94 
95 };
virtual bool intersect(T element, DtSpatialSubdivision< T > &spatialSubdivision) const
Intersects the bounding node and spatial subdivision.
Definition: spatialSubdivisionIntersector.h:40
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:67
DtSpatialSubdivisionIntersector()
Constructor.
Definition: spatialSubdivisionIntersector.h:26
virtual bool intersect(const DtExtent &extent, DtSpatialSubdivision< T > &spatialSubdivision) const
virtual ~DtSpatialSubdivisionIntersector()
Destructor.
Definition: spatialSubdivisionIntersector.h:32
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.
The DtSpatialSubdivision class represents a uniform spatial container. The container is divided up in...
Definition: spatialSubdivision.h:169
Definition: ssExtentIntersector.h:49
std::list< T > DtSpatialSubCellType
Typedefs for the containers used to hold the contained elements.
Definition: spatialSubdivision.h:174

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)