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

/**********************************************************************
* @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