| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329 |
- #include "stdafx.h"
- #include "ElementClr.h"
- #include "otsdataconst.h"
- namespace OTSINTERFACE {
- CElementClr::CElementClr()
- {
- m_LpElement = new CElementPtr(new CElement());
- }
- CElementClr::CElementClr(long a_nAtomNum) // constructor
- {
-
- ASSERT(a_nAtomNum);
- if (!a_nAtomNum)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("CElementClr: Generate CElementClr pointer failed."));
- return;
- }
- m_LpElement = new CElementPtr(new CElement(a_nAtomNum));
- }
- CElementClr::CElementClr(CString a_strName) // constructor
- { // initialization
- ASSERT(a_strName);
- if (!a_strName)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("CElementClr: Generate CElementClr pointer failed."));
- return;
- }
- m_LpElement = new CElementPtr(new CElement(a_strName));
- }
-
- CElementClr::CElementClr(CElementPtr a_pElement) // copy constructor
- {
-
- ASSERT(a_pElement);
- if (!a_pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("CElementClr: Generate CElementClr pointer failed."));
- return;
- }
-
- m_LpElement = new CElementPtr(a_pElement);
-
- }
-
- CElementClr::CElementClr(CElement* a_pSource) // copy constructor
- {
- ASSERT(a_pSource);
- if (!a_pSource)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("CElementClr: Generate CElementClr pointer failed."));
- return;
- }
- m_LpElement = new CElementPtr(new CElement(a_pSource));
- }
- CElementClr::~CElementClr()
- {
- if (m_LpElement != nullptr)
- {
- delete m_LpElement;
- m_LpElement = nullptr;
- }
- }
- CElementClr::!CElementClr()
- {
- if (m_LpElement != nullptr)
- {
- delete m_LpElement;
- m_LpElement = nullptr;
- }
- }
- CElementPtr CElementClr::GetElementPtr()
- {
- return *m_LpElement;
- }
-
- // valid element
- bool CElementClr::IsValid()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("IsValid:can't genertate pointer."));
- return false;
- }
- bool bRet = pElement->IsValid();
- return bRet;
- }
- int CElementClr::GetAtomNum()
- {
- int nAtomNum = -1;
- if (m_LpElement != nullptr)
- {
- nAtomNum = m_LpElement->get()->GetAtomNum();
- }
- return nAtomNum;
- }
- // atomic number
- bool CElementClr::SetAtomNum(int a_nAtomNum)
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("SetAtomNum:can't genertate pointer."));
- return false;
- }
- pElement->SetAtomNum(a_nAtomNum);
-
- return true;
- }
- double CElementClr::GetPercentage()
- {
- double nPercentage = -1;
- if (m_LpElement != nullptr)
- {
- nPercentage =m_LpElement->get()->GetPercentage();
- }
- return nPercentage;
- }
- // percentage
- bool CElementClr::SetPercentage(double a_dPercentage)
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("SetPercentage:can't genertate pointer."));
- return false;
- }
- pElement->SetPercentage(a_dPercentage);
-
- return true;
- }
- // name
- String^ CElementClr::GetName()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetName:can't genertate pointer."));
- return nullptr;
- }
- CString sName = pElement->GetName();
-
- String^ sNameClr = gcnew String(sName);
- return sNameClr;
- }
- String^ CElementClr::GetName(long a_nAtomNum)
- {
- CString sName = CElement::GetName(a_nAtomNum);
-
- String^ sNameClr = gcnew String(sName);
- return sNameClr;
- }
- // atomic weight
- double CElementClr::GetAtomWeight()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetAtomWeight:can't genertate pointer."));
- return -1;
- }
- double fWeight = pElement->GetAtomWeight();
-
- return fWeight;
- }
- double CElementClr::GetAtomWeight(long a_nAtomNum)
- {
- double fWeight = CElement::GetAtomWeight(a_nAtomNum);
- return fWeight;
- }
- // energy values
- double CElementClr::GetEnergyValueK()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetEnergyValueK:can't genertate pointer."));
- return -1;
- }
- double fEnergyValueK = pElement->GetEnergyValueK();
- return fEnergyValueK;
- }
- double CElementClr::GetEnergyValueK(long a_nAtomNum)
- {
- double fEnergyValueK = CElement::GetEnergyValueK(a_nAtomNum);
- return fEnergyValueK;
- }
- double CElementClr::GetEnergyValueL()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetEnergyValueL:can't genertate pointer."));
- return -1;
- }
- double fEnergyValueL = pElement->GetEnergyValueL();
- return fEnergyValueL;
- }
- double CElementClr::GetEnergyValueL(long a_nAtomNum)
- {
- double fEnergyValueL = CElement::GetEnergyValueL(a_nAtomNum);
- return fEnergyValueL;
- }
- double CElementClr::GetEnergyValueM()
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetEnergyValueM:can't genertate pointer."));
- return -1;
- }
- double fEnergyValueM = pElement->GetEnergyValueL();
- return fEnergyValueM;
- }
- double CElementClr::GetEnergyValueM(long a_nAtomNum)
- {
- double fEnergyValueM = CElement::GetEnergyValueL(a_nAtomNum);
- return fEnergyValueM;
- }
- bool CElementClr::GetEnergyValues(System::Collections::Generic::List<double>% a_listEnergy)
- {
-
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetEnergyValues:can't genertate pointer."));
- return false;
- }
- std::vector<double> listEngery = pElement->GetEnergyValues();
-
- for (auto dEnger : listEngery)
- {
- a_listEnergy.Add(dEnger);
- }
- return true;
- }
- bool CElementClr::GetEnergyValues(long a_nAtomNum,System::Collections::Generic::List<double> a_listEngergy)
- {
- CElementPtr pElement = GetElementPtr();
- ASSERT(pElement);
- if (!pElement)
- {
- LogErrorTrace(__FILE__, __LINE__, _T("GetEnergyValues:can't genertate pointer."));
- return false;
- }
- std::vector<double> listEngery = CElement::GetEnergyValues(a_nAtomNum);
- for (auto dEnger : listEngery)
- {
- a_listEngergy.Add(dEnger);
- }
- return true;
- }
- // atomic number validation
- bool CElementClr::IsValidAtomNum(long a_nAtomNum)
- {
- bool bRet = CElement::IsValidAtomNum(a_nAtomNum);
- return bRet;
- }
- }
|