Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
iview::CTubePolylineShape Class Reference

Graphical representation of tube region. More...

#include <CTubePolylineShape.h>

Inheritance diagram for iview::CTubePolylineShape:
iview::CPolylineShape iview::CPolygonShape iview::CRectControlledShapeBase iview::CInteractiveShapeBase iview::CShapeBase iview::IInteractiveShape iview::IDraggable imod::CSingleModelObserverBase iview::IShape iview::IShape iview::IMouseActionObserver istd::IPolymorphic istd::IPolymorphic iview::ITouchable iview::IVisualizable imod::IObserver iview::ITouchable iview::IVisualizable imod::IObserver imod::IObserver

Public Types

typedef iview::CPolylineShape BaseClass
 
typedef CInteractiveShapeBase ShapeBaseClass
 
- Public Types inherited from iview::CPolylineShape
typedef CPolygonShape BaseClass
 
typedef CInteractiveShapeBase ShapeBaseClass
 
- Public Types inherited from iview::CPolygonShape
typedef CRectControlledShapeBase BaseClass
 
typedef CInteractiveShapeBase ShapeBaseClass
 
- Public Types inherited from iview::CRectControlledShapeBase
typedef CInteractiveShapeBase BaseClass
 
typedef CInteractiveShapeBase ShapeBaseClass
 
- Public Types inherited from iview::CInteractiveShapeBase
typedef CShapeBase BaseClass
 
- Public Types inherited from iview::CShapeBase
enum  ShapeTransformMode { STM_VIEW, STM_SHAPE, STM_COMBINE }
 Describe how shape tranformation is interpreted. More...
 
typedef
imod::CSingleModelObserverBase 
BaseClass
 
- Public Types inherited from imod::CSingleModelObserverBase
typedef imod::IModel ModelType
 
- Public Types inherited from iview::IShape
enum  ChangeFlags { CF_CALIB = 0x3663adf }
 Data model change notification flags. More...
 
- Public Types inherited from iview::ITouchable
enum  TouchState {
  TS_NONE, TS_INACTIVE, TS_TICKER, TS_DRAGGABLE,
  TS_OTHER, TS_LAST = TS_OTHER
}
 Enumeration for possible shape touch states. More...
 

Public Member Functions

 CTubePolylineShape ()
 
virtual bool IsOrientationVisible () const
 Check if orientation of polyline is visible. More...
 
virtual void SetOrientationVisible (bool state=true)
 Set the orientation to be visible or not. More...
 
virtual bool IsAlwaysMovable () const
 Check if in all edit modes is this shape draggable. More...
 
virtual void SetAlwaysMovable (bool state=true)
 Set flag if in all edit modes is this shape draggable. More...
 
virtual i2d::CRect CalcBoundingBox () const
 Calculate bounding box. More...
 
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. More...
 
virtual bool OnMouseMove (istd::CIndex2d position)
 It is called, when mouse is moved. More...
 
virtual TouchState IsTouched (istd::CIndex2d position) const
 Check, if any shape is touched. More...
 
- Public Member Functions inherited from iview::CPolylineShape
 CPolylineShape ()
 
bool IsOrientationVisible () const
 
void SetOrientationVisible (bool state=true)
 
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. More...
 
virtual QString GetShapeDescriptionAt (istd::CIndex2d position) const
 Get description to shape at specified position. More...
 
- Public Member Functions inherited from iview::CPolygonShape
 CPolygonShape ()
 
virtual bool IsFirstVisible () const
 Check if first point is always visible as ticker. More...
 
virtual void SetFirstVisible (bool state=true)
 
virtual void Draw (QPainter &drawContext) const
 Draw this shape using draw context. More...
 
virtual bool IsDraggable () const
 Check if drag is enabled. More...
 
- Public Member Functions inherited from iview::CRectControlledShapeBase
 CRectControlledShapeBase ()
 
virtual bool IsEditableRotation ()
 Check, if rotation is editable. More...
 
virtual void SetEditableRotation (bool state=true)
 
virtual bool IsEditableWidth ()
 Check, if width is editable. More...
 
virtual void SetEditableWidth (bool state=true)
 
