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

Symbols representing circles and ellipses. More...

Inheritance diagram for DtCircleSymbol:
Inheritance graph
[legend]

Public Types

enum  DtCircleStyle {
  DtStyle_NoCircle = 0, DtStyle_Outline, DtStyle_Fill, DtStyle_Pattern,
  DtStyle_NoEntry, DtStyle_CrossHair, DtStyle_Pie, DtStyle_CircleStyle_MAX
}

Public Member Functions

 DtCircleSymbol (DtSymbolDrawer &drawer)
 Constructor.
 DtCircleSymbol (DtNullDrawer &drawer)
 Constructor.
 DtCircleSymbol (const DtCircleSymbol &orig)
 Copy Constructor.
DtCircleSymboloperator= (const DtCircleSymbol &orig)
 Assignment Operatior.
virtual ~DtCircleSymbol ()
 Destructor.
virtual DtSymbolclone () const
 Create a clone of this symbol.
virtual void setRadius (const double r)
 Set the radius of the the circle.
virtual double radius () const
 Get the radius of the circle.
virtual void setYRadius (const double r)
 Set the horizontal radius of an ellipse.
virtual double yRadius () const
 Get the horizontal radius of an ellipse.
virtual void setRotationDegrees (const double rot)
 Set the number of degrees to rotate the ellipse.
virtual double rotationDegrees () const
 Get the number of degrees to rotate the ellipse.
virtual void setCircleStyle (DtCircleStyle style)
 Style settings.
virtual DtCircleStyle circleStyle () const
virtual void setBrushStyle (Qt::BrushStyle style)
virtual Qt::BrushStyle brushStyle () const
virtual void setPenStyle (Qt::PenStyle style)
virtual Qt::PenStyle penStyle () const
virtual bool select (const QPoint &aPoint)
 Check to see if the circle or origin is selected.
virtual bool select (const QPoint &aPoint, const QSize &aSize)
 Returns true if the rectangle intersects the symbol, if the symbol is selectable.
virtual bool pointInCircle (const QPoint &aPoint, QPoint &centerPoint, float xRadius, float yRadius, int penThickness)
 See if the supplied point is within the given filled circle.
virtual bool rectInCircle (const QRect &aPoint, QPoint &centerPoint, float xRadius, float yRadius, int penThickness)
 See if the supplied rectangle is within the given filled circle.
virtual bool rectInSmallerCircle (const QRect &aRect, QPoint &centerPoint, float xRadius, float yRadius, int penThickness)
bool operator== (const DtCircleSymbol &orig) const
bool operator!= (const DtCircleSymbol &orig) const
virtual bool transparentCacheChanged () const
virtual void setArcInfo (double radius, int sweep, double arcStartAngle)
 Information for drawing arcs in circle drawer arcEnd is center point of arc end and sweep is the angle of sweep (0 to 360).
virtual const DtArcInfoarcInfo () const
virtual void clearArcInfo ()
virtual Qt::PenStyle crossHairStyle () const
virtual void setCrossHairStyle (Qt::PenStyle style)
virtual bool patternCacheChanged () const
virtual void cachePatternVariables ()
virtual bool needsPatternRedraw () const
virtual QPixmap * patternImage () const
virtual QPixmap * cachePatternImage (const QPixmap &pixmap)
void setScaleRadiusByScaleFactor (bool)
 If true, when returning radius, it will be scaled by the scaleBy() method.
bool scaleRadiusByScaleFactor () const
virtual bool isScalable () const
 Return true/false if this is a scalable symbol. By default returns false.
- 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.
virtual void setLineWidth (int i)
- 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 void setHighlight (const bool highlight)
 Set/get the highlight flag (whether the symbol should be drawn highlighted).
virtual bool highlight () const
virtual bool selected () const
virtual const DtDisplayPoint centerPoint () const
 The real visual center of the symbol in display coordinates.
virtual const DtDisplayPoint topLeftPoint () const
 The real visual top left corner of the symbol in display coordinates.
