VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIntersectorsContainer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 
14 
15 #include <unordered_map>
16 
17 namespace makVrv
18 {
21 
24 
26  template <>
27  inline const char* creatorTypeName<DtIntersectorsContainer>(void) { return "DtIntersectorsContainerCreator"; }
28 
29  class DtIntersector;
30  enum class DtModelSetId;
31 
38  {
39  public:
41 
42  virtual ~DtIntersectorsContainer();
43 
44  DtIntersectorsContainer() = delete;
46  DtIntersectorsContainer& operator=(const DtIntersectorsContainer& rhs) = delete;
47 
48  protected:
50  public:
53  virtual DtIntersector* findIntersector(DtModelSetId modelSet) const;
54 
58  virtual void registerModelSet(DtModelSetId modelSet);
59 
61  virtual bool modelSetRegistered(DtModelSetId modelSet) const;
62  protected:
64 
65  std::unordered_map<DtModelSetId, DtIntersector*> myIntersectors;
66  };
67 }
DtVirtualBaseClassCreator< DtIntersectorsContainer > DtIntersectorsContainerCreator
creator
Definition: DtIntersectorsContainer.h:20
std::unordered_map< DtModelSetId, DtIntersector * > myIntersectors
Definition: DtIntersectorsContainer.h:65
const char * creatorTypeName< DtIntersectorsContainer >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIntersectorsContainer.h:27
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
Utility class that contains intersectors for all model sets in the system (3d, xr, 2d) Use an object of this class when all models sets can be possibly needed. When you know which model set you need, you can just use the DtIntersectorCreator to create an intersector for a model set Models sets corresponding to 3d, xr and 2d are created by default (these correspond to values of 0, 1 and 5) Additional model sets can be registered with DtIntersectorsContainer::registerModelSet.
Definition: DtIntersectorsContainer.h:37
DtDe & myDe
Definition: DtIntersectorsContainer.h:63
friend DtIntersectorsContainerCreator
Definition: DtIntersectorsContainer.h:40
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
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:72
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)