virtual bool IsEditableHeight ()
 Check, if height is editable. More...
 
virtual void SetEditableHeight (bool state=true)
 
virtual bool IsProportionalScaled () const
 Check, if both axis will be scaled proportional. More...
 
virtual void SetProportionalScaled (bool state=true)
 
virtual void InvalidateBoundingBox ()
 Invalidate bounding box. More...
 
- Public Member Functions inherited from iview::CInteractiveShapeBase
 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. More...
 
virtual void SetSelected (bool selectFlag=true)
 Inform that this object was selected or deselected. More...
 
virtual void BeginDrag (const istd::CIndex2d &position)
 Called before dragging is begin. More...
 
virtual void SetDragPosition (const istd::CIndex2d &position)
 Set new drag position. More...
 
virtual void EndDrag ()
 Called after dragging. More...
 
virtual bool OnModelDetached (imod::IModel *modelPtr)
 This call back function will be called, if an observable object is about to be detached. More...
 
- Public Member Functions inherited from iview::CShapeBase
 CShapeBase ()
 
 CShapeBase (const CShapeBase &shape)
 
virtual ~CShapeBase ()
 
virtual bool AssignToLayer (int layerType)
 Assign this shape to same layer. More...
 
virtual void Invalidate ()
 
iview::IDisplayGetDisplayPtr () const
 Get access to currently connected display. More...
 
ShapeTransformMode GetTransformMode () const
 Get shape transformation mode. More...
 
void SetTransformMode (ShapeTransformMode mode)
 Set shape transformation mode. More...
 
virtual int GetLayerType () const
 Get layer type of this shape object. More...
 
virtual i2d::CRect GetBoundingBox () const
 Return bounding box in client window coordinates. More...
 
virtual void SetVisible (bool state=true)
 Make shape to be visible or not. More...
 
virtual const IColorSchemaGetUserColorSchema () const
 Get color schema from view or user defined. More...
 
virtual void SetUserColorSchema (const IColorSchema *schemaPtr)
 Set color schema to draw shape. More...
 
virtual void SetDefaultDescription (const QString &description)
 Set default description will be used to display on console. More...
 
virtual bool IsVisible () const
 Check, if this object is visible. More...
 
virtual bool IsDisplayAccepted (const IDisplay &display) const
 Check if this object can be connected to this display. More...
 
virtual void OnConnectDisplay (IDisplay *displayPtr)
 Called after display is connected. More...
 
virtual void OnDisconnectDisplay (IDisplay *displayPtr)
 Called after display is disconnected. More...
 
virtual bool OnDisplayChange (const istd::IChangeable::ChangeSet &changeSet)
 It informs about changes in display. More...
 
virtual void OnUpdate (const istd::IChangeable::ChangeSet &changeSet)
 Called on update of observed model. More...
 
- Public Member Functions inherited from imod::CSingleModelObserverBase
 CSingleModelObserverBase ()
 
virtual ~CSingleModelObserverBase ()
 
imod::IModelGetObservedModel () const
 Get access to observed model. More...
 
imod::IModelGetModelPtr () const
 Get access to observed model. More...
 
void EnsureModelDetached ()
 Make sure this observer is detached. More...
 
void SetObservedIds (const istd::IChangeable::ChangeSet &changeMask)
 Set list of ID's beeing observed. More...
 
virtual bool IsModelAttached (const imod::IModel *modelPtr=NULL) const
 Check if specified model is attached. More...
 
virtual void BeforeUpdate (imod::IModel *modelPtr)
 This function will be called before update of the observer contents occures. More...
 
virtual void AfterUpdate (imod::IModel *modelPtr, const istd::IChangeable::ChangeSet &changeSet)
 This function will be called after update of the observer contents occures. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Protected Types

enum  EditMode { EM_NONE, EM_BASIC, EM_LEFT, EM_RIGHT }
 
- Protected Types inherited from iview::CRectControlledShapeBase
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
}
 

Protected Member Functions

virtual void DrawCurve (QPainter &drawContext) const
 
virtual void DrawSelectionElements (QPainter &drawContext) const
 
virtual void EnsureValidNodes () const
 
