VR-Forces 4.0.4 Class Documentation
include/symbology/aggregateSymbol.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2002 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: aggregateSymbol.h,v $ $Revision: 1.11 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtAggregateSymbol_H_
00013 #define DtAggregateSymbol_H_
00014 
00015 #include "symbology/symbologyDefines.h"
00016 #include "symbology/compositeSymbol.h"
00017 
00018 
00019 
00025 class DT_DLL_symbology DtAggregateSymbol : public DtCompositeSymbol
00026 {
00027 public:
00028 
00029    enum DtCenterCalculationStyle{
00030       DtNoCalculation = 0,           
00031       DtWeighted,                   
00032       DtNotWeighted,                
00033       DtCenterCalculationStyle_MAX  
00034    };
00035 
00037    DtAggregateSymbol(const DtAggregateSymbol& orig);
00038    DtAggregateSymbol& operator=(const DtAggregateSymbol& orig);
00039    virtual ~DtAggregateSymbol();
00040    
00042    DtAggregateSymbol( DtSymbolDrawer & drawer );
00043 
00044    DtSymbol* clone() const;
00045 
00046    virtual void shift(QPoint p);
00047 
00048    virtual void setOrigin(int x, int y );   
00049    virtual void setOrigin(const QPoint& position);
00050    virtual const DtDisplayPoint centerPoint() const;
00051    virtual const QPoint origin() const;
00052 
00055    static DtAggregateSymbol* createAggregate(DtSymbolDrawer & drawer,
00056                                              DtSymbolList* symbols);
00057 
00059    virtual void addAggregate(DtSymbol* symbols);
00060 
00062    virtual void draw(QPainter& paint) const;
00063    
00065    virtual QSize bbox() const;
00066    
00069    virtual QRect selBbox() const;
00070 
00072    virtual QSize aggregatesBbox() const;
00073 
00076    virtual QPoint unweightedAggregateCenter() const;
00077 
00082    virtual QPoint weightedAggregateCenter() const ;
00083       
00087    virtual DtSymbolList* createDeaggregateSymbols();
00088    
00090    virtual void deaggregateSymbol(DtSymbol* s);
00091 
00092    virtual bool overlapsSymbol(const DtSymbol & aSymbol, 
00093       const DtSymbol_OverlapTest aTest = DtSymbol_BoxPieces,
00094       const float aTolerance = 0) const;
00095 
00098    virtual bool labelsOverlapsSymbol(const DtSymbol & aSymbol, 
00099       const DtSymbol_OverlapTest aTest = DtSymbol_BoundingBox,
00100       const float aTolerance = 0) const;
00101 
00105    virtual void setCalculationStyle(DtCenterCalculationStyle style);
00106 
00107 private:
00109    DtAggregateSymbol();
00110 
00111 protected:
00112    DtCenterCalculationStyle myCalculationStyle;
00113 };
00114 
00115 #endif //DtAggregateSymbol_H_
00116 

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)