VR-Forces 4.1.1 Class Documentation
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtPolygonSymbol Class Reference

Symbols representing enclosed polygonal areas. More...

Inheritance diagram for DtPolygonSymbol:
Inheritance graph
[legend]

Public Types

enum  DtPolygonStyle {
  DtStyle_NoPolygon = 0, DtStyle_Outline, DtStyle_Fill, DtStyle_Pattern,
  DtStyle_PolygonStyle_MAX = 100
}
- Public Types inherited from DtLineSymbol
enum  DtLineSelectionMode { DtLineSelected_None = -2, DtLineSelected_Line = -1, DtLineSelected_Point }
enum  DtArrowStyle {
  DtStyle_NoArrow = 0, DtStyle_Simple, DtStyle_Main, DtStyle_Double,
  DtStyle_Capped, DtStyle_Triangle, DtStyle_2525DispTail, DtStyle_Thick,
  DtStyle_ThickDouble, DtStyle_Feint, DtStyle_Bridge, DtStyle_AirAxis,
  DtStyle_SegmentMode, DtStyle_NoArrowDrawLine, DtStyle_ArrowStyle_MAX
}

Public Member Functions

 DtPolygonSymbol (DtSymbolDrawer &drawer)
 Constructor.
 DtPolygonSymbol (DtNullDrawer &drawer)
 Constructor.
 DtPolygonSymbol (const DtPolygonSymbol &orig)
 Copy Constructor.
virtual ~DtPolygonSymbol ()
 Destructor.
virtual DtSymbolclone () const
 Create a clone of this symbol.
virtual const DtDisplayPoint centerPoint () const
 get the center Point.
virtual void shift (QPoint p)
 shift this polygon by p.
virtual const QPoint getPoint (int pointNum) const
 Get a specific point in the polygon.
virtual DtPolygonStyle polygonStyle () const
virtual void setPolygonStyle (DtPolygonStyle style)
virtual Qt::BrushStyle patternStyle () const
virtual void setPatternStyle (Qt::BrushStyle style)
virtual void setAllowInsideSelection (bool b)
 If set to true, will check if point is inside area, not just segments.
bool allowInsideSelection () const
virtual bool select (const QPoint &aPoint)
 If inside selection is enabled, see if point is in area if parent select returns false.
bool operator== (const DtPolygonSymbol &orig) const
bool operator!= (const DtPolygonSymbol &orig) const
virtual bool transparentCacheChanged () const
- Public Member Functions inherited from DtLineSymbol
 DtLineSymbol (DtSymbolDrawer &drawer)
 Constructors / assignment operator / destructor.
 DtLineSymbol (DtSymbolDrawer &drawer, const QPoint &startPoint, const QPoint &endPoint)
 DtLineSymbol (DtNullDrawer &drawer)
 DtLineSymbol (const DtLineSymbol &orig)
DtLineSymboloperator= (const DtLineSymbol &orig)
virtual ~DtLineSymbol ()
virtual unsigned width () const
 Width of arrow that can be on the end of the line.
virtual void setWidth (unsigned w)
virtual void setLineWidth (int i)
 Width of line. Set to -1 to use drawer default.
virtual void setStartPosition (const QPoint &position)
 Set/get the location of the start of the symbol.
virtual QPoint startPosition () const
virtual void setEndPosition (const QPoint &position)
 Set/get the location of the end of the symbol.
virtual QPoint endPosition () const
virtual void setNumPoints (const int num)
virtual int getNumPoints () const
virtual void addPoint (const QPoint *pnt)
virtual void insertPoint (int iIndex, const QPoint *pnt)
virtual void removePoint (int iIndex)
virtual void setPoint (int pointNum, const QPoint *pnt)
virtual bool setLocationData (const QPolygon *pts)
 This function is used so that multipoint symbols have the same interface as single point symbols In the single point case, it takes the first value and sets the origin from that.
virtual const QPolygon * getLocationData () const
 Provided for a simpler interface to subclasses.
virtual bool selected () const
virtual bool select (const QPoint &aPoint, const QSize &rectangleSize)
 Returns true if the rectangle intersects the symbol, if the symbol is selectable.
virtual void reverseLine ()
 Invert the direction of this line.
virtual void setKnobSize (int i)
 Accessors for point knob size (if this line can be modified)
virtual int knobSize () const
virtual void setHighlight (const bool highlight)
 Set/get the highlight flag (whether the symbol should be drawn highlighted).
virtual bool pointHighlighted () const
 Returns true if there is a point selected.
virtual int pointSelected () const
 Return the selected point.
