![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
#include <CPolygonShape.h>
Public Types | |
typedef CRectControlledShapeBase | BaseClass |
typedef CInteractiveShapeBase | ShapeBaseClass |
![]() | |
typedef CInteractiveShapeBase | BaseClass |
typedef CInteractiveShapeBase | ShapeBaseClass |
![]() | |
typedef CShapeBase | BaseClass |
![]() | |
enum | ShapeTransformMode { STM_VIEW , STM_SHAPE , STM_COMBINE } |
Describe how shape tranformation is interpreted. More... | |
typedef imod::CSingleModelObserverBase | BaseClass |
![]() | |
typedef imod::IModel | ModelType |
![]() | |
enum | ChangeFlags { CF_CALIB = 0x3663adf } |
Data model change notification flags. More... | |
![]() | |
enum | TouchState { TS_NONE , TS_TRANSPARENT , TS_INACTIVE , TS_TICKER , TS_DRAGGABLE , TS_OTHER , TS_LAST = TS_OTHER } |
Enumeration for possible shape touch states. More... | |
Public Member Functions | |
CPolygonShape () | |
virtual bool | IsFirstVisible () const |
Check if first point is always visible as ticker. | |
virtual void | SetFirstVisible (bool state=true) |
virtual bool | IsAlwaysMovable () const |
Check if in all edit modes is this shape draggable. | |
virtual void | SetAlwaysMovable (bool state=true) |
Set flag if in all edit modes is this shape draggable. | |
virtual TouchState | IsTouched (istd::CIndex2d position) const |
Check, if any shape is touched. | |
virtual QString | GetShapeDescriptionAt (istd::CIndex2d position) const |
Get description to shape at specified position. | |
virtual void | Draw (QPainter &drawContext) const |
Draw this shape using draw context. | |
virtual bool | OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) |
This call back function will be called, if an observable object is about to be attached. | |
virtual bool | OnMouseButton (istd::CIndex2d position, Qt::MouseButton buttonType, bool downFlag) |
It is called, when mouse button is pushed down or up on this object. | |
virtual bool | OnMouseMove (istd::CIndex2d position) |
It is called, when mouse is moved. | |
virtual bool | IsDraggable () const |
Check if drag is enabled. | |
![]() | |
CRectControlledShapeBase () | |
virtual bool | IsEditableRotation () |
Check, if rotation is editable. | |
virtual void | SetEditableRotation (bool state=true) |
virtual bool | IsEditableWidth () |
Check, if width is editable. | |
virtual void | SetEditableWidth (bool state=true) |
virtual bool | IsEditableHeight () |
Check, if height is editable. | |
virtual void | SetEditableHeight (bool state=true) |
virtual bool | IsProportionalScaled () const |
Check, if both axis will be scaled proportional. | |
virtual void | SetProportionalScaled (bool state=true) |
virtual void | InvalidateBoundingBox () |
Invalidate bounding box. | |
![]() | |
CInteractiveShapeBase () | |
CInteractiveShapeBase (const CInteractiveShapeBase &shape) | |
virtual | ~CInteractiveShapeBase () |
virtual bool | IsEditablePosition () const |
virtual void | SetEditablePosition (bool state=true) |
virtual bool | IsSelected () const |
Check, if this shape is selected. | |
virtual void | SetSelected (bool selectFlag=true) |
Inform that this object was selected or deselected. | |
virtual void | BeginDrag (const istd::CIndex2d &position) |
Called before dragging is begin. | |
virtual void | SetDragPosition (const istd::CIndex2d &position) |
Set new drag position. | |
virtual void | EndDrag () |
Called after dragging. | |
virtual bool | OnModelDetached (imod::IModel *modelPtr) |
This call back function will be called, if an observable object is about to be detached. | |
![]() | |
CShapeBase () | |
CShapeBase (const CShapeBase &shape) | |
virtual | ~CShapeBase () |
virtual bool | AssignToLayer (int layerType) |
Assign this shape to same layer. | |
virtual void | Invalidate () |
iview::IDisplay * | GetDisplay () const |
Get access to currently connected display. | |
ShapeTransformMode | GetTransformMode () const |
Get shape transformation mode. | |
void | SetTransformMode (ShapeTransformMode mode) |
Set shape transformation mode. | |
int | GetLayerType () const override |
Get layer type of this shape object. | |
i2d::CRect | GetBoundingBox () const override |
Return bounding box in client window coordinates. | |
void | SetVisible (bool state=true) override |
Make shape to be visible or not. | |
const IColorSchema * | GetUserColorSchema () const override |
Get color schema from view or user defined. | |
void | SetUserColorSchema (const IColorSchema *schemaPtr) override |
Set color schema to draw shape. | |
void | SetDefaultDescription (const QString &description) override |
Set default description will be used to display on console. | |
bool | IsVisible () const override |
Check, if this object is visible. | |
bool | IsDisplayAccepted (const IDisplay &display) const override |
Check if this object can be connected to this display. | |
void | OnDisplayConnected (IDisplay *displayPtr) override |
Called after display is connected. | |
void | OnDisplayDisconnected (IDisplay *displayPtr) override |
Called after display is disconnected. | |
bool | OnDisplayChanged (const istd::IChangeable::ChangeSet &changeSet) override |
It informs about changes in display. | |
ITouchable::TouchState | IsTouched (istd::CIndex2d position) const override |
Check, if any shape is touched. | |
QString | GetShapeDescriptionAt (istd::CIndex2d position) const override |
Get description to shape at specified position. | |
bool | OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override |
This call back function will be called, if an observable object is about to be attached. | |
bool | OnModelDetached (imod::IModel *modelPtr) override |
This call back function will be called, if an observable object is about to be detached. | |
void | OnUpdate (const istd::IChangeable::ChangeSet &changeSet) override |
Called on update of observed model. | |
![]() | |
CSingleModelObserverBase () | |
virtual | ~CSingleModelObserverBase () |
imod::IModel * | GetObservedModel () const |
Get access to observed model. | |
imod::IModel * | GetModelPtr () const |
Get access to observed model. | |
void | EnsureModelDetached () |
Make sure this observer is detached. | |
void | SetObservedIds (const istd::IChangeable::ChangeSet &changeMask) |
Set list of ID's beeing observed. | |
bool | IsModelAttached (const imod::IModel *modelPtr=nullptr) const override |
Check if specified model is attached. | |
bool | OnModelAttached (imod::IModel *modelPtr, istd::IChangeable::ChangeSet &changeMask) override |
This call back function will be called, if an observable object is about to be attached. | |
bool | OnModelDetached (imod::IModel *modelPtr) override |
This call back function will be called, if an observable object is about to be detached. | |
void | BeforeModelChange (imod::IModel *modelPtr) override |
This function will be called before update of the observer contents occures. | |
void | AfterModelChange (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet) override |
This function will be called after update of the observer contents occures. | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() | |
![]() |
Protected Member Functions | |
virtual i2d::CVector2d | GetSegmentMiddle (int index) const |
virtual void | DrawCurve (QPainter &drawContext) const |
virtual void | DrawArea (QPainter &drawContext) const |
virtual void | DrawSelectionElements (QPainter &drawContext) const |
virtual void | EnsureValidNodes () const |
virtual bool | IsCurveTouched (istd::CIndex2d position) const |
virtual void | BeginLogDrag (const i2d::CVector2d &reference) |
virtual void | SetLogDragPosition (const i2d::CVector2d &position) |
virtual i2d::CRect | CalcBoundingBox () const |
Calculate bounding box. | |
![]() | |
void | CalcNodes (const i2d::CAffine2d ¶llTransform) const |
void | ResetNodes () const |
bool | AreNodesValid () const |
i2d::CAffine2d | CalcMoveTransform (i2d::CVector2d position, const i2d::CAffine2d &transform) |
virtual bool | IsTickerTouched (istd::CIndex2d position) const |
virtual void | DrawTickers (QPainter &drawContext) const |
virtual void | DrawFigure (QPainter &drawContext) const |
bool | IsParallTouched (const i2d::CAffine2d ¶llTransform, istd::CIndex2d position) const |
i2d::CAffine2d | CalcScaleTransform (const i2d::CVector2d ¢er, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos) |
i2d::CAffine2d | CalcSizeTransform (const i2d::CVector2d ¢er, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos) |
i2d::CAffine2d | CalcRotatedTransform (const i2d::CVector2d ¢er, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos) |
![]() | |
void | BeginTickerDrag () |
void | EndTickerDrag () |
void | UpdateModelChanges () |
int | GetKeysState () const |
Get actual keys state. | |
int | GetEditMode () const |
Get actual edit mode. | |
void | DrawText (QPainter &drawContext, istd::CIndex2d point, const QString &text) const |
Draw text on a given position. | |
virtual bool | IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet) |
Get display changes mask. | |
![]() | |
i2d::CVector2d | GetScreenPosition (const i2d::CVector2d &logPosition) const |
Get screen position based on logical position. | |
i2d::CVector2d | GetLogPosition (const i2d::CVector2d &screenPosition) const |
Get logical position based on screen position. | |
double | GetLocalLineWidth (const i2d::CVector2d &screenPosition) const |
Get line with (in logical coordinates) for single screen position. | |
bool | IsDisplayConnected () const |
Check if display is connected. | |
const IColorSchema & | GetColorSchema () const |
Get color schema for this shape. | |
i2d::CRect | GetClientRect () const |
Get display client rectangle. | |
bool | IsBoundingBoxValid () const |
void | DisconnectDisplay () |
virtual const iview::CScreenTransform & | GetViewToScreenTransform () const |
![]() | |
void | SetModelPtr (imod::IModel *modelPtr) |
Set internal model pointer to specified value. | |
Static Protected Member Functions | |
static const istd::IChangeable::ChangeSet & | GetMoveChangeSet () |
static const istd::IChangeable::ChangeSet & | GetMoveAllChangeSet () |
Protected Attributes | |
int | m_referenceIndex |
QVector< i2d::CVector2d > | m_references |
i2d::CVector2d | m_castAxis |
i2d::CAffine2d | m_castTransform |
QPolygonF | m_screenPoints |
![]() | |
MouseMode | m_mouseMode |
i2d::CVector2d | m_referencePosition |
Additional Inherited Members | |
![]() | |
enum | EditNode { EN_NODE1 = 0 , EN_NODE2 , EN_NODE3 , EN_NODE4 , EN_CENTER , EN_MIDDLE12 , EN_MIDDLE23 , EN_MIDDLE34 , EN_MIDDLE41 , EN_ROTATION1 , EN_ROTATION2 , EN_LAST = EN_ROTATION2 } |
enum | MouseMode { MM_NONE , MM_ROTATION1 , MM_ROTATION2 , MM_WIDTH1 , MM_WIDTH2 , MM_HEIGHT1 , MM_HEIGHT2 , MM_SIZE1 , MM_SIZE2 , MM_SIZE3 , MM_SIZE4 } |
Definition at line 25 of file CPolygonShape.h.
Definition at line 28 of file CPolygonShape.h.
Definition at line 29 of file CPolygonShape.h.
iview::CPolygonShape::CPolygonShape | ( | ) |
|
protectedvirtual |
Reimplemented from iview::CRectControlledShapeBase.
|
protectedvirtual |
Calculate bounding box.
You have to implement this method in your shapes implementations.
Reimplemented from iview::CRectControlledShapeBase.
Reimplemented in iview::CPolylineShape, iview::CSplineShape, and iview::CTubePolylineShape.
|
virtual |
Draw this shape using draw context.
Reimplemented from iview::CRectControlledShapeBase.
|
protectedvirtual |
Reimplemented in iview::CPolylineShape.
|
protectedvirtual |
Reimplemented in iview::CPolylineShape, iview::CSplineShape, and iview::CTubePolylineShape.
|
protectedvirtual |
Reimplemented in iview::CPolylineShape, and iview::CTubePolylineShape.
|
protectedvirtual |
Implements iview::CRectControlledShapeBase.
Reimplemented in iview::CTubePolylineShape.
|
staticprotected |
|
staticprotected |
|
protectedvirtual |
Reimplemented in iview::CSplineShape.
|
virtual |
Get description to shape at specified position.
Implements iview::ITouchable.
Reimplemented in iview::CPolylineShape.
|
inlinevirtual |
Check if in all edit modes is this shape draggable.
Normally it is possible to drag this object only in EM_NONE mode.
Reimplemented in iview::CTubePolylineShape.
Definition at line 115 of file CPolygonShape.h.
|
protectedvirtual |
Implements iview::CRectControlledShapeBase.
Reimplemented in iview::CPolylineShape, iview::CSplineShape, and iview::CTubePolylineShape.
|
virtual |
Check if drag is enabled.
Reimplemented from iview::CInteractiveShapeBase.
|
inlinevirtual |
Check if first point is always visible as ticker.
It is used to recognize which one point is the first.
Definition at line 103 of file CPolygonShape.h.
|
virtual |
Check, if any shape is touched.
When shape is touched, it return also pointer to this shape.
Reimplemented from iview::CRectControlledShapeBase.
Reimplemented in iview::CPolylineShape, and iview::CTubePolylineShape.
|
virtual |
This call back function will be called, if an observable object is about to be attached.
This function returns a true
, if observable object is accepted by the implementation logic of the observer, otherwise returns false.
modelPtr | pointer to model object being attached. |
changeMask | output parameter returning set of change ID's will be accepted. returns a false . |
Reimplemented from iview::CInteractiveShapeBase.
Reimplemented in iview::CPolylineShape, and iview::CSplineShape.
|
virtual |
It is called, when mouse button is pushed down or up on this object.
position | position of mouse pointer on client area (picture coords). |
buttonType | determine the mouse butten type. |
downFlag | true, if mouse button is pushed down, false if pushed up. |
Reimplemented from iview::CRectControlledShapeBase.
Reimplemented in iview::CPolylineShape, and iview::CTubePolylineShape.
|
virtual |
It is called, when mouse is moved.
Only objects with focus receive this event.
position | - position of mouse pointer on client area (picture coords). |
Reimplemented from iview::CInteractiveShapeBase.
Reimplemented in iview::CTubePolylineShape.
|
inlinevirtual |
Set flag if in all edit modes is this shape draggable.
Reimplemented in iview::CTubePolylineShape.
Definition at line 121 of file CPolygonShape.h.
|
inlinevirtual |
Definition at line 109 of file CPolygonShape.h.
|
protectedvirtual |
Reimplemented from iview::CRectControlledShapeBase.
|
protected |
Definition at line 93 of file CPolygonShape.h.
|
mutableprotected |
Definition at line 94 of file CPolygonShape.h.
|
protected |
Definition at line 90 of file CPolygonShape.h.
|
protected |
Definition at line 91 of file CPolygonShape.h.
|
mutableprotected |
Definition at line 95 of file CPolygonShape.h.
© Witold Gantzke and Kirill Lepskiy