XPlor/libs/assets/comprimarylight.cpp

209 lines
3.7 KiB
C++
Raw Normal View History

2025-08-14 17:30:25 -04:00
#include "comprimarylight.h"
ComPrimaryLight::ComPrimaryLight(QObject *aParent)
: XAsset(aParent)
, mType(-1)
, mCanUseShadowMap(-1)
, mExponent(-1)
, mUnused(-1)
, mColor(0, 0, 0)
, mDir(0, 0, 0)
, mOrigin(0, 0, 0)
, mRadius(0.0)
, mCosHalfFovOuter(0.0)
, mCosHalfFovInner(0.0)
, mCosHalfFovExpanded(0.0)
, mRotationLimit(0.0)
, mTranslationLimit(0.0)
, mDefName(new XString(this))
{
}
void ComPrimaryLight::Clear()
{
delete mDefName;
}
ComPrimaryLightArray *ComPrimaryLight::ParseArray(QDataStream *aStream, int aCount)
{
ComPrimaryLightArray* result = new ComPrimaryLightArray();
for (int i = 0; i < aCount; i++)
{
ComPrimaryLight* comPrimaryLight = new ComPrimaryLight();
comPrimaryLight->ParseData(aStream);
result->append(comPrimaryLight);
}
return result;
}
void ComPrimaryLight::ParseData(QDataStream *aStream)
{
*aStream
>> mType
>> mCanUseShadowMap
>> mExponent
>> mUnused
>> mColor
>> mDir
>> mOrigin
>> mRadius
>> mCosHalfFovOuter
>> mCosHalfFovInner
>> mCosHalfFovExpanded
>> mRotationLimit
>> mTranslationLimit;
mDefName->ParseData(aStream);
}
quint8 ComPrimaryLight::GetType() const
{
return mType;
}
quint8 ComPrimaryLight::GetCanUseShadowMap() const
{
return mCanUseShadowMap;
}
quint8 ComPrimaryLight::GetExponent() const
{
return mExponent;
}
quint8 ComPrimaryLight::GetUnused() const
{
return mUnused;
}
QColor ComPrimaryLight::GetColor() const
{
return mColor;
}
QVector3D ComPrimaryLight::GetDir() const
{
return mDir;
}
QVector3D ComPrimaryLight::GetOrigin() const
{
return mOrigin;
}
float ComPrimaryLight::GetRadius() const
{
return mRadius;
}
float ComPrimaryLight::GetCosHalfFovOuter() const
{
return mCosHalfFovOuter;
}
float ComPrimaryLight::GetCosHalfFovInner() const
{
return mCosHalfFovInner;
}
float ComPrimaryLight::GetCosHalfFovExpanded() const
{
return mCosHalfFovExpanded;
}
float ComPrimaryLight::GetRotationLimit() const
{
return mRotationLimit;
}
float ComPrimaryLight::GetTranslationLimit() const
{
return mTranslationLimit;
}
XString* ComPrimaryLight::GetDefName() const
{
return mDefName;
}
void ComPrimaryLight::SetType(quint8 aType)
{
mType = aType;
}
void ComPrimaryLight::SetCanUseShadowMap(quint8 aCanUseShadowMap)
{
mCanUseShadowMap = aCanUseShadowMap;
}
void ComPrimaryLight::SetExponent(quint8 aExponent)
{
mExponent = aExponent;
}
void ComPrimaryLight::SetUnused(quint8 aUnused)
{
mUnused = aUnused;
}
void ComPrimaryLight::SetColor(const QColor aColor)
{
mColor = aColor;
}
void ComPrimaryLight::SetDir(const QVector3D aDir)
{
mDir = aDir;
}
void ComPrimaryLight::SetOrigin(const QVector3D aOrigin)
{
mOrigin = aOrigin;
}
void ComPrimaryLight::SetRadius(float aRadius)
{
mRadius = aRadius;
}
void ComPrimaryLight::SetCosHalfFovOuter(float aCosHalfFovOuter)
{
mCosHalfFovOuter = aCosHalfFovOuter;
}
void ComPrimaryLight::SetCosHalfFovInner(float aCosHalfFovInner)
{
mCosHalfFovInner = aCosHalfFovInner;
}
void ComPrimaryLight::SetCosHalfFovExpanded(float aCosHalfFovExpanded)
{
mCosHalfFovExpanded = aCosHalfFovExpanded;
}
void ComPrimaryLight::SetRotationLimit(float aRotationLimit)
{
mRotationLimit = aRotationLimit;
}
void ComPrimaryLight::SetTranslationLimit(float aTranslationLimit)
{
mTranslationLimit = aTranslationLimit;
}
void ComPrimaryLight::SetDefName(XString* aDefName)
{
mDefName = aDefName;
}
void ComPrimaryLight::SetDefName(const QString aDefName)
{
if (mDefName != nullptr) {
mDefName->SetString(aDefName);
}
}