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.
141 lines
4.2 KiB
C++
141 lines
4.2 KiB
C++
/**********************************************************************
|
|
* @file FITKCFDPostLight.h
|
|
* @brief 灯光数据对象
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*********************************************************************/
|
|
#ifndef _FITKCFDPostLight_H
|
|
#define _FITKCFDPostLight_H
|
|
|
|
#include "FITKInterfaceCFDPostAPI.h"
|
|
#include "FITKCFDPostEnum.h"
|
|
|
|
#include "FITK_Kernel/FITKCore/FITKAbstractDataObject.h"
|
|
|
|
namespace Interface
|
|
{
|
|
/**
|
|
* @brief 灯光数据对象
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
class FITKInterfaceCFDPostAPI FITKCFDPostLight : public Core::FITKAbstractDataObject
|
|
{
|
|
public:
|
|
/**
|
|
* @brief 构造函数
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
FITKCFDPostLight() = default;
|
|
/**
|
|
* @brief 析构函数
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
virtual ~FITKCFDPostLight() = default;
|
|
/**
|
|
* @brief 设置灯光类型
|
|
* @param[i] type 灯光类型
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void setLightType(FITKPostLightType type);
|
|
/**
|
|
* @brief 获取灯光类型
|
|
* @return FITKPostLightType 灯光类型
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
FITKPostLightType getLightType();
|
|
/**
|
|
* @brief 设置颜色RGB
|
|
* @param[i] color 颜色[3](0-1)
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void setColor(double* color);
|
|
/**
|
|
* @brief 获取颜色RGB
|
|
* @param[o] color 颜色[3](0-1)
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void getColor(double* color);
|
|
/**
|
|
* @brief 设置灯光位置
|
|
* @param[i] position 灯光位置[3]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void setPosition(double* position);
|
|
/**
|
|
* @brief 获取灯光位置
|
|
* @param[o] position 灯光位置[3]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void getPosition(double* position);
|
|
/**
|
|
* @brief 设置灯管焦点
|
|
* @param[i] focalPoint 灯光焦点[3]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void setFocalPoint(double* focalPoint);
|
|
/**
|
|
* @brief 获取灯光焦点
|
|
* @param[o] focalPoint 灯光焦点[3]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
void getFocalPoint(double* focalPoint);
|
|
/**
|
|
* @brief 设置灯光角度
|
|
* @param[i] value 角度[0 - 90]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-17
|
|
*/
|
|
void setConeAngle(double value);
|
|
/**
|
|
* @brief 获取灯光角度
|
|
* @return double 角度[0 - 90]
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-17
|
|
*/
|
|
double getConeAngle();
|
|
private:
|
|
/**
|
|
* @brief 灯光类型
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
FITKPostLightType _lightType = FITKPostLightType::Post_Direction;
|
|
/**
|
|
* @brief 颜色
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
double _color[3] = { 1,1,1 };
|
|
/**
|
|
* @brief 光照位置
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
double _position[3] = { 0,0,1 };
|
|
/**
|
|
* @brief 灯光焦点
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-16
|
|
*/
|
|
double _focalPoint[3] = { 0,0,0 };
|
|
/**
|
|
* @brief 灯光角度
|
|
* @author BaGuijun (baguijun@163.com)
|
|
* @date 2024-10-17
|
|
*/
|
|
double _coneAngle = 30;
|
|
};
|
|
}
|
|
#endif
|