virtual void selectPoint (int iPoint)
virtual void clearSelection ()
virtual bool pointSelected (const QPoint &pnt)
 Checks to see if the point supplied is in our knob area.
virtual void setLineSelected (bool b, int iSegment=-1)
 Sets whether or not the line portion has been selected.
virtual int segmentSelected () const
virtual int getNumVertexPoints () const
 In vertex drawing mode, returns the number of vertex points to draw and the vertex point at the particular index.
virtual const QPoint getVertexPoint (int pointNum) const
virtual void setCanAddPoint (bool b)
 Set to false if cannot add or delete point.
virtual bool canAddPoint () const
virtual bool setAndCalculatePoint (int iIndex, const QPoint &pnt)
 Given a screen point, return a point on the line that will draw exactly to the screen.
virtual bool setAndCalculatePoint (int iIndex, const DtPoint &pnt, QVector< DtPoint > *list)
 No-op.
virtual void setFixedLength (int iLen)
 Sets the fixed length of the line that will be used when calculating a point on the line.
virtual DtArrowStyle arrowStyle () const
virtual void setArrowStyle (DtArrowStyle style)
 Set the style of the lines being drawn.
virtual void setDrawVertexPoints (const QVector< int > pnts)
 Sets which vertex points to draw.
virtual int getVertexOffset (int index) const
 Returns the index of the point selected.
virtual int mapPointSelectedToIndex (int iPointSelected) const
 Returns the true index of the point selected based on whether or not there is a vertex draw list.
virtual void setPenStyle (Qt::PenStyle style)
 Accessors for pen style. By default SolidLine is the style.
virtual Qt::PenStyle penStyle () const
virtual bool isSkipPoint (int pointNum) const
 Returns true if point indicated is a skip point (0xFFFFFFFF, 0xFFFFFFFF)
virtual bool freehand () const
 Sets whether or not this symbol should be treated in initial drawing in freehand mode.
virtual void setFreehand (bool b)
bool operator== (const DtLineSymbol &orig) const
bool operator!= (const DtLineSymbol &orig) const
virtual bool keepAspectRatio () const
 Returns true if all points need to be kept in line. By default, returns false.
virtual bool originIsCenterOfMass () const
 Returns true.
- Public Member Functions inherited from DtColorizedSymbol
 DtColorizedSymbol (DtSymbolDrawer &d)
 Constructor.
virtual ~DtColorizedSymbol ()
 Destructor.
 DtColorizedSymbol (const DtColorizedSymbol &orig)
 Copy Constructor.
DtColorizedSymboloperator= (const DtColorizedSymbol &rhs)
 Assignment Operator.
virtual QColor * color () const
virtual void setColor (const QColor &col)
 Noop function to allow subclasses to override.
virtual void clearColor ()
 Noop function to allow subclasses to clear out any color information.
bool operator== (const DtColorizedSymbol &orig) const
bool operator!= (const DtColorizedSymbol &orig) const
virtual int lineWidth () const
 Width of line. Set to -1 to use drawer default.
- Public Member Functions inherited from DtSymbol
virtual ~DtSymbol ()
 destructor
 DtSymbol (const DtSymbol &orig)
 copy constructor
DtSymboloperator= (const DtSymbol &orig)
 assignment operator Note that the copy constructor, by default, make the symbol non editable even if the source is editable
 DtSymbol (DtSymbolDrawer &drawer)
 Drawer is non-const since it does memory management.
virtual void copyDataFrom (const DtSymbol *symbol)
 Differs from the equal operator in that this method could copy a different set of data than the = operator.
virtual void setName (const QString &name)
 The specific name of this symbol.
virtual const QString & name () const
virtual bool highlight () const
virtual const DtDisplayPoint topLeftPoint () const
 The real visual top left corner of the symbol in display coordinates.
virtual void setOrigin (const QPoint &center)
 Set the display coordinate that will become the 0,0 point for drawing this symbol.
virtual void setOrigin (int x, int y)
 Same as above.
virtual const QPoint origin () const
 returns the display origin for the symbol.
virtual void draw (QPainter &paint) const
virtual void drawHidden (QPainter &paint) const
virtual const DtSymbolDrawerdrawer () const
virtual QSize bbox () const
 the bounding box - this queries the drawer
virtual QRect brect () const
virtual QRect selBbox () const
 the selection box (area where you can select an item)
virtual void clearOffsetToParent ()
 Set/get the offset to the parent.
virtual void setOffsetToParent (const QPoint &offsetToParent)
virtual const QPoint * offsetToParent () const
 if the offsetToParent blit has been cleared, this returns null
virtual bool show (DtShowHideContext module)
 Shows/hides the symbol.
