Version: 6.3.1
Public Member Functions | Protected Attributes

GLViewer_Polyline Class Reference

#include <GLViewer_BaseObjects.h>

Inheritance diagram for GLViewer_Polyline:
Inheritance graph

Public Member Functions

 GLViewer_Polyline (int number=1, float size=5.0, const QString &toolTip="GLPolyline")
 ~GLViewer_Polyline ()
virtual void compute ()
virtual GLViewer_DrawercreateDrawer ()
virtual GLboolean highlight (GLfloat x, GLfloat y, GLfloat tol=15.0, GLboolean isCircle=GL_FALSE)
virtual GLboolean unhighlight ()
virtual GLboolean select (GLfloat x, GLfloat y, GLfloat tol, GLViewer_Rect rect, GLboolean isFull=GL_FALSE, GLboolean isCircle=GL_FALSE, GLboolean isShift=GL_FALSE)
virtual GLboolean unselect ()
virtual GLViewer_RectgetUpdateRect ()
virtual void moveObject (float, float, bool fromGroup=false)
virtual QByteArray getByteCopy ()
virtual bool initializeFromByteCopy (QByteArray)
virtual bool translateToPS (QFile &hFile, GLViewer_CoordSystem *aViewerCS, GLViewer_CoordSystem *aPSCS)
virtual bool translateToHPGL (QFile &hFile, GLViewer_CoordSystem *aViewerCS, GLViewer_CoordSystem *aHPGLCS)
void setXCoord (GLfloat *xCoord, int size)
 Sets array of x coords of points.
void setYCoord (GLfloat *yCoord, int size)
 Sets array of y coords of points.
GLfloat * getXCoord () const
 Returns x coords.
GLfloat * getYCoord () const
 Returns y coords.
void setNumber (GLint)
 SetS number of points.
GLint getNumber () const
 Returns number of points.
void setClosed (GLboolean closed)
 On/off closed status of polyline.
GLboolean isClosed () const
 Checks closed status of polyline.
void setHighSelAll (GLboolean highSelAll)
 On/off highlight as whole object status.
GLboolean isHighSelAll () const
 Checks highlight as whole object status.
void exportNumbers (QList< int > &high, QList< int > &unhigh, QList< int > &sel, QList< int > &unsel)
 Export numbers of highlighted/selected lines.
QList< int > getSelectedElements ()
 Returns numbers of selected lines.
virtual void setDrawer (GLViewer_Drawer *theDrawer)
 Installing already exist drawer with same type.
GLViewer_DrawergetDrawer () const
 Returns current drawer.
virtual GLboolean isInside (GLViewer_Rect theRect)
 Returns if theRect inside object.
virtual bool portContains (GLViewer_Pnt)
virtual bool startPulling (GLViewer_Pnt)
virtual void pull (GLViewer_Pnt, GLViewer_Object *)
virtual void finishPulling ()
virtual bool isPulling ()
virtual GLViewer_Rect getPullingRect () const
virtual void setRect (GLViewer_Rect *rect)
 Installs object rectangle.
virtual GLViewer_RectgetRect () const
 Returns object rectungle.
virtual void setScale (GLfloat xScale, GLfloat yScale)
 Installs scale factors.
virtual void getScale (GLfloat &xScale, GLfloat &yScale) const
 Returns scale factors.
virtual GLboolean setZoom (GLfloat zoom, bool recompute, bool fromGroup=false)
virtual GLfloat getZoom () const
virtual GLboolean updateZoom (bool zoomIn)
virtual GLboolean isHighlighted () const
 Returns true if object is highlighted.
virtual GLboolean isSelected () const
 Returns true if object is selected.
virtual void setSelected (GLboolean state)
 Installs select status to object.
void setGLText (GLViewer_Text *glText)
 Installs GLText to object.
GLViewer_TextgetGLText () const
 Returns object GLText.
virtual void setAspectLine (GLViewer_AspectLine *aspect)
 Installs acpect line for object presentation.
virtual GLViewer_AspectLinegetAspectLine () const
 Returns acpect line of object presentation.
