You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.8 KiB
C

/**********************************************************************
* @file FITKCFDPostStreamLine.h
* @brief 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*********************************************************************/
#ifndef _FITKCFDPostStreamLine_H
#define _FITKCFDPostStreamLine_H
#include "FITKAbstractCFDPostData.h"
class vtkLineSource;
class vtkStreamTracer;
namespace Interface
{
/**
* @brief 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
class FITKInterfaceCFDPostAPI FITKCFDPostStreamLine :public FITKAbstractCFDPostData
{
public:
/**
* @brief
* @param[i] parentID id
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
FITKCFDPostStreamLine(int parentID);
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
virtual ~FITKCFDPostStreamLine();
/**
* @brief
* @return FITKPostDataType
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-14
*/
virtual FITKPostDataType getPostDataType();
/**
* @brief
* @return vtkDataSet*
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-18
*/
virtual vtkDataSet* getOutput() override;
/**
* @brief
* @param[i] type
* @param[i] vector
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void setVector(FITKPostFieldType vectorType, QString vectorName);
/**
* @brief
* @param[o] type
* @param[o] vector
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
void getVector(FITKPostFieldType& vectorType, QString& vectorName);
/**
* @brief 线
* @param[i] dir
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void setDirection(FITKPostStreamDirection dir);
/**
* @brief 线
* @return FITKPostStreamDirection 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
FITKPostStreamDirection getDirection();
/**
* @brief
* @param[i] length
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void setLength(double length);
/**
* @brief
* @return double
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
double getLength();
/**
* @brief 线
* @param[i] startPoint
* @param[i] endPoint
* @param[i] resolution
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void setLine(double* startPoint, double* endPoint, int resolution);
/**
* @brief 线
* @param[o] startPoint
* @param[o] endPoint
* @param[o] resolution
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
void getLine(double* startPoint, double* endPoint, int& resolution);
private:
/**
* @brief 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
vtkLineSource* _lineSource = nullptr;
/**
* @brief 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-19
*/
vtkStreamTracer* _streamFilter = nullptr;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
QString _vectorName = "";
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
FITKPostFieldType _vectorType = FITKPostFieldType::Post_None;
/**
* @brief 线
* @author BaGuijun (baguijun@163.com)
* @date 2024-09-27
*/
FITKPostStreamDirection _directionType = FITKPostStreamDirection::Post_None;
};
}
#endif