Path: blob/devel/ElmerGUI/Application/vtkpost/streamline.h
3203 views
/*****************************************************************************1* *2* Elmer, A Finite Element Software for Multiphysical Problems *3* *4* Copyright 1st April 1995 - , CSC - IT Center for Science Ltd., Finland *5* *6* This program is free software; you can redistribute it and/or *7* modify it under the terms of the GNU General Public License *8* as published by the Free Software Foundation; either version 2 *9* of the License, or (at your option) any later version. *10* *11* This program is distributed in the hope that it will be useful, *12* but WITHOUT ANY WARRANTY; without even the implied warranty of *13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *14* GNU General Public License for more details. *15* *16* You should have received a copy of the GNU General Public License *17* along with this program (in file fem/GPL-2); if not, write to the *18* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, *19* Boston, MA 02110-1301, USA. *20* *21*****************************************************************************/2223/*****************************************************************************24* *25* ElmerGUI streamline *26* *27*****************************************************************************28* *29* Authors: Mikko Lyly, Juha Ruokolainen and Peter Råback *30* Email: [email protected] *31* Web: http://www.csc.fi/elmer *32* Address: CSC - IT Center for Science Ltd. *33* Keilaranta 14 *34* 02101 Espoo, Finland *35* *36* Original Date: 15 Mar 2008 *37* *38*****************************************************************************/3940#ifndef STREAMLINE_H41#define STREAMLINE_H4243#include <QWidget>44#include "ui_streamline.h"4546class ScalarField;47class VtkPost;48class TimeStep;4950class StreamLine : public QDialog51{52Q_OBJECT5354public:55StreamLine(QWidget *parent = 0);56~StreamLine();5758Ui::streamLineDialog ui;5960void populateWidgets(VtkPost*);61void draw(VtkPost*, TimeStep*);6263signals:64void drawStreamLineSignal();65void hideStreamLineSignal();6667public slots:68QString GetFieldName(); // get field name69QString GetColorName(); // get color name70bool SetFieldName(QString); // set field name71bool SetColorName(QString); // set color name72void SetMaxTime(double); // max time73void SetStepLength(double); // step length74void SetThreads(int); // nof threads75void SetIntegStepLength(double); // integ. step length76void UseSurfaceMesh(bool); // use for face mesh77void UseVolumeMesh(bool); // use volume mesh78void IntegrateForwards(bool); // integrate forwards79void IntegrateBackwards(bool); // integrate backwards80void SetMinColorVal(double); // color min val81void SetMaxColorVal(double); // color max value82void KeepColorLimits(bool); // keep color limits83void DrawLines(bool); // draw using lines84void DrawRibbons(bool); // draw using ribbons85void SetLineWidth(int); // line width86void SetRibbonWidth(int); // ribbon width87void UseSphereSource(bool); // use sphere source88void UseLineSource(bool); // use line source89void UsePointSource(bool); // use point source90void SetSphereSourceX(double); // sphere origin91void SetSphereSourceY(double); // sphere origin92void SetSphereSourceZ(double); // sphere origin93void SetSphereSourceRadius(double); // sphere radius94void SetSphereSourcePoints(int); // nof pts in sphere95void SetLineSourceStartX(double); // line start point96void SetLineSourceStartY(double); // line start point97void SetLineSourceStartZ(double); // line start point98void SetLineSourceEndX(double); // line end point99void SetLineSourceEndY(double); // line end point100void SetLineSourceEndZ(double); // line end point101void SetLineSourcePoints(int); // nof pts on line102103private slots:104void cancelButtonClicked();105void okButtonClicked();106void applyButtonClicked();107void colorSelectionChanged(int);108void keepLimitsSlot(int);109void nullColorButtonClicked();110111private:112ScalarField *scalarField;113int scalarFields;114QColor nullColor;115void setNullColor(QColor);116};117118#endif // STREAMLINE_H119120121