virtual bool setLocationData (const QPolygon *)
 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 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 shift (QPoint p)
 Move the center of this object by p amount.
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 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 bool originIsCenterOfMass () const
 Returns true if the origin is the center of mass (center of all points) in the 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 Attributes

double myRadius
double myYRadius
double myRotationDegrees
DtCircleStyle myCircleStyle
Qt::BrushStyle myBrushStyle
Qt::PenStyle myPenStyle
Qt::PenStyle myCrossHairStyle
DtArcInfomyArcInfo
DtSymbolmyPatternCachedSymbol
QPixmap * myPatternImage
bool myScaleRadiusByScaleFactor
- 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

 DtCircleSymbol ()
 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 DtColorizedSymbol
static DtSymbolcreate (DtSymbolDrawer &drawer)
- Protected Member Functions inherited from DtSymbol
bool overlapsBoundingSphere (const DtSymbol &aSymbol, const float aTolerance) const
 Returns true if the bounding spheres of the symbols intersect and the symbols are intersectable.
bool overlapsBoundingBox (const DtSymbol &aSymbol, const float aTolerance) const
 Returns true if the bounding boxes of the symbols intersect and the symbols are intersectable.
- Static Protected Attributes inherited from DtSymbol
static DtNullDrawer theNullDrawer

Detailed Description

Symbols representing circles and ellipses.

Member Enumeration Documentation

Enumerator:
DtStyle_NoCircle 

no drawing

DtStyle_Outline 

Draw the outline

DtStyle_Fill 

draw a filled circle

DtStyle_Pattern 

draw a pattern filled circle

DtStyle_NoEntry 

Draw the outline with an x inside

DtStyle_CrossHair 

Draw the outline with a crosshair inside

DtStyle_Pie 

Draws a pie wedge instead of an arc

DtStyle_CircleStyle_MAX 

Hook for derived class extensions.

Constructor & Destructor Documentation

DtCircleSymbol::DtCircleSymbol ( DtSymbolDrawer drawer)

Constructor.

DtCircleSymbol::DtCircleSymbol ( DtNullDrawer drawer)

Constructor.

DtCircleSymbol::DtCircleSymbol ( const DtCircleSymbol orig)

Copy Constructor.

virtual DtCircleSymbol::~DtCircleSymbol ( )
virtual

Destructor.

DtCircleSymbol::DtCircleSymbol ( )
private

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

Member Function Documentation

DtCircleSymbol& DtCircleSymbol::operator= ( const DtCircleSymbol orig)

Assignment Operatior.

virtual DtSymbol* DtCircleSymbol::clone ( ) const
virtual

Create a clone of this symbol.

Reimplemented from DtColorizedSymbol.

Reimplemented in DtResizableCircleSymbol.

virtual void DtCircleSymbol::setRadius ( const double  r)
virtual

Set the radius of the the circle.

In the case of an ellipse, this sets the horizontal radius only.

Reimplemented in DtResizableCircleSymbol.

virtual double DtCircleSymbol::radius ( ) const
virtual

Get the radius of the circle.

virtual void DtCircleSymbol::setYRadius ( const double  r)
virtual

Set the horizontal radius of an ellipse.

This has no effect on circles.

virtual double DtCircleSymbol::yRadius ( ) const
virtual

Get the horizontal radius of an ellipse.

virtual void DtCircleSymbol::setRotationDegrees ( const double  rot)
virtual

Set the number of degrees to rotate the ellipse.

This has no effect on circles.

virtual double DtCircleSymbol::rotationDegrees ( ) const
virtual

Get the number of degrees to rotate the ellipse.

virtual void DtCircleSymbol::setCircleStyle ( DtCircleStyle  style)
virtual

Style settings.

virtual DtCircleStyle DtCircleSymbol::circleStyle ( ) const
virtual
virtual void DtCircleSymbol::setBrushStyle ( Qt::BrushStyle  style)
virtual
virtual Qt::BrushStyle DtCircleSymbol::brushStyle ( ) const
virtual
virtual void DtCircleSymbol::setPenStyle ( Qt::PenStyle  style)
virtual
virtual Qt::PenStyle DtCircleSymbol::penStyle ( ) const
virtual
virtual bool DtCircleSymbol::select ( const QPoint &  aPoint)
virtual

