![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: modelData.h,v $ $Revision: 1.37 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef MODELDATA_H_ 00013 #define MODELDATA_H_ 00014 00015 #include "symbolMapper/modelKey.h" 00016 #include "ngutil/entityMapperKey.h" 00017 #include "symbolMapper/modelDataTypes.h" 00018 #include "archiver/archivable3DPoint.h" 00019 #include <QtCore/QVector> 00020 #include <QtCore/QStringList> 00021 #include <vlutil/vlConfig.h> 00022 00023 class DtExtent; 00024 class DtVector; 00025 00031 #include "symbolMapper/symbolMapperDefines.h" 00032 class DT_DLL_symbolMapper DtModelData : public DtArchivableObject 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 00038 DtModelData(); 00039 DtModelData(const DtModelData& orig); 00040 virtual ~DtModelData(); 00041 DtModelData& operator=(const DtModelData& rhs); 00042 00044 virtual const DtModelKey& key() const; 00045 virtual void setKey(const DtModelKey& k); 00046 00049 virtual const DtModelKey& modelKey() const; 00050 virtual void setModelKey(const DtModelKey& k); 00051 00052 //FIX change getOriginPoint to originPoint for consistency. 00053 00055 00056 virtual void setOriginPoint(double x = 0, double y = 0, double z = 0); 00057 virtual void setOriginPoint(const DtPoint& pnt); 00058 virtual const DtPoint* getOriginPoint() const; 00060 00061 virtual void setAllPoints(const QVector<DtPoint>* pts); 00062 virtual const QVector<DtPoint>* getAllPoints() const; 00063 00065 virtual void setPoint(int iIndex, const DtPoint& pnt); 00066 00068 virtual void insertPoint(int iIndex, const DtPoint& pnt); 00069 00071 virtual void removePoint(int iIndex); 00072 00074 virtual void setName(const QString& name); 00075 virtual const QString& getName() const; 00076 00078 virtual void setLabel(const QString& name); 00079 virtual const QString& getLabel() const; 00080 00084 virtual void setForceId(int id); 00085 virtual int getForceId() const; 00086 00088 virtual void updateFromModel(); 00089 00093 virtual bool forceUpdate() const; 00094 virtual void setForceUpdate(bool b); 00095 00097 virtual int rawAppearance() const; 00098 00100 virtual DtModelDataType type() const; 00101 00103 virtual QString typeStr(); 00104 00107 virtual DtEntityMapperKey entityMapperKey() const; 00108 00110 virtual void setIsPublished(bool b); 00111 virtual bool isPublished() const; 00112 00114 virtual void setCanPublish(bool b); 00115 virtual bool canPublish() const; 00116 00119 virtual void setDeleteFromLayer(bool b); 00120 virtual bool deleteFromLayer() const; 00121 00123 virtual void setMustBeOnLayer(bool b); 00124 virtual bool mustBeOnLayer() const; 00125 00127 virtual bool isInExtent(const DtExtent&) const; 00128 00131 virtual const QStringList& parents() const; 00132 virtual void setParents(const QStringList& parent); 00133 virtual void addParent(const QString& parent); 00134 virtual void removeParent(const QString& parent); 00135 virtual void changeParentName(const QString& oldName, const QString& newName); 00136 00138 virtual bool canEdit() const; 00139 00141 virtual void setCanEdit(bool); 00142 00143 void setChangedFlags(int); 00144 int changedFlags() const; 00145 00146 signals: 00147 00149 void modelDataDestroyed(const QString&); 00150 00151 protected: 00152 virtual bool isInExtent(const DtExtent&, const QVector<DtPoint>*) const; 00153 virtual bool isInExtent(const DtExtent&, const QVector<DtVector>*) const; 00154 00156 virtual void read(QTextStream& s); 00157 virtual void write(QTextStream& s); 00158 00159 protected: 00160 QStringList myParents; 00161 00162 bool myCanEdit; 00163 00164 mutable QVector<DtPoint>* myPoints; 00165 00166 QString myName; 00167 QString myLabel; 00168 QString myTypeString; 00169 DtModelKey myKey; 00170 DtModelKey myModelKey; 00171 int myForceId; 00172 int myChangedFlags; 00173 bool myForceUpdate; 00174 00175 bool myIsPublished; 00176 bool myCanPublish; 00177 bool myMustBeOnLayer; 00178 bool myDeleteFromLayer; 00179 }; 00180 00181 inline void DtModelData::setChangedFlags(int i) 00182 { 00183 myChangedFlags = i; 00184 } 00185 00186 inline int DtModelData::changedFlags() const 00187 { 00188 return myChangedFlags; 00189 } 00190 00191 #endif //MODELDATA_H_