VR-Forces 4.1.1 Class Documentation
overlaySymbolMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: overlaySymbolMapper.h,v $ $Revision: 1.20 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef DTOVERLAYSYMBOLMAPPER_H_
13 #define DTOVERLAYSYMBOLMAPPER_H_
14 
15 #include <QtCore/QHash>
16 #include <QtGui/QColor>
17 #include <QtCore/QList>
18 
27 
28 class DtSymbol;
29 class DtObjectType;
30 class DtSymbolDrawer;
31 class DtDrawerColl;
32 class DtPoint;
33 class DtTTSSymbol;
34 class DtNameLabelSymbol;
35 class DtEntityMapperKey;
37 class DtColorizedSymbol;
38 
40 
41 typedef DtSymbol* (*DtControlObjectCreatorFcn)(DtOverlaySymbolMapper*, const DtEntityMapperKey&, int);
44 {
45 public:
48  myCreator(orig.myCreator)
49  {
50  }
51 
52  virtual ~DtControlObjectCreatorInfo();
53 
54  virtual void setCreator(DtControlObjectCreatorFcn fcn);
55  virtual DtControlObjectCreatorFcn creator();
56 
57 protected:
59 };
60 
62 {
63  Q_OBJECT
64 
65 public:
66 
69 
70  virtual ~DtOverlaySymbolMapper();
71 
72 
78  virtual DtSymbol* createSymbol(const DtModelData& d);
79 
80  virtual void setColor(int currColor);
81  virtual void setWidth(int currWidth);
82  virtual int width();
83 
84  virtual bool init();
85 
87  virtual void addControlObjectCreator(int kind, DtControlObjectCreatorFcn fcn);
88 
89  virtual QPixmap getIcon(const DtModelData* d);
90 
91 public:
92  virtual DtCompositeSymbol* createPointSymbol(const DtEntityMapperKey& type, int force,
94  virtual DtCompositeSymbol* createLineObjectSymbol(const DtEntityMapperKey& type, int force,
96  virtual DtCompositeSymbol* createAreaObjectSymbol(const DtEntityMapperKey& type, int force,
98  virtual DtCompositeSymbol* createCircleSymbol(const DtEntityMapperKey& type, int force,
100 
101  static DtSymbol* processCreateCircleSymbol(DtOverlaySymbolMapper* mapper,
102  const DtEntityMapperKey& type, int force);
103  static DtSymbol* processCreatePointSymbol(DtOverlaySymbolMapper* mapper,
104  const DtEntityMapperKey& type, int force);
105  static DtSymbol* processCreateLineSymbol(DtOverlaySymbolMapper* mapper,
106  const DtEntityMapperKey& type, int force);
107  static DtSymbol* processCreateAreaSymbol(DtOverlaySymbolMapper* mapper,
108  const DtEntityMapperKey& type, int force);
109 
110 public:
111  static DtSymbol* createNewSymbol(const DtBaseSymbolMapper* mapper, const DtModelData& data, void *usr);
112  static DtBaseSymbolMapper* create();
113 
114 public:
117  virtual DtEnvironmentalModelData* createObject(const QString& object, QVector<DtPoint>& points,
118  const QString& name = QString::null);
119 
146  virtual DtOverlaySymbolDescriptor* addOverlayObject(const DtEntityMapperKey&,
147  const QString& tab, const QString& symbolName, const QString& iconFileName, const QString& minimumDataPoints,
148  DtSymbolDescriptor* symbolType, bool addToMenu = true);
149 
150  const QList<DtOverlaySymbolDescriptor*>& additionalMenuItems() const;
151 
154  virtual bool creationKeyFor(const QString& name, DtEntityMapperKey& retKey) const;
155 
156 protected:
157  virtual DtSymbol* processCreateSymbol(const DtEnvironmentalModelData& data, void *usr);
158  virtual DtSymbol* processCreateSymbol(const DtCompassModelData& data, void *usr);
159  virtual DtSymbol* getControlObjectSymbol(const DtEntityMapperKey& type, int force,
160  const DtEnvironmentalModelData& data);
161  virtual void modifySymbol(DtSymbol* symbol, DtSymbolDescriptor* symDesc, int force, const DtEntityMapperKey& emk);
162 
163 protected:
164  virtual void addLayerLabel(DtNameLabelSymbol* symbol);
165  virtual void formatLabels(DtNameLabelSymbol* symbol, const DtEntityMapperKey& type);
166  virtual void formatColor(DtNameLabelSymbol* color, const DtEnvironmentalModelData& type);
167  virtual DtCompositeSymbol* createOverlaySymbol(const DtEntityMapperKey& type, int force,
168  DtSymbolCreatorFcn fcn);
169 
170 signals:
172  void overlayDescriptorAdded(DtOverlaySymbolDescriptor*);
173 
174 private:
177 
178 protected:
179  unsigned char myCurrentColor;
181 
184 
185  QHash<int, DtControlObjectCreatorInfo> myControlObjectCreators;
187 };
188 
190 {
191  return myAdditionalMenuItems;
192 }
193 
194 #endif

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)