QString getObjectType () const
 Returns object type.
void setName (QString name)
 Installs object name.
QString getName () const
 Returns object name.
virtual int getPriority () const
 Returns object priority.
virtual bool finishMove ()
 Finaly recomputing object after moving.
virtual bool getVisible () const
 Returns visible object status.
virtual void setVisible (bool theStatus)
 Installs visible object status.
void setToolTipText (QString str)
 Installs onject tool tip text.
virtual QString getToolTipText ()
 Returns onject tool tip text.
bool isTooTipHTML () const
 Returns true if tool tip contains HTML tags.
void setToolTipFormat (bool isHTML)
 Installs tool tip supporting of HTML tags.
SUIT_DataOwnerowner () const
void setOwner (SUIT_DataOwner *owner)
void setGroup (GLViewer_Group *theGroup)
 Adds object to group theGroup.
GLViewer_GroupgetGroup () const
 Returns object group.
virtual GLViewer_ObjectgetOwner ()
virtual bool isSelectable ()
 Returns true if object can be selected.
virtual bool isScalable ()

Protected Attributes

GLfloat * myXCoord
GLfloat * myYCoord
GLint myNumber
GLboolean myIsClosed
GLboolean myHighSelAll
QList< int > myHNumbers
QList< int > myUHNumbers
QList< int > mySelNumbers
QList< int > myUSelNumbers
QList< int > myCurSelNumbers
QList< int > myPrevHNumbers
TColStd_SequenceOfInteger mySelectedIndexes
GLboolean myHighFlag
QString myName
 Object name.
QString myType
 Object type.
GLViewer_RectmyRect
 Object base rect.
GLViewer_RectmyUpdateRect
 Update object rect (after some viewer transformations)
GLViewer_TextmyGLText
 Object GLText.
GLfloat myXScale
 X scale factor.
GLfloat myYScale
 Y scale factor.
GLfloat myXGap
 Gap for X direction of rect.
GLfloat myYGap
 Gap for Y direction of rect.
GLfloat myZoom
GLboolean myIsHigh
 Highlight status.
GLboolean myIsSel
 Selectt status.
GLViewer_DrawermyDrawer
 Object drawer.
GLViewer_AspectLinemyAspectLine
 Line aspect for object presentation.
QString myToolTipText
 Objet tool tip text.
bool isToolTipHTML
 HTML object tool tip status.
bool myIsVisible
 Object visibke status.
SUIT_DataOwnermyOwner
GLViewer_GroupmyGroup
 Object Group.

Detailed Description

OpenGL Polyline


Constructor & Destructor Documentation

GLViewer_Polyline::GLViewer_Polyline ( int  number = 1,
float  size = 5.0,
const QString &  toolTip = "GLPolyline" 
)

Constructor

Parameters:
number- number of segments
size- size of polyline
toolTip- tool tip of polyline

References myCurSelNumbers, myHighFlag, myHNumbers, myPrevHNumbers, mySelNumbers, GLViewer_Object.myToolTipText, GLViewer_Object.myType, myUHNumbers, myUSelNumbers, and setNumber().

GLViewer_Polyline::~GLViewer_Polyline ( )

Destructor, destroys internal arrays of co-ordinates

References myXCoord, and myYCoord.


Member Function Documentation

void GLViewer_Polyline::compute ( ) [virtual]

Computes all necessary information about object for presentation in drawer

Implements GLViewer_Object.

References myNumber, GLViewer_Object.myRect, myXCoord, myYCoord, GLViewer_Rect.setBottom(), GLViewer_Rect.setLeft(), GLViewer_Rect.setRight(), and GLViewer_Rect.setTop().

GLViewer_Drawer * GLViewer_Polyline::createDrawer ( ) [virtual]

Creates corresponding drawer

Implements GLViewer_Object.

References GLViewer_Object.myDrawer.

GLboolean GLViewer_Polyline::highlight ( GLfloat  x,
GLfloat  y,
GLfloat  tol = 15.0,
GLboolean  isCircle = GL_FALSE 
) [virtual]