Check to see if the circle or origin is selected.

Reimplemented from DtSymbol.

Reimplemented in DtResizableCircleSymbol.

virtual bool DtCircleSymbol::select ( const QPoint &  aPoint,
const QSize &  rectangleSize 
)
virtual

Returns true if the rectangle intersects the symbol, if the symbol is selectable.

Reimplemented from DtSymbol.

Reimplemented in DtResizableCircleSymbol.

virtual bool DtCircleSymbol::pointInCircle ( const QPoint &  aPoint,
QPoint &  centerPoint,
float  xRadius,
float  yRadius,
int  penThickness 
)
virtual

See if the supplied point is within the given filled circle.

virtual bool DtCircleSymbol::rectInCircle ( const QRect &  aPoint,
QPoint &  centerPoint,
float  xRadius,
float  yRadius,
int  penThickness 
)
virtual

See if the supplied rectangle is within the given filled circle.

virtual bool DtCircleSymbol::rectInSmallerCircle ( const QRect &  aRect,
QPoint &  centerPoint,
float  xRadius,
float  yRadius,
int  penThickness 
)
virtual
bool DtCircleSymbol::operator== ( const DtCircleSymbol orig) const
bool DtCircleSymbol::operator!= ( const DtCircleSymbol orig) const
virtual bool DtCircleSymbol::transparentCacheChanged ( ) const
virtual

Reimplemented from DtColorizedSymbol.

Reimplemented in DtResizableCircleSymbol.

virtual void DtCircleSymbol::setArcInfo ( double  radius,
int  sweep,
double  arcStartAngle 
)
virtual

Information for drawing arcs in circle drawer arcEnd is center point of arc end and sweep is the angle of sweep (0 to 360).

Arc start angle is the angle on the circle to start drawing the arc (counter-clockwise from 0 at top)

virtual const DtArcInfo* DtCircleSymbol::arcInfo ( ) const
virtual
virtual void DtCircleSymbol::clearArcInfo ( )
virtual
virtual Qt::PenStyle DtCircleSymbol::crossHairStyle ( ) const
virtual
virtual void DtCircleSymbol::setCrossHairStyle ( Qt::PenStyle  style)
virtual
virtual bool DtCircleSymbol::patternCacheChanged ( ) const
virtual
virtual void DtCircleSymbol::cachePatternVariables ( )
virtual
virtual bool DtCircleSymbol::needsPatternRedraw ( ) const
virtual
virtual QPixmap* DtCircleSymbol::patternImage ( ) const
virtual
virtual QPixmap* DtCircleSymbol::cachePatternImage ( const QPixmap &  pixmap)
virtual
void DtCircleSymbol::setScaleRadiusByScaleFactor ( bool  b)
inline

If true, when returning radius, it will be scaled by the scaleBy() method.

References myScaleRadiusByScaleFactor.

bool DtCircleSymbol::scaleRadiusByScaleFactor ( ) const
inline
virtual bool DtCircleSymbol::isScalable ( ) const
virtual

Return true/false if this is a scalable symbol. By default returns false.

Reimplemented from DtSymbol.

Member Data Documentation

double DtCircleSymbol::myRadius
protected
double DtCircleSymbol::myYRadius
protected
double DtCircleSymbol::myRotationDegrees
protected
DtCircleStyle DtCircleSymbol::myCircleStyle
protected
Qt::BrushStyle DtCircleSymbol::myBrushStyle
protected
Qt::PenStyle DtCircleSymbol::myPenStyle
protected
Qt::PenStyle DtCircleSymbol::myCrossHairStyle
protected
DtArcInfo* DtCircleSymbol::myArcInfo
protected
DtSymbol* DtCircleSymbol::myPatternCachedSymbol
protected
QPixmap* DtCircleSymbol::myPatternImage
protected
bool DtCircleSymbol::myScaleRadiusByScaleFactor
protected

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

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)