virtual bool IsCurveTouched (istd::CIndex2d position) const
 
- Protected Member Functions inherited from iview::CPolylineShape
virtual void DrawArea (QPainter &drawContext) const
 
- Protected Member Functions inherited from iview::CPolygonShape
virtual i2d::CVector2d GetSegmentMiddle (int index) const
 
virtual void BeginLogDrag (const i2d::CVector2d &reference)
 
virtual void SetLogDragPosition (const i2d::CVector2d &position)
 
- Protected Member Functions inherited from iview::CRectControlledShapeBase
void CalcNodes (const i2d::CAffine2d &parallTransform) 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 &parallTransform, istd::CIndex2d position) const
 
i2d::CAffine2d CalcScaleTransform (const i2d::CVector2d &center, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos)
 
i2d::CAffine2d CalcSizeTransform (const i2d::CVector2d &center, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos)
 
i2d::CAffine2d CalcRotatedTransform (const i2d::CVector2d &center, const i2d::CVector2d &isPos, const i2d::CVector2d &shouldPos)
 
- Protected Member Functions inherited from iview::CInteractiveShapeBase
void BeginTickerDrag ()
 
void EndTickerDrag ()
 
void UpdateModelChanges ()
 
int GetKeysState () const
 Get actual keys state. More...
 
int GetEditMode () const
 Get actual edit mode. More...
 
void DrawText (QPainter &drawContext, istd::CIndex2d point, const QString &text) const
 Draw text on a given position. More...
 
virtual bool IsDisplayChangeImportant (const istd::IChangeable::ChangeSet &changeSet)
 Get display changes mask. More...
 
- Protected Member Functions inherited from iview::CShapeBase
i2d::CVector2d GetScreenPosition (const i2d::CVector2d &logPosition) const
 Get screen position based on logical position. More...
 
i2d::CVector2d GetLogPosition (const i2d::CVector2d &screenPosition) const
 Get logical position based on screen position. More...
 
double GetLocalLineWidth (const i2d::CVector2d &screenPosition) const
 Get line with (in logical coordinates) for single screen position. More...
 
bool IsDisplayConnected () const
 Check if display is connected. More...
 
const IColorSchemaGetColorSchema () const
 Get color schema for this shape. More...
 
i2d::CRect GetClientRect () const
 Get display client rectangle. More...
 
bool IsBoundingBoxValid () const
 
void DisconnectDisplay ()
 
virtual const
iview::CScreenTransform
GetViewToScreenTransform () const
 
- Protected Member Functions inherited from imod::CSingleModelObserverBase
void SetModelPtr (imod::IModel *modelPtr)
 Set internal model pointer to specified value. More...
 

Protected Attributes

bool m_isAlwaysDraggable
 
bool m_isOrientationVisible
 
int m_editMode
 
int m_editedNodeIndex
 
- Protected Attributes inherited from iview::CPolygonShape
int m_referenceIndex
 
QVector< i2d::CVector2dm_references
 
i2d::CVector2d m_castAxis
 
i2d::CAffine2d m_castTransform
 
QPolygonF m_screenPoints
 
- Protected Attributes inherited from iview::CRectControlledShapeBase
MouseMode m_mouseMode
 
i2d::CVector2d m_referencePosition
 

Additional Inherited Members

- Static Public Member Functions inherited from iview::CPolylineShape
static void DrawOrientationMarker (QPainter &drawContext, const QPen &rightPen, const QBrush &rightBrush, const QPen &leftPen, const QBrush &leftBrush, const i2d::CLine2d &segmentLine, double scale)
 Draw an orientation marker consisting of two triangles (black for outside and white for inside) More...
 
- Static Protected Attributes inherited from imod::CSingleModelObserverBase
static const
istd::IChangeable::ChangeSet 
s_undoChanges
 

Detailed Description

Graphical representation of tube region.

Definition at line 15 of file CTubePolylineShape.h.

Member Typedef Documentation

Definition at line 18 of file CTubePolylineShape.h.

Definition at line 19 of file CTubePolylineShape.h.

Member Enumeration Documentation

