VR-Forces 4.1.1 Class Documentation
DtSymbolDecorationFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
15 #include <map>
16 #include <list>
17 #include <string>
18 
19 namespace makVrv
20 {
21  class DtBaseConnection;
22  class DtSymbolDecorationCreator;
23  class DtSymbolDecoration;
24  class DtSymbolDecorationVisualizer;
25 
31  {
32  public:
33 
34  typedef std::map<std::string, DtSymbolDecorationCreator*> CreatorMap;
35 
37  template <typename InstanceOwner>
38  static DtSymbolDecorationFactory& instance(
39  InstanceOwner& owner )
40  {
41  DtSymbolDecorationFactory* factory =
42  dynamic_cast<DtSymbolDecorationFactory*>
43  (owner.findInstance("DtSymbolDecorationFactory"));
44 
45  if(!factory)
46  {
47  factory = new DtSymbolDecorationFactory();
48  owner.registerInstance("DtSymbolDecorationFactory",factory);
49  }
50  return *factory;
51  }
52 
55  static void copyInstance(DtBaseConnection& root, DtDe& src);
56 
58  virtual ~DtSymbolDecorationFactory();
59 
61  typedef std::list<DtSymbolDecorationCreator*> CreatorList;
62 
64  virtual CreatorList creators() const;
65 
67  virtual void registerCreator(DtSymbolDecorationCreator* creator);
68 
70  DtSymbolDecoration* createDecoration( DtSymbolDecorationVisualizer& parentVisualizer, const std::string& decorationName, const std::string& creatorTag = "");
71 
74 
76  DtSymbolDecorationFactory& operator=(
77  const DtSymbolDecorationFactory& rhs);
78 
79  protected:
80 
83 
85  };
86 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)