virtual bool hide (DtShowHideContext module)
virtual void show ()
 Use this method to show the symbol regardless of how many contexts have hidden it.
virtual void hide ()
 Use this method to hide a symbol without context. Same as hide(DtDefaultShowHideContext)
virtual void addIgnoreContext (DtShowHideContext)
 Add/remove contexts for hide() to ignore.
virtual void removeIgnoreContext (DtShowHideContext)
const QVector
< DtShowHideContext > & 
ignoreContexts () const
virtual void wasHidden (DtSymbol *)
 The following two methods are only called if the parent is hidden Called when a child symbol of this symbol is hidden.
virtual void wasShown (DtSymbol *)
 Called when a child symbol of this symbol is shown.
virtual bool isShown () const
virtual DtSymbolparent () const
virtual void setParent (DtSymbol *dad)
virtual bool isComposite ()
 -— Type information
virtual DtSymbolGeometry geometry () const
virtual void setGeometry (DtSymbolGeometry geom)
virtual void setCategoryTag (const QString &name)
 A tag is the name of this type of symbol such as velocity vector name or force or whatever.
virtual const QString & categoryTag () const
virtual void setSelectable (bool value)
 Set/get the ability to select with this symbol.
virtual bool isSelectable () const
virtual void setEditable (bool b)
 Accessors for whether or not this line can be edited.
virtual bool editable () const
virtual void setAllowEditOnSelection (bool b)
 Sets the fact that even if this symbol is not marked editable, it can become editable upon selection (myHighlight is true)
virtual bool allowEditOnSelection () const
virtual void setInternalSelectable (bool value)
 The following two functions are internal values kept in order to make sure that if an object has been filter modified and not shown, that it will not be selectable.
virtual bool isInternalSelectable () const
virtual void setAddToDrawOrder (bool b)
 Add this item to the draw order regardless of whether or not it is visible on the screen.
virtual bool addToDrawOrder () const
virtual bool overlapsSymbol (const DtSymbol &aSymbol, const DtSymbol_OverlapTest aTest=DtSymbol_BoxPieces, const float aTolerance=0) const
 Returns true if the two symbols overlap Different intersection tests are available.
virtual bool overlapsAreaSymbol (const DtSymbol &aSymbol, const DtSymbol_OverlapTest aTest=DtSymbol_BoxPieces, const float aTolerance=0) const
 handles the case when aSymbol spans an area, such as a bitmap or a text symbol.
virtual bool overlapsLineSymbol (DtSymbol &aSymbol, const float aTolerance=0) const
 handles the case when aSymbol is composed of line segments, such as a line, polygon, or route.
virtual bool isOriginal () const
 Returns true if this symbol is an original symbol, otherwise return false.
virtual DtStaticAnimDatastaticAnimData () const
virtual void setDrawOnComposite (DtSymbolCompositeDrawOptions opt)
 If true, will not draw this symbol if it is part of a composite symbol.
virtual bool drawOnComposite () const
virtual
DtSymbolCompositeDrawOptions 
drawOnCompositeValue () const
virtual bool drawFirst () const
 If true, this symbol will always be drawn first.
virtual void setDrawFirst (bool b)
virtual bool drawLast () const
 If true, this symbol will always be drawn last.
virtual void setDrawLast (bool b)
virtual bool selectAdditionalSymbols (QList< DtSymbol * > &additionalSymbols)
 This routine is called during symbol selection time to see if the selection of this symbol requires other symbols to be selected as well.
virtual bool forceUpdate () const
 Override this function and return true if this symbol wants to update every tick regardless of performance enhancements.
virtual bool adjustPoints (QPolygon &pnts, bool constrain)
 Opportunity to adjust the point array to some desired other points.
virtual void setDragClone (DtSymbol *clone)
 Contains the symbol that is being dragged that represents this symbol.
virtual DtSymboldragClone () const
virtual void setScaleBy (double factor)
 Scaling factors.
virtual double scaleBy () const
virtual bool isScalable () const
 Return true/false if this is a scalable symbol. By default returns false.
virtual void enableVisibilityChange (bool b)
virtual void scheduleDisplayComplete (int)
 Sets a QTimer for the specified amount of time to fire off and then call the displayComplete() slot.
virtual void setShouldSelect (bool)
virtual bool shouldSelect () const
virtual void setTransparencyLevel (int)
 Transparency information.
virtual int transparencyLevel () const
virtual bool needsTransparentRedraw () const
 Will return true if there is no cached image or internal variables have changed such that the cached image needs a redraw.
