Files
envi-code/SourceCode/Code2026/tg_shs/shs_kernal/TStruLoad.cpp
T
2026-09-28 15:28:50 +08:00

180 lines
3.1 KiB
C++

//------------------------------------------------------------------------+
// Copyright (C), 1998-2011, Beijing Tangent Software Co. Ltd.
// = FileName : TStruLoad类
// = Version : ver1.0
// = Author : xlc
// = CreateDate : 2011-11-08
// = Description: 荷载信息类实现
// = Maintainers:
//
//------------------------------------------------------------------------+
#include "StdAfx.h"
#ifdef TASD
#include "TStruLoad.h"
TStruLoad::TStruLoad()
{
m_nEntType = ENT_BEAM;
m_nLoadKind = LK_UNVARYING;
m_nLoadType = LT_ALL_H;
m_dValue = 0;
m_dPara1 = 0;
m_dPara2 = 0;
m_dPara3 = 0;
m_dForceX = 0;
m_dForceY = 0;
}
TStruLoad::~TStruLoad()
{
}
TStruLoad& TStruLoad::operator = (const TStruLoad& src)
{
if (this != &src)
{
m_nEntType = src.m_nEntType;
m_nLoadKind = src.m_nLoadKind;
m_nLoadType = src.m_nLoadType;
m_dValue = src.m_dValue;
m_dPara1 = src.m_dPara1;
m_dPara2 = src.m_dPara2;
m_dPara3 = src.m_dPara3;
m_dForceX = src.m_dForceX;
m_dForceY = src.m_dForceY;
}
return *this;
}
bool TStruLoad::operator == (const TStruLoad &src)
{
if (m_nEntType == src.m_nEntType)
{
if (m_nLoadKind == src.m_nLoadKind)
{
switch (m_nEntType)
{
case ENT_SLAB:
if (fabs(m_dValue - src.m_dValue) < _DIST_SNAP)
{
return true;
}
break;
case ENT_NODE:
if (fabs(m_dValue - src.m_dValue) < _DIST_SNAP
&&fabs(m_dPara1 - src.m_dPara1) < _DIST_SNAP
&&fabs(m_dPara2 - src.m_dPara2) < _DIST_SNAP
&&fabs(m_dPara3 - src.m_dPara3) < _DIST_SNAP
&&fabs(m_dForceX -src.m_dForceX) < _DIST_SNAP
&&fabs(m_dForceY -src.m_dForceY) < _DIST_SNAP)
{
return true;
}
break;
default:
if ((m_nLoadType == src.m_nLoadType)&&
fabs(m_dValue - src.m_dValue) < _DIST_SNAP
&&fabs(m_dPara1 - src.m_dPara1) < _DIST_SNAP
&&fabs(m_dPara2 - src.m_dPara2) < _DIST_SNAP
&&fabs(m_dPara3 - src.m_dPara3) < _DIST_SNAP)
{
return true;
}
}
}
}
return false;
}
//属性接口
//对象类型
int TStruLoad::GetEntType()const
{
return m_nEntType;
}
void TStruLoad::SetEntType(int nVal)
{
m_nEntType = nVal;
}
//荷载类型
int TStruLoad::GetLoadType()const
{
return m_nLoadType;
}
void TStruLoad::SetLoadType(int nVal)
{
m_nLoadType = nVal;
}
//荷载种类
int TStruLoad::GetLoadKind()const
{
return m_nLoadKind;
}
void TStruLoad::SetLoadKind(int nVal)
{
m_nLoadKind = nVal;
}
//荷载数值
double TStruLoad::GetValue() const
{
return m_dValue;
}
void TStruLoad::SetValue(double dVal)
{
m_dValue = dVal;
}
//荷载参数1
double TStruLoad::GetPara1() const
{
return m_dPara1;
}
void TStruLoad::SetPara1(double dPara)
{
m_dPara1 = dPara;
}
//荷载参数2
double TStruLoad::GetPara2() const
{
return m_dPara2;
}
void TStruLoad::SetPara2(double dPara)
{
m_dPara2 = dPara;
}
//荷载参数3
double TStruLoad::GetPara3() const
{
return m_dPara3;
}
void TStruLoad::SetPara3(double dPara)
{
m_dPara3 = dPara;
}
//节点X向水平力Px
double TStruLoad::GetForceX() const
{
return m_dForceX;
}
void TStruLoad::SetForceX(double dPara)
{
m_dForceX = dPara;
}
//节点X向水平力Py
double TStruLoad::GetForceY() const
{
return m_dForceY;
}
void TStruLoad::SetForceY(double dPara)
{
m_dForceY = dPara;
}
#endif