VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtStreamedFeatureManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
14 #include <vrvCore/DtDe.h>
15 #include <vrvCore/DtUniqueID.h>
17 
19 
20 #include <string>
21 #include <boost/unordered_map.hpp>
22 
23 namespace makVrv
24 {
32  {
33  public:
36 
38  virtual ~DtStreamedFeatureManager();
39 
52  virtual void addStreamedFeatureCreator(
53  const std::string& registrantName,
54  const std::string& styleName,
55  DtStreamedFeatureCreator* creator );
56 
60  virtual void checkAndProcessStrandedFeatures() = 0;
61 
62 
64  boost::signal<void ( const std::string& registrantName, DtUniqueID featurId )>
66 
67  protected:
71 
74 
75  protected:
77 
78  typedef std::pair<std::string, DtStreamedFeatureCreator*> CreatorElement;
79  typedef boost::unordered_multimap<std::string, CreatorElement> FeatureClassCreatorMap;
80  typedef std::pair<FeatureClassCreatorMap::iterator,FeatureClassCreatorMap::iterator> RangeIterFeatureClassToCreator;
81  typedef std::pair<FeatureClassCreatorMap::const_iterator,FeatureClassCreatorMap::const_iterator> ConstRangeIterFeatureClassToCreator;
82 
84  };
85 
90  {
91 
92  public:
95  {
96  }
97 
100  {
101  }
102 
104  virtual DtStreamedFeatureManager* create( DtDe& de ) = 0;
105  };
106 
107 }
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signal< void(const std::string &registrantName, DtUniqueID featurId)> signal_featureAboutToBeDeleted
Signal raised when a feature has streamed out (of page cache)
Definition: DtStreamedFeatureManager.h:65
FeatureClassCreatorMap myFeatureClassCreators
Definition: DtStreamedFeatureManager.h:83
Contains makVrv::DtDe class.
Contains the DtStreamedFeatureCreator class declaration.
DtDe & myDe
Definition: DtStreamedFeatureManager.h:76
boost::unordered_multimap< std::string, CreatorElement > FeatureClassCreatorMap
Definition: DtStreamedFeatureManager.h:79
virtual ~DtStreamedFeatureManagerCreator()
DTOR.
Definition: DtStreamedFeatureManager.h:99
std::pair< std::string, DtStreamedFeatureCreator * > CreatorElement
Definition: DtStreamedFeatureManager.h:78
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::pair< FeatureClassCreatorMap::const_iterator, FeatureClassCreatorMap::const_iterator > ConstRangeIterFeatureClassToCreator
Definition: DtStreamedFeatureManager.h:81
DtStreamedFeatureManagerCreator is used to create an instance of a DtStreamedFeatureManager.
Definition: DtStreamedFeatureManager.h:89
DtStreamedFeatureCreator is the base class that all feature-specific feature creators to be informed ...
Definition: DtStreamedFeatureCreator.h:29
std::pair< FeatureClassCreatorMap::iterator, FeatureClassCreatorMap::iterator > RangeIterFeatureClassToCreator
Definition: DtStreamedFeatureManager.h:80
The StreamedFeatureManager allows users to register creator functions for streamed features from spec...
Definition: DtStreamedFeatureManager.h:31
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtStreamedFeatureManagerCreator()
CTOR.
Definition: DtStreamedFeatureManager.h:94
Contains DLL export macros.

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)