Computes highlight presentation

Parameters:
x- x coord
y- y coord
tol- tolerance of detecting
isCircle- true if sensitive area of detection is round
Returns:
true if highlight status is changed

Implements GLViewer_Object.

References test_table.c, DISTANTION, test_table.l, myHighFlag, myIsClosed, GLViewer_Object.myIsHigh, GLViewer_Object.myIsVisible, myXCoord, GLViewer_Object.myXScale, and myYCoord.

GLboolean GLViewer_Polyline::unhighlight ( ) [virtual]

Unhilights object

Implements GLViewer_Object.

References GLViewer_Object.myIsHigh.

GLboolean GLViewer_Polyline::select ( GLfloat  x,
GLfloat  y,
GLfloat  tol,
GLViewer_Rect  rect,
GLboolean  isFull = GL_FALSE,
GLboolean  isCircle = GL_FALSE,
GLboolean  isShift = GL_FALSE 
) [virtual]

Selects polyline /param x, y - co-ordinates of mouse /param tol - tolerance /param rect - rectangle (in case of rectangular selection) /param isFull - if it is true, then object may selected only if it lays whole in selection zone

Parameters:
isCircle- true if sensitive area of detection is round
isShift- true if selection exec with append option

Implements GLViewer_Object.

References test_table.c, DISTANTION, test_table.l, myHighFlag, myIsClosed, GLViewer_Object.myIsHigh, GLViewer_Object.myIsSel, GLViewer_Object.myIsVisible, myXCoord, GLViewer_Object.myXScale, and myYCoord.

GLboolean GLViewer_Polyline::unselect ( ) [virtual]

Unselects polyline

Implements GLViewer_Object.

References GLViewer_Object.myIsSel.

GLViewer_Rect * GLViewer_Polyline::getUpdateRect ( ) [virtual]
void GLViewer_Polyline::moveObject ( float  theX,
float  theY,
bool  fromGroup = false 
) [virtual]

Moves object by recomputing

Parameters:
dx- moving along X coord
dy- moving along Y coord
fromGroup- is true if this method called from group

Implements GLViewer_Object.

References compute(), GLViewer_Group.dragingObjects(), GLViewer_Object.myGroup, myNumber, myXCoord, and myYCoord.

QByteArray GLViewer_Polyline::getByteCopy ( ) [virtual]

Codes polyline as byte copy

Returns:
byte array

Reimplemented from GLViewer_Object.

References myHighSelAll, myIsClosed, myNumber, myXCoord, and myYCoord.

bool GLViewer_Polyline::initializeFromByteCopy ( QByteArray  theArray) [virtual]
bool GLViewer_Polyline::translateToPS ( QFile &  hFile,
GLViewer_CoordSystem aViewerCS,
GLViewer_CoordSystem aPSCS 
) [virtual]

Saves polyline to file PostScript

Parameters:
hFile- file instance
aViewerCS- viewer co-ordinates system
aPSCS- paper co-ordinates system

Implements GLViewer_Object.

References AddCoordsToPS(), AddLineAspectToPS(), GLViewer_Object.getAspectLine(), myIsClosed, myNumber, myXCoord, and myYCoord.

bool GLViewer_Polyline::translateToHPGL ( QFile &  hFile,
GLViewer_CoordSystem aViewerCS,
GLViewer_CoordSystem aHPGLCS 
) [virtual]

Saves polyline to file HPGL

Parameters:
hFile- file instance
aViewerCS- viewer co-ordinates system
aHPGLCS- paper co-ordinates system

Implements GLViewer_Object.

References AddCoordsToHPGL(), myIsClosed, myNumber, myXCoord, and myYCoord.

void GLViewer_Polyline::setXCoord ( GLfloat *  xCoord,
int  size 
)

Sets array of abscisses for points of polyline

Parameters:
xCoord- array of of abscisses
size- size of array

References myXCoord.

void GLViewer_Polyline::setYCoord ( GLfloat *  yCoord,
int  size 
)

Sets array of ordinates for points of polyline