virtual QPixmap * transparentImage () const
virtual QPixmap * cacheTransparentImage (const QPixmap &pixmap)
virtual QPixmap * cacheTransparentImage (const QImage &image)
virtual void cacheTransparentVariables ()
virtual bool wantsTransparentDraw () const
 Will return true if transparent percent is not 0 or 100.
bool operator== (const DtSymbol &orig) const
bool operator!= (const DtSymbol &orig) const
virtual DtSymbolDrawersymbolDrawer ()
 Sets the new drawer to be the supplied drawer.
virtual DtSymbolDrawersetDrawer (const DtSymbolDrawer &)
virtual DtSymbolDrawerbackupDrawer () const
 Returns the drawer that was set as a backup.
virtual void setBackupDrawer (DtSymbolDrawer *)
virtual bool removeIfOffScreen () const
 Return true/false if this symbol should be removed if it is off screen By default is true.
void setRemoveIfOffScreen (bool b)
 Default is true.
virtual void setSymbolDisplayOptions (DtSymbolDisplayOptions *)
virtual const
DtSymbolDisplayOptions
symbolDisplayOptions () const
virtual DtSymbolDisplayOptionssymbolDisplayOptions ()
virtual int displayOptionsCache () const
void setAdjustPoints (bool)
bool adjustPoints () const
const QVector
< DtShowHideContext > & 
hiddenByModules () const
 Routines to access which modules this symbol is hidden by.
bool hiddenByModule (DtShowHideContext module) const
virtual void blockSignals (bool)
 Blocks signals from being emitted from this symbol.
virtual void setCacheSymbolAsBitmap (bool)
 Get/set whether or not the drawer should cache this symbol as a bitmap.
bool cacheSymbolAsBitmap () const
virtual const QString & bitmapSymbolCacheKey () const
 Returns a cache key that can be used to lookup in a bitmap cache.
virtual void reset ()
 Resets any relevant information associated with this symbol.
virtual bool editMode ()
 Set/get the edit mode option to enable update properties when hidden because of edition.
virtual void setEditMode (bool onOff)

Protected Member Functions

virtual const DtDisplayPoint calcCenterPoint () const
- Protected Member Functions inherited from DtLineSymbol
virtual const DtDisplayPoint calcCenterPoint (QPoint &pnt) const

Protected Attributes

DtPolygonStyle myPolygonStyle
Qt::BrushStyle myBrushStyle
bool myAllowInsideSelection
- Protected Attributes inherited from DtLineSymbol
QPolygon * myPoints
unsigned myWidth
int myKnobSize
int mySegmentSelected
DtLineSelectionMode mySelection
QVector< int > myDrawVertexPoints
bool myCanAddPoint
int myFixedLength
DtArrowStyle myArrowStyle
Qt::PenStyle myPenStyle
bool myFreehand
- Protected Attributes inherited from DtColorizedSymbol
QColor * myColor
int myLineWidth
- Protected Attributes inherited from DtSymbol
DtSymbolDrawermySymbolDrawer
DtSymbolDrawermyBackupDrawer
QPoint myOrigin
bool myActiveOffsetToParent
QPoint myOffsetToParent
bool myHighlight
bool myIsShown
bool myIsSelectable
bool myEditable
bool myInternalSelectable
QString myName
QString myCategoryTag
DtSymbolGeometry myGeometry
DtSymbolmyParent
DtSymbolmyDragClone
 If this symbol is being dragged, then this will point to the symbol that was cloned for the drag.
bool myIsOriginal
bool myAllowEditOnSelection
bool myAddToDrawOrder
double myScaleFactor
DtStaticAnimDatamyStaticAnimData
bool myEmitVisibilityChange
DtSymbol_DrawOrder myDrawOrder
QTimer * myTimer
DtSymbolCompositeDrawOptions myDrawOnComposite
bool myShouldSelect
 Set to true if part of a composite and a user has selected a part of the composite that should be selected.
int myTransparencyLevel
 Information for symbol transparency and transparent drawing.
QPixmap * myTransparentImage
DtSymbolmyTransparentCachedSymbol
DtSymbolDisplayOptionsmySymbolDisplayOptions
bool myAdjustPoints
QVector< DtShowHideContextmyHiddenByModules
QVector< DtShowHideContextmyIgnoreContexts
bool myRemoveIfOffscreen
bool myCacheSymbolAsBitmap
bool myEditMode
QString mySymbolBitmapCacheKey

Private Member Functions

 DtPolygonSymbol ()
 Not implemented. Private to ensure it is only constructed with a drawer.

Additional Inherited Members

- Public Slots inherited from DtSymbol
virtual void invalidateStaticAnimData ()
 This gets called when modified symbols exist and the original symbol has been destroyed.
