VR-Forces 4.0.4 Class Documentation
include/symbolMapper/modelData.h
Go to the documentation of this file.
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_

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)