Parameters:
xCoord- array of of ordinates
size- size of array

References myYCoord.

GLfloat* GLViewer_Polyline.getXCoord ( ) const
GLfloat* GLViewer_Polyline.getYCoord ( ) const
void GLViewer_Polyline::setNumber ( GLint  number)

Sets number of points

Parameters:
number- new number of points

References myNumber, myXCoord, and myYCoord.

GLint GLViewer_Polyline.getNumber ( ) const
void GLViewer_Polyline.setClosed ( GLboolean  closed)
GLboolean GLViewer_Polyline.isClosed ( ) const
void GLViewer_Polyline.setHighSelAll ( GLboolean  highSelAll)
GLboolean GLViewer_Polyline.isHighSelAll ( ) const
void GLViewer_Polyline::exportNumbers ( QList< int > &  highlight,
QList< int > &  unhighlight,
QList< int > &  select,
QList< int > &  unselect 
)

Export numbers of highlighted/selected lines

References myHNumbers, mySelNumbers, myUHNumbers, and myUSelNumbers.

QList<int> GLViewer_Polyline.getSelectedElements ( )
virtual void GLViewer_Object.setDrawer ( GLViewer_Drawer theDrawer) [virtual, inherited]

Reimplemented in GLViewer_TextObject.

GLViewer_Drawer* GLViewer_Object.getDrawer ( ) const [inherited]
GLboolean GLViewer_Object::isInside ( GLViewer_Rect  theRect) [virtual, inherited]
Returns:
true if object is inside rectangle
Parameters:
theRect- rectangle

References GLViewer_Object.myRect, and GLViewer_Rect.toQRect().

virtual bool GLViewer_Object.portContains ( GLViewer_Pnt  ) [virtual, inherited]
Warning:
It is for ouv
virtual bool GLViewer_Object.startPulling ( GLViewer_Pnt  ) [virtual, inherited]
Warning:
It is for ouv
virtual void GLViewer_Object.pull ( GLViewer_Pnt  ,
GLViewer_Object  
) [virtual, inherited]
Warning:
It is for ouv
virtual void GLViewer_Object.finishPulling ( ) [virtual, inherited]
Warning:
It is for ouv
virtual bool GLViewer_Object.isPulling ( ) [virtual, inherited]
Warning:
It is for ouv
virtual GLViewer_Rect GLViewer_Object.getPullingRect ( ) const [virtual, inherited]
Warning:
It is for ouv
virtual void GLViewer_Object.setRect ( GLViewer_Rect rect) [virtual, inherited]
virtual GLViewer_Rect* GLViewer_Object.getRect ( ) const [virtual, inherited]
virtual void GLViewer_Object.setScale ( GLfloat  xScale,
GLfloat  yScale 
) [virtual, inherited]
virtual void GLViewer_Object.getScale ( GLfloat &  xScale,
GLfloat &  yScale 
) const [virtual, inherited]
GLboolean GLViewer_Object::setZoom ( GLfloat  zoom,
bool  recompute,
bool  fromGroup = false 
) [virtual, inherited]
Warning:
It is for ouv

Sets zoom factor

Parameters:
zoom- zoom factor

References GLViewer_Object.myZoom.

virtual GLfloat GLViewer_Object.getZoom ( ) const [virtual, inherited]
Warning:
It is for ouv
GLboolean GLViewer_Object::updateZoom ( bool  zoomIn) [virtual, inherited]
Warning:
It is for ouv

Performs zoom change by step

Parameters:
zoomIn- to increase to decrease zoom

References GLViewer_Object.myZoom, and GLViewer_Object.setZoom().

virtual GLboolean GLViewer_Object.isHighlighted ( ) const [virtual, inherited]
virtual GLboolean GLViewer_Object.isSelected ( ) const [virtual, inherited]
virtual void GLViewer_Object.setSelected ( GLboolean  state) [virtual, inherited]
void GLViewer_Object.setGLText ( GLViewer_Text glText) [inherited]
GLViewer_Text* GLViewer_Object.getGLText ( ) const [inherited]
virtual void GLViewer_Object.setAspectLine ( GLViewer_AspectLine aspect) [virtual, inherited]
virtual GLViewer_AspectLine* GLViewer_Object.getAspectLine ( ) const [virtual, inherited]
QString GLViewer_Object.getObjectType ( ) const [inherited]