virtual void displayComplete ()
 Call when the display of this symbol is complete.
virtual void clearDragClone (QObject *)
 Called when the drag clone is destroyed outside of this context, we will be notified in that case to clear out this symbols internal pointer.
- Signals inherited from DtSymbol
void originalSymbolDestroyed ()
 Sent when an original symbol has been destroyed - (so that the drawer can remove that cache)
void destroyed (const DtSymbol *)
 Called when we are destroyed, this will give our drawers a chance to update any cached information.
void originChanged (const DtSymbol *)
 Sent when setOrigin is called with a different origin.
void visibilityChanged (const DtSymbol *)
 Sent when visibility change sending is enabled and a symbol is shown or hidden when it wasn't before.
void displayComplete (const DtSymbol *)
 Called from displayComplete()
- Static Public Member Functions inherited from DtLineSymbol
static double calculateLineAngle (const QPoint &origin, const QPoint &end)
 Returns angle of line (in radians) between 2 points.
- Static Protected Attributes inherited from DtSymbol
static DtNullDrawer theNullDrawer

Detailed Description

Symbols representing enclosed polygonal areas.

Member Enumeration Documentation

Enumerator:
DtStyle_NoPolygon 

no drawing

DtStyle_Outline 

Draw the outline

DtStyle_Fill 

draw a filled polygon

DtStyle_Pattern 

draw a pattern filled polygon

DtStyle_PolygonStyle_MAX 

Hook for derived class extensions.

Constructor & Destructor Documentation

DtPolygonSymbol::DtPolygonSymbol ( DtSymbolDrawer drawer)

Constructor.

DtPolygonSymbol::DtPolygonSymbol ( DtNullDrawer drawer)

Constructor.

DtPolygonSymbol::DtPolygonSymbol ( const DtPolygonSymbol orig)

Copy Constructor.

virtual DtPolygonSymbol::~DtPolygonSymbol ( )
virtual

Destructor.

DtPolygonSymbol::DtPolygonSymbol ( )
private

Not implemented. Private to ensure it is only constructed with a drawer.

Member Function Documentation

virtual DtSymbol* DtPolygonSymbol::clone ( ) const
virtual

Create a clone of this symbol.

Reimplemented from DtLineSymbol.

Reimplemented in DtBoxSymbol.

virtual const DtDisplayPoint DtPolygonSymbol::centerPoint ( ) const
virtual

get the center Point.

In the case of this symbol this is calculated on the fly by creating a bounding box of the polygon and returning the center.

Reimplemented from DtLineSymbol.

virtual void DtPolygonSymbol::shift ( QPoint  p)
virtual

shift this polygon by p.

Reimplemented from DtLineSymbol.

virtual const QPoint DtPolygonSymbol::getPoint ( int  pointNum) const
virtual

Get a specific point in the polygon.

If you asked for a point that doesn't exist, this returns the point (-1,-1)

Reimplemented from DtLineSymbol.

virtual DtPolygonStyle DtPolygonSymbol::polygonStyle ( ) const
virtual
virtual void DtPolygonSymbol::setPolygonStyle ( DtPolygonStyle  style)
virtual
virtual Qt::BrushStyle DtPolygonSymbol::patternStyle ( ) const
virtual
virtual void DtPolygonSymbol::setPatternStyle ( Qt::BrushStyle  style)
virtual
virtual void DtPolygonSymbol::setAllowInsideSelection ( bool  b)
virtual

If set to true, will check if point is inside area, not just segments.

Default is false

bool DtPolygonSymbol::allowInsideSelection ( ) const
inline
virtual bool DtPolygonSymbol::select ( const QPoint &  aPoint)
virtual

If inside selection is enabled, see if point is in area if parent select returns false.

Reimplemented from DtLineSymbol.

bool DtPolygonSymbol::operator== ( const DtPolygonSymbol orig) const
bool DtPolygonSymbol::operator!= ( const DtPolygonSymbol orig) const
virtual bool DtPolygonSymbol::transparentCacheChanged ( ) const
virtual

Reimplemented from DtLineSymbol.

virtual const DtDisplayPoint DtPolygonSymbol::calcCenterPoint ( ) const
protectedvirtual

Reimplemented from DtLineSymbol.

Member Data Documentation

DtPolygonStyle DtPolygonSymbol::myPolygonStyle
protected
Qt::BrushStyle DtPolygonSymbol::myBrushStyle
protected
bool DtPolygonSymbol::myAllowInsideSelection
protected

Referenced by allowInsideSelection().


The documentation for this class was generated from the following file:

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)