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.

105 lines
2.9 KiB
C

#ifndef _PickedDataProvider_H
#define _PickedDataProvider_H
#include <QObject>
#include "GUIWidgetAPI.h"
class vtkUnstructuredGrid;
class vtkDataSet;
class vtkActor;
class vtkActor2D;
class vtkPlanes;
class vtkExtractSelection;
class vtkSelectionNode;
class vtkIdTypeArray;
namespace GraphData
{
class PickedData;
class GUIWidgetAPI PickedDataProvider:public QObject
{
Q_OBJECT;
public:
static PickedDataProvider* getInstance();
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-22
*/
void clearAll();
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-04-18
*/
void clearPickedData();
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-04-30
*/
void clearPickedDataPreview();
/**
* @brief
* @param actor
* @param index
* @param pickedWorldPos
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-04-18
*/
bool setPreviewPicked(vtkActor* actor, int index, double* pickedWorldPos);
/**
* @brief
* @param actor
* @param index
* @param pickedWorldPos
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-04-18
*/
void addPicked(vtkActor* actor, int index, double* pickedWorldPos);
/**
* @brief
* @return PickedData*
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
PickedData* getPickedPreview();
/**
* @brief
* @return PickedData*
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-23
*/
PickedData* getPickDatas();
signals:
;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-21
*/
void sigPickDataOver();
private:
PickedDataProvider();
~PickedDataProvider();
private:
static PickedDataProvider* _instance;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-21
*/
PickedData* _pickedPreviewData = nullptr;
/**
* @brief
* @author BaGuijun (baguijun@163.com)
* @date 2024-10-22
*/
PickedData* _pickedData = nullptr;
};
}
#endif