Needs for GLViewer_Drawer

void GLViewer_Object.setName ( QString  name) [inherited]
QString GLViewer_Object.getName ( ) const [inherited]
int GLViewer_Object::getPriority ( ) const [virtual, inherited]
Returns:
priority of object

References GLViewer_Drawer.getPriority(), and GLViewer_Object.myDrawer.

virtual bool GLViewer_Object.finishMove ( ) [virtual, inherited]
virtual bool GLViewer_Object.getVisible ( ) const [virtual, inherited]
virtual void GLViewer_Object.setVisible ( bool  theStatus) [virtual, inherited]
void GLViewer_Object.setToolTipText ( QString  str) [inherited]
virtual QString GLViewer_Object.getToolTipText ( ) [virtual, inherited]
bool GLViewer_Object.isTooTipHTML ( ) const [inherited]
void GLViewer_Object.setToolTipFormat ( bool  isHTML) [inherited]
SUIT_DataOwner* GLViewer_Object.owner ( ) const [inherited]
Warning:
It is for ouv
void GLViewer_Object.setOwner ( SUIT_DataOwner owner) [inherited]
Warning:
It is for ouv
void GLViewer_Object::setGroup ( GLViewer_Group theGroup) [inherited]

Sets object's group

Parameters:
theGroup- group

References GLViewer_Group.addObject(), GLViewer_Object.myGroup, and GLViewer_Group.removeObject().

GLViewer_Group * GLViewer_Object::getGroup ( ) const [inherited]
Returns:
object's group

References GLViewer_Object.myGroup.

virtual GLViewer_Object* GLViewer_Object.getOwner ( ) [virtual, inherited]
Warning:
It is for ouv
virtual bool GLViewer_Object.isSelectable ( ) [virtual, inherited]
virtual bool GLViewer_Object.isScalable ( ) [virtual, inherited]
Warning:
It is for ouv

Field Documentation

GLfloat* GLViewer_Polyline.myXCoord [protected]
GLfloat* GLViewer_Polyline.myYCoord [protected]
GLint GLViewer_Polyline.myNumber [protected]
GLboolean GLViewer_Polyline.myIsClosed [protected]
GLboolean GLViewer_Polyline.myHighSelAll [protected]
TColStd_SequenceOfInteger GLViewer_Polyline.mySelectedIndexes [protected]
GLboolean GLViewer_Polyline.myHighFlag [protected]
QString GLViewer_Object.myName [protected, inherited]
QString GLViewer_Object.myType [protected, inherited]
GLViewer_Rect* GLViewer_Object.myRect [protected, inherited]
GLViewer_Text* GLViewer_Object.myGLText [protected, inherited]
GLfloat GLViewer_Object.myXScale [protected, inherited]
GLfloat GLViewer_Object.myYScale [protected, inherited]
GLfloat GLViewer_Object.myXGap [protected, inherited]
GLfloat GLViewer_Object.myYGap [protected, inherited]
GLfloat GLViewer_Object.myZoom [protected, inherited]
Warning:
It is for ouv
GLboolean GLViewer_Object.myIsHigh [protected, inherited]

= true after right highlighting

GLboolean GLViewer_Object.myIsSel [protected, inherited]

= true after right selection

GLViewer_Drawer* GLViewer_Object.myDrawer [protected, inherited]
QString GLViewer_Object.myToolTipText [protected, inherited]
bool GLViewer_Object.isToolTipHTML [protected, inherited]

= true if tool tip text contains HTML tags

bool GLViewer_Object.myIsVisible [protected, inherited]
SUIT_DataOwner* GLViewer_Object.myOwner [protected, inherited]
Warning:
It is for ouv
GLViewer_Group* GLViewer_Object.myGroup [protected, inherited]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS