VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtScalingAlgorithmFactory.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
15 #include <boost/unordered_map.hpp>
16 
17 #include <string>
18 
19 namespace makVrv
20 {
21  class DtDe;
22  class DtScalingAlgorithmCreator;
23  class DtScalingAlgorithm;
24 
41  {
42  public:
45 
47  virtual ~DtScalingAlgorithmFactory();
48 
49  public:
53  static DtScalingAlgorithmFactory& instance(DtDe& de);
54 
57  static void registerInstance(DtDe& de, DtScalingAlgorithmFactory* anInstance);
58 
59  public:
61  virtual void registerCreator(DtScalingAlgorithmCreator* creator) = 0;
62 
65  virtual DtScalingAlgorithm* getOrCreate(const std::string& name) = 0;
66 
67  typedef boost::unordered_map<std::string, DtScalingAlgorithmCreator*> RegistrationMap;
68 
70  virtual const RegistrationMap& scalingAlgorithmCreators() const;
71 
72  private:
75 
78 
81 
82  protected:
83 
86  };
87 }
RegistrationMap myCreators
Definition: DtScalingAlgorithmFactory.h:85
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtScalingAlgorithmFactory.h:84
Contains makVrv::DtVirtualBaseClass class.
Abstract interface for creating instances of scaling algorithm classes.
Definition: DtScalingAlgorithmCreator.h:26
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Provides an algorithm for scaling objects in the scene.
Definition: DtScalingAlgorithm.h:35
boost::unordered_map< std::string, DtScalingAlgorithmCreator * > RegistrationMap
Definition: DtScalingAlgorithmFactory.h:67
DtScalingAlgorithmFactory provides a mechanism to register creators for and create different model sc...
Definition: DtScalingAlgorithmFactory.h:40
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)