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.
AppFlow/FITK_Interface/FITKInterfaceModel/FITKComponentManager.h

171 lines
5.8 KiB
C

/**
*
* @file FITKComponentManager.h
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*
*/
#ifndef ___FITKMODELSETCOMPOMNENTMANAGER_H____
#define ___FITKMODELSETCOMPOMNENTMANAGER_H____
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"
#include "FITKAbstractModelComponent.h"
#include "FITKModelSet.h"
#include "FITKMeshSurface.h"
namespace Interface
{
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
class FITKInerfaceModelAPI FITKComponentManager: public Core::FITKAbstractDataObject,
public Core::FITKAbstractDataManager<FITKAbstractModelComponent>
{
public:
/**
* @brief Construct a new FITKModelSetManager object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
explicit FITKComponentManager() = default;
/**
* @brief Destroy the FITKModelSetManager object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
virtual ~FITKComponentManager() = default;
/**
* @brief
* @param[i] t
* @return QList<FITKModelSet*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
QList<FITKModelSet*> getModelSet(FITKModelEnum::FITKModelSetType t);
/**
* @brief
* @param[i] t
* @return QList<FITKModelSet*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
QList<FITKModelSet*> getUnInternalModelSet(FITKModelEnum::FITKModelSetType t);
/**
* @brief
* @param[i] t
* @return QList<FITKMeshSurface*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
QList<FITKMeshSurface*> getMeshSurface(MeshSurfaceType t);
/**
* @brief
* @param[i] t
* @return QList<FITKMeshSurface*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-17
*/
QList<FITKMeshSurface*> getUnInternalMeshSurface(MeshSurfaceType t);
/**
* @brief
* @param[i] index
* @return true
* @return false
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
bool isModelSet(int index) ;
/**
* @brief indexset
* @param[i] index
* @return FITKModelSet*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
FITKModelSet* getAsModelSet(int index);
/**
* @brief indexsurface
* @param[i] index
* @return FITKModelSet*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
FITKMeshSurface* getAsMeshSurf(int index);
/**
* @brief
* @param[i] recur
* @return QList<FITKModelSet*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
QList<FITKModelSet*> getAllSet(bool recur = true );
/**
* @brief
* @return QList<FITKMeshSurface*>
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-27
*/
QList<FITKMeshSurface*> getAllSurface() ;
/**
* @brief
* @param[i] obj
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual void appendDataObj(FITKAbstractDataObject* item) override;
/**
* @brief
* @param[i] index
* @param[i] item
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual void insertDataObj(int index, FITKAbstractDataObject* item) override;
/**
* @brief ID
* @param[i] id ID
* @return FITKAbstractModelComponent*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
virtual FITKAbstractModelComponent* getDataByID(const int id) override;
/**
* @brief
* @param[i] t
* @param[i] member
* @return FITKModelSet*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-05-29
*/
virtual FITKModelSet* getModelSetByMember(FITKModelEnum::FITKModelSetType t,
const int modelID, const QList<int> &member);
/**
* @brief
* @param[i] modelID id
* @param[i] memID ID
* @return FITKModelSet*
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-05-29
*/
FITKModelSet* getSingleNodeSet(const int modelID, const int memID);
private:
/**
* @brief
* @param[i] existSet
* @param[i] item
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-22
*/
void mergeSameNameSet(FITKModelSet* existSet, FITKModelSet* newSet);
};
}
#endif