Enumerator
EM_NONE 
EM_BASIC 
EM_LEFT 
EM_RIGHT 

Definition at line 67 of file CTubePolylineShape.h.

Constructor & Destructor Documentation

iview::CTubePolylineShape::CTubePolylineShape ( )

Member Function Documentation

virtual i2d::CRect iview::CTubePolylineShape::CalcBoundingBox ( ) const
virtual

Calculate bounding box.

You have to implement this method in your shapes implementations.

Reimplemented from iview::CPolylineShape.

virtual void iview::CTubePolylineShape::DrawCurve ( QPainter &  drawContext) const
protectedvirtual

Reimplemented from iview::CPolylineShape.

virtual void iview::CTubePolylineShape::DrawSelectionElements ( QPainter &  drawContext) const
protectedvirtual

Reimplemented from iview::CPolylineShape.

virtual void iview::CTubePolylineShape::EnsureValidNodes ( ) const
protectedvirtual

Reimplemented from iview::CPolygonShape.

bool iview::CTubePolylineShape::IsAlwaysMovable ( ) const
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 from iview::CPolygonShape.

Definition at line 101 of file CTubePolylineShape.h.

References m_isAlwaysDraggable.

virtual bool iview::CTubePolylineShape::IsCurveTouched ( istd::CIndex2d  position) const
protectedvirtual

Reimplemented from iview::CPolylineShape.

bool iview::CTubePolylineShape::IsOrientationVisible ( ) const
inlinevirtual

Check if orientation of polyline is visible.

Orientation is shown as small arrow at the end of polyline.

Definition at line 85 of file CTubePolylineShape.h.

References m_isOrientationVisible.

virtual TouchState iview::CTubePolylineShape::IsTouched ( istd::CIndex2d  position) const
virtual

Check, if any shape is touched.

When shape is touched, it return also pointer to this shape.

Returns
touch state for the shape, or iview::IInteractiveShape::TS_NONE, when nothing found.

Reimplemented from iview::CPolylineShape.

virtual bool iview::CTubePolylineShape::OnMouseButton ( istd::CIndex2d  position,
Qt::MouseButton  buttonType,
bool  downFlag 
)
virtual

It is called, when mouse button is pushed down or up on this object.

Parameters
position- position of mouse pointer on client area (picture coords).
downFlag- true, if mouse button is pushed down, false if pushed up.
Returns
true if this shape should get focus to catch all mouse movements.

Reimplemented from iview::CPolylineShape.

virtual bool iview::CTubePolylineShape::OnMouseMove ( istd::CIndex2d  position)
virtual

It is called, when mouse is moved.

Only objects with focus receive this event.

Parameters
position- position of mouse pointer on client area (picture coords).
Returns
true if this shape should hold focus to catch longer all mouse movements.

Reimplemented from iview::CPolygonShape.

void iview::CTubePolylineShape::SetAlwaysMovable ( bool  state = true)
inlinevirtual

Set flag if in all edit modes is this shape draggable.

See Also
IsAlwaysMovable()

Reimplemented from iview::CPolygonShape.

Definition at line 107 of file CTubePolylineShape.h.

References m_isAlwaysDraggable.

void iview::CTubePolylineShape::SetOrientationVisible ( bool  state = true)
inlinevirtual

Set the orientation to be visible or not.

Parameters
stateif true, orientation will be visible.

Definition at line 91 of file CTubePolylineShape.h.

References iview::CShapeBase::Invalidate(), and m_isOrientationVisible.

Member Data Documentation

int iview::CTubePolylineShape::m_editedNodeIndex
protected

Definition at line 79 of file CTubePolylineShape.h.

int iview::CTubePolylineShape::m_editMode
protected

Definition at line 78 of file CTubePolylineShape.h.

bool iview::CTubePolylineShape::m_isAlwaysDraggable
protected

Definition at line 75 of file CTubePolylineShape.h.

Referenced by IsAlwaysMovable(), and SetAlwaysMovable().

bool iview::CTubePolylineShape::m_isOrientationVisible
protected

Definition at line 76 of file CTubePolylineShape.h.

Referenced by IsOrientationVisible(), and SetOrientationVisible().


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy